summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2015-10-13 13:37:43 +0100
committerAndreas Färber <afaerber@suse.de>2015-11-18 21:13:49 +0100
commit9a842f7d3ce421b39c7edbfe2c47efeac5db6c28 (patch)
treea0b42c5301dca3c42abb940a07d695673138ce0c
parent2465bc564d39d9b62fa21b3e84313be3b32dbc16 (diff)
downloadfocaccia-qemu-9a842f7d3ce421b39c7edbfe2c47efeac5db6c28.tar.gz
focaccia-qemu-9a842f7d3ce421b39c7edbfe2c47efeac5db6c28.zip
ppc: Convert spapr code to use object property iterators
Stop directly accessing the Object::properties field data
structure and instead use the formal object property iterator
APIs. This insulates the code from future data structure
changes in the Object struct.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Tested-by: Pavel Fedin <p.fedin@samsung.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
-rw-r--r--hw/ppc/spapr_drc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c
index 5d6ea7ce41..f34bc04c48 100644
--- a/hw/ppc/spapr_drc.c
+++ b/hw/ppc/spapr_drc.c
@@ -657,6 +657,7 @@ int spapr_drc_populate_dt(void *fdt, int fdt_offset, Object *owner,
 {
     Object *root_container;
     ObjectProperty *prop;
+    ObjectPropertyIterator *iter;
     uint32_t drc_count = 0;
     GArray *drc_indexes, *drc_power_domains;
     GString *drc_names, *drc_types;
@@ -680,7 +681,8 @@ int spapr_drc_populate_dt(void *fdt, int fdt_offset, Object *owner,
      */
     root_container = container_get(object_get_root(), DRC_CONTAINER_PATH);
 
-    QTAILQ_FOREACH(prop, &root_container->properties, node) {
+    iter = object_property_iter_init(root_container);
+    while ((prop = object_property_iter_next(iter))) {
         Object *obj;
         sPAPRDRConnector *drc;
         sPAPRDRConnectorClass *drck;
@@ -721,6 +723,7 @@ int spapr_drc_populate_dt(void *fdt, int fdt_offset, Object *owner,
                                     spapr_drc_get_type_str(drc->type));
         drc_types = g_string_insert_len(drc_types, -1, "\0", 1);
     }
+    object_property_iter_free(iter);
 
     /* now write the drc count into the space we reserved at the
      * beginning of the arrays previously