diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2012-02-02 09:43:02 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2012-02-07 13:52:42 +0100 |
commit | 4f2d3d705c1ae7dce29254e2c4645c84e77a74d4 (patch) | |
tree | 7f525b04ca416995c309d49869ba53f1b2c9a016 /hw/qdev.c | |
parent | 7a7aae21ccab06606cee9aba846d2e30cb616763 (diff) | |
download | qemu-4f2d3d705c1ae7dce29254e2c4645c84e77a74d4.zip qemu-4f2d3d705c1ae7dce29254e2c4645c84e77a74d4.tar.gz qemu-4f2d3d705c1ae7dce29254e2c4645c84e77a74d4.tar.bz2 |
qdev: initialize properties via QOM
Similarly, use the object properties also to set the default
values of the qdev properties. This requires reordering
registration and initialization.
Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/qdev.c')
-rw-r--r-- | hw/qdev.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -86,11 +86,11 @@ void qdev_set_parent_bus(DeviceState *dev, BusState *bus) dev->parent_bus = bus; QTAILQ_INSERT_HEAD(&bus->children, dev, sibling); - qdev_prop_set_defaults(dev, dev->parent_bus->info->props); for (prop = qdev_get_bus_info(dev)->props; prop && prop->name; prop++) { qdev_property_add_legacy(dev, prop, NULL); qdev_property_add_static(dev, prop, NULL); } + qdev_prop_set_defaults(dev, dev->parent_bus->info->props); } /* Create a new device. This only initializes the device state structure @@ -612,13 +612,13 @@ static void device_initfn(Object *obj) dev->instance_id_alias = -1; dev->state = DEV_STATE_CREATED; - qdev_prop_set_defaults(dev, qdev_get_props(dev)); for (prop = qdev_get_props(dev); prop && prop->name; prop++) { qdev_property_add_legacy(dev, prop, NULL); qdev_property_add_static(dev, prop, NULL); } object_property_add_str(OBJECT(dev), "type", qdev_get_type, NULL, NULL); + qdev_prop_set_defaults(dev, qdev_get_props(dev)); } /* Unlink device from bus and free the structure. */ |