summaryrefslogtreecommitdiffstats
path: root/hw/qdev-properties.c
diff options
context:
space:
mode:
authorGerd Hoffmann2009-12-08 13:11:33 +0100
committerAnthony Liguori2009-12-12 14:59:40 +0100
commit458fb6792d834474c6b289738b6bf9601fad87ab (patch)
tree52267a01f5e1349ff53f0ce514efbdd0263b0c7f /hw/qdev-properties.c
parentkvm: x86: Save/restore exception_index (diff)
downloadqemu-458fb6792d834474c6b289738b6bf9601fad87ab.tar.gz
qemu-458fb6792d834474c6b289738b6bf9601fad87ab.tar.xz
qemu-458fb6792d834474c6b289738b6bf9601fad87ab.zip
qdev: make compat stuff more generic
This patch renames the compat properties into global properties and makes them more generic. The compatibility stuff is only one of multiple possible users now. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/qdev-properties.c')
-rw-r--r--hw/qdev-properties.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/hw/qdev-properties.c b/hw/qdev-properties.c
index bda6699383..fe106bd6a6 100644
--- a/hw/qdev-properties.c
+++ b/hw/qdev-properties.c
@@ -593,21 +593,27 @@ void qdev_prop_set_defaults(DeviceState *dev, Property *props)
}
}
-static CompatProperty *compat_props;
+static QTAILQ_HEAD(, GlobalProperty) global_props = QTAILQ_HEAD_INITIALIZER(global_props);
-void qdev_prop_register_compat(CompatProperty *props)
+void qdev_prop_register_global(GlobalProperty *prop)
{
- compat_props = props;
+ QTAILQ_INSERT_TAIL(&global_props, prop, next);
}
-void qdev_prop_set_compat(DeviceState *dev)
+void qdev_prop_register_global_list(GlobalProperty *props)
{
- CompatProperty *prop;
+ int i;
- if (!compat_props) {
- return;
+ for (i = 0; props[i].driver != NULL; i++) {
+ qdev_prop_register_global(props+i);
}
- for (prop = compat_props; prop->driver != NULL; prop++) {
+}
+
+void qdev_prop_set_globals(DeviceState *dev)
+{
+ GlobalProperty *prop;
+
+ QTAILQ_FOREACH(prop, &global_props, next) {
if (strcmp(dev->info->name, prop->driver) != 0) {
continue;
}