From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37250) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zz9Wx-0003Ir-FE for qemu-devel@nongnu.org; Wed, 18 Nov 2015 15:40:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zz9Ww-0005cy-5j for qemu-devel@nongnu.org; Wed, 18 Nov 2015 15:40:39 -0500 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Wed, 18 Nov 2015 21:39:33 +0100 Message-Id: <1447879178-5440-6-git-send-email-afaerber@suse.de> In-Reply-To: <1447879178-5440-1-git-send-email-afaerber@suse.de> References: <1447879178-5440-1-git-send-email-afaerber@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PULL 05/10] ppc: Convert spapr code to use object property iterators List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: "open list:PowerPC" , Alexander Graf , =?UTF-8?q?Andreas=20F=C3=A4rber?= , David Gibson From: "Daniel P. Berrange" 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 Tested-by: Pavel Fedin Signed-off-by: Andreas F=C3=A4rber --- hw/ppc/spapr_drc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c index 5d6ea7c..f34bc04 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 =3D 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 =3D container_get(object_get_root(), DRC_CONTAINER_PA= TH); =20 - QTAILQ_FOREACH(prop, &root_container->properties, node) { + iter =3D object_property_iter_init(root_container); + while ((prop =3D 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 =3D g_string_insert_len(drc_types, -1, "\0", 1); } + object_property_iter_free(iter); =20 /* now write the drc count into the space we reserved at the * beginning of the arrays previously --=20 2.6.2