From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38252) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V35L8-00033D-7r for qemu-devel@nongnu.org; Sat, 27 Jul 2013 10:19:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V35L1-0002AQ-0g for qemu-devel@nongnu.org; Sat, 27 Jul 2013 10:19:22 -0400 Received: from cantor2.suse.de ([195.135.220.15]:37150 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V35L0-0002AL-QK for qemu-devel@nongnu.org; Sat, 27 Jul 2013 10:19:14 -0400 Message-ID: <51F3D6DD.60607@suse.de> Date: Sat, 27 Jul 2013 16:19:09 +0200 From: =?UTF-8?B?QW5kcmVhcyBGw6RyYmVy?= MIME-Version: 1.0 References: <1374652104-26756-1-git-send-email-afaerber@suse.de> <1374652104-26756-16-git-send-email-afaerber@suse.de> In-Reply-To: <1374652104-26756-16-git-send-email-afaerber@suse.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH qom-next for-1.6 15/29] pxa2xx: QOM'ify PXA2xxI2CState List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Peter Maydell , Paul Brook Am 24.07.2013 09:48, schrieb Andreas F=C3=A4rber: > Signed-off-by: Andreas F=C3=A4rber > --- > hw/arm/pxa2xx.c | 26 +++++++++++++++++--------- > 1 file changed, 17 insertions(+), 9 deletions(-) >=20 > diff --git a/hw/arm/pxa2xx.c b/hw/arm/pxa2xx.c > index 6548338..ab145ee 100644 > --- a/hw/arm/pxa2xx.c > +++ b/hw/arm/pxa2xx.c > @@ -1224,8 +1224,15 @@ typedef struct { > PXA2xxI2CState *host; > } PXA2xxI2CSlaveState; > =20 > +#define TYPE_PXA2XX_I2C "pxa2xx_i2c" > +#define PXA2XX_I2C(obj) \ > + OBJECT_CHECK(PXA2xxI2CState, (obj), TYPE_PXA2XX_I2C) > + > struct PXA2xxI2CState { > - SysBusDevice busdev; > + /*< private >*/ > + SysBusDevice parent_obj; > + /*< public >*/ > + > MemoryRegion iomem; > PXA2xxI2CSlaveState *slave; > i2c_bus *bus; > @@ -1473,7 +1480,7 @@ PXA2xxI2CState *pxa2xx_i2c_init(hwaddr base, > SysBusDevice *i2c_dev; > PXA2xxI2CState *s; > =20 > - i2c_dev =3D SYS_BUS_DEVICE(qdev_create(NULL, "pxa2xx_i2c")); > + i2c_dev =3D SYS_BUS_DEVICE(qdev_create(NULL, TYPE_PXA2XX_I2C)); > qdev_prop_set_uint32(&i2c_dev->qdev, "size", region_size + 1); > qdev_prop_set_uint32(&i2c_dev->qdev, "offset", base & region_size)= ; > =20 > @@ -1482,7 +1489,7 @@ PXA2xxI2CState *pxa2xx_i2c_init(hwaddr base, > sysbus_mmio_map(i2c_dev, 0, base & ~region_size); > sysbus_connect_irq(i2c_dev, 0, irq); > =20 > - s =3D FROM_SYSBUS(PXA2xxI2CState, i2c_dev); > + s =3D PXA2XX_I2C(i2c_dev); > /* FIXME: Should the slave device really be on a separate bus? */ > dev =3D i2c_create_slave(i2c_init_bus(NULL, "dummy"), "pxa2xx-i2c-= slave", 0); > s->slave =3D FROM_I2C_SLAVE(PXA2xxI2CSlaveState, I2C_SLAVE(dev)); [snip] Needs the following addition. Andreas diff --git a/hw/arm/pxa2xx.c b/hw/arm/pxa2xx.c index ab145ee..ec3ac58 100644 --- a/hw/arm/pxa2xx.c +++ b/hw/arm/pxa2xx.c @@ -1480,11 +1480,12 @@ PXA2xxI2CState *pxa2xx_i2c_init(hwaddr base, SysBusDevice *i2c_dev; PXA2xxI2CState *s; - i2c_dev =3D SYS_BUS_DEVICE(qdev_create(NULL, TYPE_PXA2XX_I2C)); - qdev_prop_set_uint32(&i2c_dev->qdev, "size", region_size + 1); - qdev_prop_set_uint32(&i2c_dev->qdev, "offset", base & region_size); + dev =3D qdev_create(NULL, TYPE_PXA2XX_I2C); + i2c_dev =3D SYS_BUS_DEVICE(dev); + qdev_prop_set_uint32(dev, "size", region_size + 1); + qdev_prop_set_uint32(dev, "offset", base & region_size); - qdev_init_nofail(&i2c_dev->qdev); + qdev_init_nofail(dev); sysbus_mmio_map(i2c_dev, 0, base & ~region_size); sysbus_connect_irq(i2c_dev, 0, irq); --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=C3=BCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=C3=B6rffer; HRB 16746 AG N=C3=BC= rnberg