From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60684) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WKwJR-000297-7o for qemu-devel@nongnu.org; Tue, 04 Mar 2014 15:51:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WKwJK-0008Te-Ur for qemu-devel@nongnu.org; Tue, 04 Mar 2014 15:51:41 -0500 Received: from cantor2.suse.de ([195.135.220.15]:38268 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WKwJK-0008TK-Ob for qemu-devel@nongnu.org; Tue, 04 Mar 2014 15:51:34 -0500 Message-ID: <53163CD4.6060607@suse.de> Date: Tue, 04 Mar 2014 21:51:32 +0100 From: =?ISO-8859-15?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: <517f7913f652bc726efde018dd329b3319cce702.1392164348.git.peter.crosthwaite@xilinx.com> In-Reply-To: <517f7913f652bc726efde018dd329b3319cce702.1392164348.git.peter.crosthwaite@xilinx.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH qom-next v1 4/6] misc: max111x: QOM casting sweep List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Crosthwaite , qemu-devel@nongnu.org Cc: peter.maydell@linaro.org Am 12.02.2014 01:29, schrieb Peter Crosthwaite: > Define and use QOM cast macro. Removes some usages of legacy casting > systems. >=20 > Signed-off-by: Peter Crosthwaite > --- >=20 > hw/misc/max111x.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) >=20 > diff --git a/hw/misc/max111x.c b/hw/misc/max111x.c > index 9e50e7e..8c78979 100644 > --- a/hw/misc/max111x.c > +++ b/hw/misc/max111x.c > @@ -24,6 +24,9 @@ typedef struct { > =20 > #define TYPE_MAX_111X "max111x" > =20 > +#define MAX_111X(obj) \ > + OBJECT_CHECK(MAX111xState, (obj), TYPE_MAX_111X) > + > #define TYPE_MAX_1110 "max1110" > #define TYPE_MAX_1111 "max1111" > =20 > @@ -97,7 +100,7 @@ static void max111x_write(MAX111xState *s, uint32_t = value) > =20 > static uint32_t max111x_transfer(SSISlave *dev, uint32_t value) > { > - MAX111xState *s =3D FROM_SSI_SLAVE(MAX111xState, dev); > + MAX111xState *s =3D MAX_111X(dev); > max111x_write(s, value); > return max111x_read(s); > } > @@ -122,7 +125,7 @@ static const VMStateDescription vmstate_max111x =3D= { > =20 > static int max111x_init(SSISlave *dev, int inputs) > { > - MAX111xState *s =3D FROM_SSI_SLAVE(MAX111xState, dev); > + MAX111xState *s =3D MAX_111X(dev); > =20 > qdev_init_gpio_out(DEVICE(dev), &s->interrupt, 1); > =20 > @@ -154,7 +157,7 @@ static int max1111_init(SSISlave *dev) > =20 > void max111x_set_input(DeviceState *dev, int line, uint8_t value) > { > - MAX111xState *s =3D FROM_SSI_SLAVE(MAX111xState, SSI_SLAVE_FROM_QD= EV(dev)); > + MAX111xState *s =3D MAX_111X(dev); > assert(line >=3D 0 && line < s->inputs); > s->input[line] =3D value; > } Adding: diff --git a/hw/misc/max111x.c b/hw/misc/max111x.c index 8c78979..7aacfff 100644 --- a/hw/misc/max111x.c +++ b/hw/misc/max111x.c @@ -13,7 +13,8 @@ #include "hw/ssi.h" typedef struct { - SSISlave ssidev; + SSISlave parent_obj; + qemu_irq interrupt; uint8_t tb1, rb2, rb3; int cycle; @@ -111,7 +112,7 @@ static const VMStateDescription vmstate_max111x =3D { .minimum_version_id =3D 1, .minimum_version_id_old =3D 1, .fields =3D (VMStateField[]) { - VMSTATE_SSI_SLAVE(ssidev, MAX111xState), + VMSTATE_SSI_SLAVE(parent_obj, MAX111xState), VMSTATE_UINT8(tb1, MAX111xState), VMSTATE_UINT8(rb2, MAX111xState), VMSTATE_UINT8(rb3, MAX111xState), Andreas --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 16746 AG N=FCrnbe= rg