From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40916) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V1SZd-00088T-Te for qemu-devel@nongnu.org; Mon, 22 Jul 2013 22:43:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V1SZb-0000rd-Lh for qemu-devel@nongnu.org; Mon, 22 Jul 2013 22:43:37 -0400 Received: from cantor2.suse.de ([195.135.220.15]:49468 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V1SZb-0000rK-FS for qemu-devel@nongnu.org; Mon, 22 Jul 2013 22:43:35 -0400 Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id F2A0FA4EB7 for ; Tue, 23 Jul 2013 04:43:34 +0200 (CEST) From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Tue, 23 Jul 2013 04:43:13 +0200 Message-Id: <1374547404-11700-6-git-send-email-afaerber@suse.de> In-Reply-To: <1374547404-11700-1-git-send-email-afaerber@suse.de> References: <1374547404-11700-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] [PATCH v2 05/16] misc/a9scu: QOM cleanups List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org From: Andreas F=C3=A4rber Rename A9SCUState::busdev field to parent_obj and turn realizefn into an instance_init function to allow early MMIO mapping. Reviewed-by: Peter Crosthwaite Signed-off-by: Andreas F=C3=A4rber --- hw/misc/a9scu.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/hw/misc/a9scu.c b/hw/misc/a9scu.c index 601b573..2661014 100644 --- a/hw/misc/a9scu.c +++ b/hw/misc/a9scu.c @@ -13,7 +13,10 @@ /* A9MP private memory region. */ =20 typedef struct A9SCUState { - SysBusDevice busdev; + /*< private >*/ + SysBusDevice parent_obj; + /*< public >*/ + MemoryRegion iomem; uint32_t control; uint32_t status; @@ -114,12 +117,12 @@ static void a9_scu_reset(DeviceState *dev) s->control =3D 0; } =20 -static void a9_scu_realize(DeviceState *dev, Error ** errp) +static void a9_scu_init(Object *obj) { - A9SCUState *s =3D A9_SCU(dev); - SysBusDevice *sbd =3D SYS_BUS_DEVICE(dev); + A9SCUState *s =3D A9_SCU(obj); + SysBusDevice *sbd =3D SYS_BUS_DEVICE(obj); =20 - memory_region_init_io(&s->iomem, OBJECT(dev), &a9_scu_ops, s, + memory_region_init_io(&s->iomem, obj, &a9_scu_ops, s, "a9-scu", 0x100); sysbus_init_mmio(sbd, &s->iomem); } @@ -144,7 +147,6 @@ static void a9_scu_class_init(ObjectClass *klass, voi= d *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); =20 - dc->realize =3D a9_scu_realize; dc->props =3D a9_scu_properties; dc->vmsd =3D &vmstate_a9_scu; dc->reset =3D a9_scu_reset; @@ -154,6 +156,7 @@ static const TypeInfo a9_scu_info =3D { .name =3D TYPE_A9_SCU, .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(A9SCUState), + .instance_init =3D a9_scu_init, .class_init =3D a9_scu_class_init, }; =20 --=20 1.8.1.4