From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:39467) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TuXPN-0002Ha-28 for qemu-devel@nongnu.org; Sun, 13 Jan 2013 18:56:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TuXPF-0001dn-I7 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:58 +0100 Message-Id: <1358121304-21345-5-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 04/10] macio: Delay qdev init until all fields are initialized 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 This turns macio_bar_setup() into an implementation detail of the qdev initfn, to be removed step by step. Signed-off-by: Andreas F=C3=A4rber --- hw/macio.c | 11 ++++++++--- 1 Datei ge=C3=A4ndert, 8 Zeilen hinzugef=C3=BCgt(+), 3 Zeilen entfernt(-= ) diff --git a/hw/macio.c b/hw/macio.c index 770e3bd..8b4b48d 100644 --- a/hw/macio.c +++ b/hw/macio.c @@ -82,7 +82,13 @@ static void macio_bar_setup(MacIOState *macio_state) =20 static int macio_initfn(PCIDevice *d) { + MacIOState *s =3D MACIO(d); + d->config[0x3d] =3D 0x01; // interrupt on pin 1 + + macio_bar_setup(s); + pci_register_bar(d, 0, PCI_BASE_ADDRESS_SPACE_MEMORY, &s->bar); + return 0; } =20 @@ -127,7 +133,7 @@ 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, TYPE_MACIO); + d =3D pci_create(bus, -1, TYPE_MACIO); =20 macio_state =3D MACIO(d); macio_state->is_oldworld =3D is_oldworld; @@ -148,6 +154,5 @@ void macio_init (PCIBus *bus, int device_id, int is_o= ldworld, =20 pci_config_set_device_id(d->config, device_id); =20 - macio_bar_setup(macio_state); - pci_register_bar(d, 0, PCI_BASE_ADDRESS_SPACE_MEMORY, &macio_state->= bar); + qdev_init_nofail(DEVICE(d)); } --=20 1.7.10.4