From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56221) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V3t0e-0003EX-Q4 for qemu-devel@nongnu.org; Mon, 29 Jul 2013 15:21:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V3t0Y-0002PR-K1 for qemu-devel@nongnu.org; Mon, 29 Jul 2013 15:21:32 -0400 Received: from cantor2.suse.de ([195.135.220.15]:53337 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V3t0Y-0002PF-Am for qemu-devel@nongnu.org; Mon, 29 Jul 2013 15:21:26 -0400 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Mon, 29 Jul 2013 21:18:28 +0200 Message-Id: <1375125630-24869-52-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 051/173] stellaris: QOM cast cleanup for gptm_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 a2b6b17..9a7fafb 100644 --- a/hw/arm/stellaris.c +++ b/hw/arm/stellaris.c @@ -43,8 +43,13 @@ typedef const struct { =20 /* General purpose timer module. */ =20 +#define TYPE_STELLARIS_GPTM "stellaris-gptm" +#define STELLARIS_GPTM(obj) \ + OBJECT_CHECK(gptm_state, (obj), TYPE_STELLARIS_GPTM) + typedef struct gptm_state { - SysBusDevice busdev; + SysBusDevice parent_obj; + MemoryRegion iomem; uint32_t config; uint32_t mode[2]; @@ -300,21 +305,22 @@ static const VMStateDescription vmstate_stellaris_g= ptm =3D { } }; =20 -static int stellaris_gptm_init(SysBusDevice *dev) +static int stellaris_gptm_init(SysBusDevice *sbd) { - gptm_state *s =3D FROM_SYSBUS(gptm_state, dev); + DeviceState *dev =3D DEVICE(sbd); + gptm_state *s =3D STELLARIS_GPTM(dev); =20 - sysbus_init_irq(dev, &s->irq); - qdev_init_gpio_out(&dev->qdev, &s->trigger, 1); + sysbus_init_irq(sbd, &s->irq); + qdev_init_gpio_out(dev, &s->trigger, 1); =20 memory_region_init_io(&s->iomem, OBJECT(s), &gptm_ops, s, "gptm", 0x1000); - sysbus_init_mmio(dev, &s->iomem); + sysbus_init_mmio(sbd, &s->iomem); =20 s->opaque[0] =3D s->opaque[1] =3D s; s->timer[0] =3D qemu_new_timer_ns(vm_clock, gptm_tick, &s->opaque[0]= ); s->timer[1] =3D qemu_new_timer_ns(vm_clock, gptm_tick, &s->opaque[1]= ); - vmstate_register(&dev->qdev, -1, &vmstate_stellaris_gptm, s); + vmstate_register(dev, -1, &vmstate_stellaris_gptm, s); return 0; } =20 @@ -1215,7 +1221,7 @@ static void stellaris_init(const char *kernel_filen= ame, const char *cpu_model, } for (i =3D 0; i < 4; i++) { if (board->dc2 & (0x10000 << i)) { - dev =3D sysbus_create_simple("stellaris-gptm", + dev =3D sysbus_create_simple(TYPE_STELLARIS_GPTM, 0x40030000 + i * 0x1000, pic[timer_irq[i]]); /* TODO: This is incorrect, but we get away with it because @@ -1371,7 +1377,7 @@ static void stellaris_gptm_class_init(ObjectClass *= klass, void *data) } =20 static const TypeInfo stellaris_gptm_info =3D { - .name =3D "stellaris-gptm", + .name =3D TYPE_STELLARIS_GPTM, .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(gptm_state), .class_init =3D stellaris_gptm_class_init, --=20 1.8.1.4