mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
qdev: Legacy properties are now read-only
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
9e4d9620c4
commit
03ff777048
3 changed files with 3 additions and 38 deletions
|
@ -578,31 +578,6 @@ static void qdev_get_legacy_property(Object *obj, Visitor *v, void *opaque,
|
|||
visit_type_str(v, &ptr, name, errp);
|
||||
}
|
||||
|
||||
static void qdev_set_legacy_property(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
Error *local_err = NULL;
|
||||
char *ptr = NULL;
|
||||
int ret;
|
||||
|
||||
if (dev->realized) {
|
||||
qdev_prop_set_after_realize(dev, name, errp);
|
||||
return;
|
||||
}
|
||||
|
||||
visit_type_str(v, &ptr, name, &local_err);
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
return;
|
||||
}
|
||||
|
||||
ret = prop->info->parse(dev, prop, ptr);
|
||||
error_set_from_qdev_prop_error(errp, ret, dev, prop, ptr);
|
||||
g_free(ptr);
|
||||
}
|
||||
|
||||
/**
|
||||
* @qdev_add_legacy_property - adds a legacy property
|
||||
*
|
||||
|
@ -618,8 +593,7 @@ void qdev_property_add_legacy(DeviceState *dev, Property *prop,
|
|||
gchar *name, *type;
|
||||
|
||||
/* Register pointer properties as legacy properties */
|
||||
if (!prop->info->print && !prop->info->parse &&
|
||||
(prop->info->set || prop->info->get)) {
|
||||
if (!prop->info->print && prop->info->get) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -629,7 +603,7 @@ void qdev_property_add_legacy(DeviceState *dev, Property *prop,
|
|||
|
||||
object_property_add(OBJECT(dev), name, type,
|
||||
prop->info->print ? qdev_get_legacy_property : prop->info->get,
|
||||
prop->info->parse ? qdev_set_legacy_property : prop->info->set,
|
||||
NULL,
|
||||
NULL,
|
||||
prop, errp);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue