[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCHv3 1/2] Move parallel_hds_isa_init to hw/isa/isa-
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCHv3 1/2] Move parallel_hds_isa_init to hw/isa/isa-bus.c |
Date: |
Tue, 12 May 2015 15:22:16 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 |
On 12/05/2015 08:22, address@hidden wrote:
> From: Miroslav Rezanina <address@hidden>
>
> Disabling CONFIG_PARALLEL cause removing parallel_hds_isa_init defined in
> parallel.c. This function is called during initialization of some boards so
> disabling CONFIG_PARALLEL cause build failure.
>
> This patch moves parallel_hds_isa_init to hw/isa/isa-bus.c so it is included
> in case of disabled CONFIG_PARALLEL. Build is successful but qemu will abort
> with "Unknown device" error when function is called.
>
> Signed-off-by: Miroslav Rezanina <address@hidden>
> ---
> hw/char/parallel.c | 25 -------------------------
> hw/isa/isa-bus.c | 29 +++++++++++++++++++++++++++++
> 2 files changed, 29 insertions(+), 25 deletions(-)
>
> diff --git a/hw/char/parallel.c b/hw/char/parallel.c
> index 4079554..c2b553f 100644
> --- a/hw/char/parallel.c
> +++ b/hw/char/parallel.c
> @@ -641,28 +641,3 @@ static void parallel_register_types(void)
> }
>
> type_init(parallel_register_types)
> -
> -static void parallel_init(ISABus *bus, int index, CharDriverState *chr)
> -{
> - DeviceState *dev;
> - ISADevice *isadev;
> -
> - isadev = isa_create(bus, "isa-parallel");
> - dev = DEVICE(isadev);
> - qdev_prop_set_uint32(dev, "index", index);
> - qdev_prop_set_chr(dev, "chardev", chr);
> - qdev_init_nofail(dev);
> -}
> -
> -void parallel_hds_isa_init(ISABus *bus, int n)
> -{
> - int i;
> -
> - assert(n <= MAX_PARALLEL_PORTS);
> -
> - for (i = 0; i < n; i++) {
> - if (parallel_hds[i]) {
> - parallel_init(bus, i, parallel_hds[i]);
> - }
> - }
> -}
> diff --git a/hw/isa/isa-bus.c b/hw/isa/isa-bus.c
> index 825aa62..94f645c 100644
> --- a/hw/isa/isa-bus.c
> +++ b/hw/isa/isa-bus.c
> @@ -21,6 +21,7 @@
> #include "hw/sysbus.h"
> #include "sysemu/sysemu.h"
> #include "hw/isa/isa.h"
> +#include "hw/i386/pc.h"
>
> static ISABus *isabus;
>
> @@ -267,3 +268,31 @@ MemoryRegion *isa_address_space_io(ISADevice *dev)
> }
>
> type_init(isabus_register_types)
> +
> +static void parallel_init(ISABus *bus, int index, CharDriverState *chr)
> +{
> + DeviceState *dev;
> + ISADevice *isadev;
> +
> + isadev = isa_try_create(bus, "isa-parallel");
> + if (!isadev) {
> + return;
> + }
> + dev = DEVICE(isadev);
> + qdev_prop_set_uint32(dev, "index", index);
> + qdev_prop_set_chr(dev, "chardev", chr);
> + qdev_init_nofail(dev);
> +}
> +
> +void parallel_hds_isa_init(ISABus *bus, int n)
> +{
> + int i;
> +
> + assert(n <= MAX_PARALLEL_PORTS);
> +
> + for (i = 0; i < n; i++) {
> + if (parallel_hds[i]) {
> + parallel_init(bus, i, parallel_hds[i]);
> + }
> + }
> +}
>
ACK
Paolo