From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57024) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZuO9n-0004kE-Mg for qemu-devel@nongnu.org; Thu, 05 Nov 2015 12:17:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZuO9k-0003Ut-5w for qemu-devel@nongnu.org; Thu, 05 Nov 2015 12:17:03 -0500 References: <1444739866-14798-1-git-send-email-berrange@redhat.com> <1444739866-14798-5-git-send-email-berrange@redhat.com> From: =?UTF-8?Q?Andreas_F=c3=a4rber?= Message-ID: <563B8F09.2080603@suse.de> Date: Thu, 5 Nov 2015 18:16:57 +0100 MIME-Version: 1.0 In-Reply-To: <1444739866-14798-5-git-send-email-berrange@redhat.com> Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v4 4/7] ppc: convert spapr code to use object property iterators List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Daniel P. Berrange" , qemu-devel@nongnu.org Cc: qemu-ppc , Paolo Bonzini , Pavel Fedin , Markus Armbruster , David Gibson Am 13.10.2015 um 14:37 schrieb Daniel P. Berrange: > Stop directly accessing the Object "properties" field data Object::properties data structure for short. > structure and instead use the formal object property iterator > APIs. This insulates the code from future data structure > changes in the Object struct. >=20 > Signed-off-by: Daniel P. Berrange > --- > hw/ppc/spapr_drc.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) >=20 > 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_= PATH); > =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 Reviewed-by: Andreas F=E4rber CC'ing PPC for ack. Regards, Andreas --=20 SUSE Linux GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Felix Imend=F6rffer, Jane Smithard, Graham Norton; HRB 21284 (AG N=FC= rnberg)