[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 20/26] qdev: move instance properties to class properties
From: |
Marc-André Lureau |
Subject: |
[PATCH 20/26] qdev: move instance properties to class properties |
Date: |
Sun, 1 Dec 2019 15:15:25 +0400 |
Signed-off-by: Marc-André Lureau <address@hidden>
---
hw/core/qdev.c | 24 +++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)
diff --git a/hw/core/qdev.c b/hw/core/qdev.c
index 9e70b32c4b..dabf927eaa 100644
--- a/hw/core/qdev.c
+++ b/hw/core/qdev.c
@@ -944,14 +944,6 @@ static void device_initfn(Object *obj)
dev->realized = false;
dev->allow_unplug_during_migration = false;
- object_property_add_bool(obj, "realized",
- device_get_realized, device_set_realized, NULL);
- object_property_add_bool(obj, "hotpluggable",
- device_get_hotpluggable, NULL, NULL);
- object_property_add_bool(obj, "hotplugged",
- device_get_hotplugged, NULL,
- &error_abort);
-
class = object_get_class(OBJECT(dev));
do {
for (prop = DEVICE_CLASS(class)->props; prop && prop->name; prop++) {
@@ -961,9 +953,6 @@ static void device_initfn(Object *obj)
class = object_class_get_parent(class);
} while (class != object_class_by_name(TYPE_DEVICE));
- object_property_add_link(OBJECT(dev), "parent_bus", TYPE_BUS,
- (Object **)&dev->parent_bus, NULL, 0,
- &error_abort);
QLIST_INIT(&dev->gpios);
}
@@ -1049,6 +1038,19 @@ static void device_class_init(ObjectClass *class, void
*data)
*/
dc->hotpluggable = true;
dc->user_creatable = true;
+
+ object_class_property_add_bool(class, "realized",
+ device_get_realized, device_set_realized,
+ &error_abort);
+ object_class_property_add_bool(class, "hotpluggable",
+ device_get_hotpluggable, NULL,
+ &error_abort);
+ object_class_property_add_bool(class, "hotplugged",
+ device_get_hotplugged, NULL,
+ &error_abort);
+ object_class_property_add_link(class, "parent_bus", TYPE_BUS,
+ offsetof(DeviceState, parent_bus), NULL, 0,
+ &error_abort);
}
void device_class_set_props(DeviceClass *dc, Property *props)
--
2.24.0
- [PATCH 09/26] qstring: add qstring_free(), (continued)
- [PATCH 09/26] qstring: add qstring_free(), Marc-André Lureau, 2019/12/01
- [PATCH 10/26] object: add object_property_set_defaut_{bool, str, int, uint}(), Marc-André Lureau, 2019/12/01
- [PATCH 11/26] object: do not free class properties, Marc-André Lureau, 2019/12/01
- [PATCH 12/26] object: check strong flag with &, Marc-André Lureau, 2019/12/01
- [PATCH 13/26] object: rename link "child" to "target", Marc-André Lureau, 2019/12/01
- [PATCH 14/26] object: add direct link flag, Marc-André Lureau, 2019/12/01
- [PATCH 15/26] object: express const link with link property, Marc-André Lureau, 2019/12/01
- [PATCH 16/26] object: add object_class_property_add_link(), Marc-André Lureau, 2019/12/01
- [PATCH 17/26] object: release all props, Marc-André Lureau, 2019/12/01
- [PATCH 18/26] object: return self in object_ref(), Marc-André Lureau, 2019/12/01
- [PATCH 20/26] qdev: move instance properties to class properties,
Marc-André Lureau <=
- [PATCH 21/26] qdev: register properties as class properties, Marc-André Lureau, 2019/12/01
- [PATCH 19/26] qdev: set properties with device_class_set_props(), Marc-André Lureau, 2019/12/01
- [PATCH 22/26] vl: print default value in object help, Marc-André Lureau, 2019/12/01
- [PATCH 23/26] qom: simplify qmp_device_list_properties(), Marc-André Lureau, 2019/12/01
- [PATCH 24/26] qom: introduce object_property_help(), Marc-André Lureau, 2019/12/01
- [PATCH 25/26] qapi/qmp: add ObjectPropertyInfo.default-value, Marc-André Lureau, 2019/12/01
- [PATCH 26/26] qdev: use object_property_help(), Marc-André Lureau, 2019/12/01