aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hw/core/qdev.c6
-rw-r--r--include/hw/qdev-core.h2
2 files changed, 7 insertions, 1 deletions
diff --git a/hw/core/qdev.c b/hw/core/qdev.c
index d510340..3769a2b 100644
--- a/hw/core/qdev.c
+++ b/hw/core/qdev.c
@@ -970,7 +970,7 @@ static void device_initfn(Object *obj)
QLIST_INIT(&dev->gpios);
}
-static void device_post_init(Object *obj)
+void object_apply_compat_props(Object *obj)
{
if (object_dynamic_cast(qdev_get_machine(), TYPE_MACHINE)) {
MachineState *m = MACHINE(qdev_get_machine());
@@ -982,7 +982,11 @@ static void device_post_init(Object *obj)
}
object_apply_global_props(obj, mc->compat_props, &error_abort);
}
+}
+static void device_post_init(Object *obj)
+{
+ object_apply_compat_props(obj);
qdev_prop_set_globals(DEVICE(obj));
}
diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h
index 84e612f..5989fb6 100644
--- a/include/hw/qdev-core.h
+++ b/include/hw/qdev-core.h
@@ -422,6 +422,8 @@ const char *qdev_fw_name(DeviceState *dev);
Object *qdev_get_machine(void);
+void object_apply_compat_props(Object *obj);
+
/* FIXME: make this a link<> */
void qdev_set_parent_bus(DeviceState *dev, BusState *bus);