qdev: Legacy properties are just strings
prop->info->legacy_name is still used by "-device foo,?". Reviewed-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
parent
03ff777048
commit
7ce7ffe027
@ -590,7 +590,7 @@ static void qdev_get_legacy_property(Object *obj, Visitor *v, void *opaque,
|
||||
void qdev_property_add_legacy(DeviceState *dev, Property *prop,
|
||||
Error **errp)
|
||||
{
|
||||
gchar *name, *type;
|
||||
gchar *name;
|
||||
|
||||
/* Register pointer properties as legacy properties */
|
||||
if (!prop->info->print && prop->info->get) {
|
||||
@ -598,16 +598,12 @@ void qdev_property_add_legacy(DeviceState *dev, Property *prop,
|
||||
}
|
||||
|
||||
name = g_strdup_printf("legacy-%s", prop->name);
|
||||
type = g_strdup_printf("legacy<%s>",
|
||||
prop->info->legacy_name ?: prop->info->name);
|
||||
|
||||
object_property_add(OBJECT(dev), name, type,
|
||||
object_property_add(OBJECT(dev), name, "str",
|
||||
prop->info->print ? qdev_get_legacy_property : prop->info->get,
|
||||
NULL,
|
||||
NULL,
|
||||
prop, errp);
|
||||
|
||||
g_free(type);
|
||||
g_free(name);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user