From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:39469) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TuXPN-0002IC-AR for qemu-devel@nongnu.org; Sun, 13 Jan 2013 18:56:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TuXPE-0001dY-C7 for qemu-devel@nongnu.org; Sun, 13 Jan 2013 18:56:09 -0500 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Mon, 14 Jan 2013 00:54:57 +0100 Message-Id: <1358121304-21345-4-git-send-email-afaerber@suse.de> In-Reply-To: <1358121304-21345-1-git-send-email-afaerber@suse.de> References: <1358121304-21345-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] [RFC ppc-next v3 03/10] macio: QOM'ify some more List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, agraf@suse.de, =?UTF-8?q?Andreas=20F=C3=A4rber?= , armbru@redhat.com Move bar MemoryRegion initialization to an instance_init. Signed-off-by: Andreas F=C3=A4rber --- hw/macio.c | 25 +++++++++++++++++++------ 1 Datei ge=C3=A4ndert, 19 Zeilen hinzugef=C3=BCgt(+), 6 Zeilen entfernt(= -) diff --git a/hw/macio.c b/hw/macio.c index f01fc57..770e3bd 100644 --- a/hw/macio.c +++ b/hw/macio.c @@ -27,9 +27,15 @@ #include "pci/pci.h" #include "escc.h" =20 +#define TYPE_MACIO "macio" +#define MACIO(obj) OBJECT_CHECK(MacIOState, (obj), TYPE_MACIO) + typedef struct MacIOState { + /*< private >*/ PCIDevice parent; + /*< public >*/ + int is_oldworld; MemoryRegion bar; MemoryRegion *pic_mem; @@ -46,7 +52,6 @@ static void macio_bar_setup(MacIOState *macio_state) int i; MemoryRegion *bar =3D &macio_state->bar; =20 - memory_region_init(bar, "macio", 0x80000); if (macio_state->pic_mem) { if (macio_state->is_oldworld) { /* Heathrow PIC */ @@ -81,6 +86,13 @@ static int macio_initfn(PCIDevice *d) return 0; } =20 +static void macio_instance_init(Object *obj) +{ + MacIOState *s =3D MACIO(obj); + + memory_region_init(&s->bar, "macio", 0x80000); +} + static void macio_class_init(ObjectClass *klass, void *data) { PCIDeviceClass *k =3D PCI_DEVICE_CLASS(klass); @@ -90,16 +102,17 @@ static void macio_class_init(ObjectClass *klass, voi= d *data) k->class_id =3D PCI_CLASS_OTHERS << 8; } =20 -static const TypeInfo macio_info =3D { - .name =3D "macio", +static const TypeInfo macio_type_info =3D { + .name =3D TYPE_MACIO, .parent =3D TYPE_PCI_DEVICE, .instance_size =3D sizeof(MacIOState), + .instance_init =3D macio_instance_init, .class_init =3D macio_class_init, }; =20 static void macio_register_types(void) { - type_register_static(&macio_info); + type_register_static(&macio_type_info); } =20 type_init(macio_register_types) @@ -114,9 +127,9 @@ void macio_init (PCIBus *bus, int device_id, int is_o= ldworld, MacIOState *macio_state; int i; =20 - d =3D pci_create_simple(bus, -1, "macio"); + d =3D pci_create_simple(bus, -1, TYPE_MACIO); =20 - macio_state =3D DO_UPCAST(MacIOState, parent, d); + macio_state =3D MACIO(d); macio_state->is_oldworld =3D is_oldworld; macio_state->pic_mem =3D pic_mem; macio_state->dbdma_mem =3D dbdma_mem; --=20 1.7.10.4