From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59407) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YQG3C-0003TZ-UB for qemu-devel@nongnu.org; Tue, 24 Feb 2015 09:01:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YQG34-0007hq-PR for qemu-devel@nongnu.org; Tue, 24 Feb 2015 09:01:26 -0500 Received: from cantor2.suse.de ([195.135.220.15]:44216 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YQG34-0007gP-CX for qemu-devel@nongnu.org; Tue, 24 Feb 2015 09:01:18 -0500 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Tue, 24 Feb 2015 14:58:29 +0100 Message-Id: <1424786311-22387-10-git-send-email-afaerber@suse.de> In-Reply-To: <1424786311-22387-1-git-send-email-afaerber@suse.de> References: <1424786311-22387-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 09/10] parallel: Factor out common parallel_hds_isa_init() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: "Michael S. Tsirkin" , Markus Armbruster , Blue Swirl , Anthony Liguori , Paolo Bonzini , Leon Alrae , =?UTF-8?q?Andreas=20F=C3=A4rber?= , Aurelien Jarno , Richard Henderson From: Markus Armbruster Maintainers of affected machines cc'ed. Cc: Anthony Liguori Cc: "Michael S. Tsirkin" Cc: Aurelien Jarno Cc: Leon Alrae Cc: Blue Swirl Signed-off-by: Markus Armbruster Signed-off-by: Andreas F=C3=A4rber --- hw/char/parallel.c | 31 +++++++++++++++++++++++++++++++ hw/i386/pc.c | 7 +------ hw/mips/mips_fulong2e.c | 5 +---- hw/mips/mips_malta.c | 4 ++-- hw/sparc64/sun4u.c | 7 +------ include/hw/i386/pc.h | 17 +---------------- 6 files changed, 37 insertions(+), 34 deletions(-) diff --git a/hw/char/parallel.c b/hw/char/parallel.c index c2b553f..710cefc 100644 --- a/hw/char/parallel.c +++ b/hw/char/parallel.c @@ -641,3 +641,34 @@ static void parallel_register_types(void) } =20 type_init(parallel_register_types) + +static bool parallel_init(ISABus *bus, int index, CharDriverState *chr) +{ + DeviceState *dev; + ISADevice *isadev; + + isadev =3D isa_try_create(bus, "isa-parallel"); + if (!isadev) { + return false; + } + dev =3D DEVICE(isadev); + qdev_prop_set_uint32(dev, "index", index); + qdev_prop_set_chr(dev, "chardev", chr); + if (qdev_init(dev) < 0) { + return false; + } + return true; +} + +void parallel_hds_isa_init(ISABus *bus, int n) +{ + int i; + + assert(n <=3D MAX_PARALLEL_PORTS); + + for (i =3D 0; i < n; i++) { + if (parallel_hds[i]) { + parallel_init(bus, i, parallel_hds[i]); + } + } +} diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 18ed263..ed623e1 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1420,12 +1420,7 @@ void pc_basic_device_init(ISABus *isa_bus, qemu_ir= q *gsi, } =20 serial_hds_isa_init(isa_bus, MAX_SERIAL_PORTS); - - for(i =3D 0; i < MAX_PARALLEL_PORTS; i++) { - if (parallel_hds[i]) { - parallel_init(isa_bus, i, parallel_hds[i]); - } - } + parallel_hds_isa_init(isa_bus, MAX_PARALLEL_PORTS); =20 a20_line =3D qemu_allocate_irqs(handle_a20_line_change, first_cpu, 2= ); i8042 =3D isa_create_simple(isa_bus, "i8042"); diff --git a/hw/mips/mips_fulong2e.c b/hw/mips/mips_fulong2e.c index bebf7de..ea73585 100644 --- a/hw/mips/mips_fulong2e.c +++ b/hw/mips/mips_fulong2e.c @@ -384,10 +384,7 @@ static void mips_fulong2e_init(MachineState *machine= ) rtc_init(isa_bus, 2000, NULL); =20 serial_hds_isa_init(isa_bus, MAX_SERIAL_PORTS); - - if (parallel_hds[0]) { - parallel_init(isa_bus, 0, parallel_hds[0]); - } + parallel_hds_isa_init(isa_bus, 1); =20 /* Sound card */ audio_init(pci_bus); diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c index e57f78c..533b2e6 100644 --- a/hw/mips/mips_malta.c +++ b/hw/mips/mips_malta.c @@ -1173,8 +1173,8 @@ void mips_malta_init(MachineState *machine) =20 rtc_init(isa_bus, 2000, NULL); serial_hds_isa_init(isa_bus, 2); - if (parallel_hds[0]) - parallel_init(isa_bus, 0, parallel_hds[0]); + parallel_hds_isa_init(isa_bus, 1); + for(i =3D 0; i < MAX_FD; i++) { fd[i] =3D drive_get(IF_FLOPPY, 0, i); } diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c index 082b8e0..17cf61f 100644 --- a/hw/sparc64/sun4u.c +++ b/hw/sparc64/sun4u.c @@ -851,12 +851,7 @@ static void sun4uv_init(MemoryRegion *address_space_= mem, } =20 serial_hds_isa_init(isa_bus, MAX_SERIAL_PORTS); - - for(i =3D 0; i < MAX_PARALLEL_PORTS; i++) { - if (parallel_hds[i]) { - parallel_init(isa_bus, i, parallel_hds[i]); - } - } + parallel_hds_isa_init(isa_bus, MAX_PARALLEL_PORTS); =20 for(i =3D 0; i < nb_nics; i++) pci_nic_init_nofail(&nd_table[i], pci_bus, "ne2k_pci", NULL); diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index 69d9cf8..8ba84d3 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -107,23 +107,8 @@ struct PcGuestInfo { }; =20 /* parallel.c */ -static inline bool parallel_init(ISABus *bus, int index, CharDriverState= *chr) -{ - DeviceState *dev; - ISADevice *isadev; =20 - isadev =3D isa_try_create(bus, "isa-parallel"); - if (!isadev) { - return false; - } - dev =3D DEVICE(isadev); - qdev_prop_set_uint32(dev, "index", index); - qdev_prop_set_chr(dev, "chardev", chr); - if (qdev_init(dev) < 0) { - return false; - } - return true; -} +void parallel_hds_isa_init(ISABus *bus, int n); =20 bool parallel_mm_init(MemoryRegion *address_space, hwaddr base, int it_shift, qemu_irq irq, --=20 2.1.4