From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55797) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V3t09-0002C2-J8 for qemu-devel@nongnu.org; Mon, 29 Jul 2013 15:21:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V3t03-0002Dh-VF for qemu-devel@nongnu.org; Mon, 29 Jul 2013 15:21:01 -0400 Received: from cantor2.suse.de ([195.135.220.15]:53241 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V3t03-0002Db-Lq for qemu-devel@nongnu.org; Mon, 29 Jul 2013 15:20:55 -0400 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Mon, 29 Jul 2013 21:17:58 +0200 Message-Id: <1375125630-24869-22-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 021/173] onenand: QOM cast cleanup List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , =?UTF-8?q?Andreas=20F=C3=A4rber?= , Stefan Hajnoczi Introduce a type constant, use QOM casts and rename the parent field and prepare for QOM realize. Reviewed-by: Hu Tao Signed-off-by: Andreas F=C3=A4rber --- hw/block/onenand.c | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/hw/block/onenand.c b/hw/block/onenand.c index 2776f64..aae9ee7 100644 --- a/hw/block/onenand.c +++ b/hw/block/onenand.c @@ -34,8 +34,12 @@ /* Fixed */ #define BLOCK_SHIFT (PAGE_SHIFT + 6) =20 -typedef struct { - SysBusDevice busdev; +#define TYPE_ONE_NAND "onenand" +#define ONE_NAND(obj) OBJECT_CHECK(OneNANDState, (obj), TYPE_ONE_NAND) + +typedef struct OneNANDState { + SysBusDevice parent_obj; + struct { uint16_t man; uint16_t dev; @@ -226,7 +230,9 @@ static void onenand_reset(OneNANDState *s, int cold) =20 static void onenand_system_reset(DeviceState *dev) { - onenand_reset(FROM_SYSBUS(OneNANDState, SYS_BUS_DEVICE(dev)), 1); + OneNANDState *s =3D ONE_NAND(dev); + + onenand_reset(s, 1); } =20 static inline int onenand_load_main(OneNANDState *s, int sec, int secn, @@ -757,11 +763,13 @@ static const MemoryRegionOps onenand_ops =3D { .endianness =3D DEVICE_NATIVE_ENDIAN, }; =20 -static int onenand_initfn(SysBusDevice *dev) +static int onenand_initfn(SysBusDevice *sbd) { - OneNANDState *s =3D (OneNANDState *)dev; + DeviceState *dev =3D DEVICE(sbd); + OneNANDState *s =3D ONE_NAND(dev); uint32_t size =3D 1 << (24 + ((s->id.dev >> 4) & 7)); void *ram; + s->base =3D (hwaddr)-1; s->rdy =3D NULL; s->blocks =3D size >> BLOCK_SHIFT; @@ -794,9 +802,9 @@ static int onenand_initfn(SysBusDevice *dev) s->data[1][0] =3D ram + ((0x0200 + (1 << (PAGE_SHIFT - 1))) << s->sh= ift); s->data[1][1] =3D ram + ((0x8010 + (1 << (PAGE_SHIFT - 6))) << s->sh= ift); onenand_mem_setup(s); - sysbus_init_irq(dev, &s->intr); - sysbus_init_mmio(dev, &s->container); - vmstate_register(&dev->qdev, + sysbus_init_irq(sbd, &s->intr); + sysbus_init_mmio(sbd, &s->container); + vmstate_register(dev, ((s->shift & 0x7f) << 24) | ((s->id.man & 0xff) << 16) | ((s->id.dev & 0xff) << 8) @@ -825,7 +833,7 @@ static void onenand_class_init(ObjectClass *klass, vo= id *data) } =20 static const TypeInfo onenand_info =3D { - .name =3D "onenand", + .name =3D TYPE_ONE_NAND, .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(OneNANDState), .class_init =3D onenand_class_init, @@ -838,7 +846,9 @@ static void onenand_register_types(void) =20 void *onenand_raw_otp(DeviceState *onenand_device) { - return FROM_SYSBUS(OneNANDState, SYS_BUS_DEVICE(onenand_device))->ot= p; + OneNANDState *s =3D ONE_NAND(onenand_device); + + return s->otp; } =20 type_init(onenand_register_types) --=20 1.8.1.4