summaryrefslogtreecommitdiff
path: root/hw/qdev-properties.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2009-12-08 13:11:33 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2009-12-12 07:59:40 -0600
commit458fb6792d834474c6b289738b6bf9601fad87ab (patch)
tree52267a01f5e1349ff53f0ce514efbdd0263b0c7f /hw/qdev-properties.c
parent4d6e3ac5d411c461d0fb4b1cd2ace854963c9e30 (diff)
downloadqemu-458fb6792d834474c6b289738b6bf9601fad87ab.tar.gz
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;
}