From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56229) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V3t0f-0003Fr-Ei for qemu-devel@nongnu.org; Mon, 29 Jul 2013 15:21:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V3t0Z-0002Pf-FA for qemu-devel@nongnu.org; Mon, 29 Jul 2013 15:21:33 -0400 Received: from cantor2.suse.de ([195.135.220.15]:53340 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V3t0Z-0002PY-5G for qemu-devel@nongnu.org; Mon, 29 Jul 2013 15:21:27 -0400 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Mon, 29 Jul 2013 21:18:29 +0200 Message-Id: <1375125630-24869-53-git-send-email-afaerber@suse.de> In-Reply-To: <1375125630-24869-1-git-send-email-afaerber@suse.de> References: <1375125630-24869-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 052/173] stellaris: QOM cast cleanup for stellaris_i2c_state List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Peter Maydell , =?UTF-8?q?Andreas=20F=C3=A4rber?= , Paul Brook Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas F=C3=A4rber --- hw/arm/stellaris.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c index 9a7fafb..05d1a0d 100644 --- a/hw/arm/stellaris.c +++ b/hw/arm/stellaris.c @@ -685,8 +685,13 @@ static int stellaris_sys_init(uint32_t base, qemu_ir= q irq, =20 /* I2C controller. */ =20 +#define TYPE_STELLARIS_I2C "stellaris-i2c" +#define STELLARIS_I2C(obj) \ + OBJECT_CHECK(stellaris_i2c_state, (obj), TYPE_STELLARIS_I2C) + typedef struct { - SysBusDevice busdev; + SysBusDevice parent_obj; + i2c_bus *bus; qemu_irq irq; MemoryRegion iomem; @@ -859,21 +864,22 @@ static const VMStateDescription vmstate_stellaris_i= 2c =3D { } }; =20 -static int stellaris_i2c_init(SysBusDevice * dev) +static int stellaris_i2c_init(SysBusDevice *sbd) { - stellaris_i2c_state *s =3D FROM_SYSBUS(stellaris_i2c_state, dev); + DeviceState *dev =3D DEVICE(sbd); + stellaris_i2c_state *s =3D STELLARIS_I2C(dev); i2c_bus *bus; =20 - sysbus_init_irq(dev, &s->irq); - bus =3D i2c_init_bus(&dev->qdev, "i2c"); + sysbus_init_irq(sbd, &s->irq); + bus =3D i2c_init_bus(dev, "i2c"); s->bus =3D bus; =20 memory_region_init_io(&s->iomem, OBJECT(s), &stellaris_i2c_ops, s, "i2c", 0x1000); - sysbus_init_mmio(dev, &s->iomem); + sysbus_init_mmio(sbd, &s->iomem); /* ??? For now we only implement the master interface. */ stellaris_i2c_reset(s); - vmstate_register(&dev->qdev, -1, &vmstate_stellaris_i2c, s); + vmstate_register(dev, -1, &vmstate_stellaris_i2c, s); return 0; } =20 @@ -1244,7 +1250,7 @@ static void stellaris_init(const char *kernel_filen= ame, const char *cpu_model, } =20 if (board->dc2 & (1 << 12)) { - dev =3D sysbus_create_simple("stellaris-i2c", 0x40020000, pic[8]= ); + dev =3D sysbus_create_simple(TYPE_STELLARIS_I2C, 0x40020000, pic= [8]); i2c =3D (i2c_bus *)qdev_get_child_bus(dev, "i2c"); if (board->peripherals & BP_OLED_I2C) { i2c_create_slave(i2c, "ssd0303", 0x3d); @@ -1363,7 +1369,7 @@ static void stellaris_i2c_class_init(ObjectClass *k= lass, void *data) } =20 static const TypeInfo stellaris_i2c_info =3D { - .name =3D "stellaris-i2c", + .name =3D TYPE_STELLARIS_I2C, .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(stellaris_i2c_state), .class_init =3D stellaris_i2c_class_init, --=20 1.8.1.4