Exposing device structs in headers is encuraged by qdev guidelines. Signed-off-by: Bernhard Beschow <shen...@gmail.com> --- include/hw/char/serial-isa.h | 50 ++++++++++++++++++++++++++++++++++++ include/hw/char/serial.h | 7 ----- hw/char/serial-isa.c | 14 +--------- hw/i386/microvm-dt.c | 2 +- hw/i386/microvm.c | 2 +- hw/i386/pc.c | 2 +- hw/isa/isa-superio.c | 2 +- hw/ppc/pnv.c | 2 +- hw/sparc64/sun4u.c | 1 + 9 files changed, 57 insertions(+), 25 deletions(-) create mode 100644 include/hw/char/serial-isa.h
diff --git a/include/hw/char/serial-isa.h b/include/hw/char/serial-isa.h new file mode 100644 index 0000000000..4bd01ef45b --- /dev/null +++ b/include/hw/char/serial-isa.h @@ -0,0 +1,50 @@ +/* + * QEMU 16550A UART emulation + * + * Copyright (c) 2003-2004 Fabrice Bellard + * Copyright (c) 2008 Citrix Systems, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#ifndef HW_SERIAL_ISA_H +#define HW_SERIAL_ISA_H + +#include "serial.h" + +#include "hw/isa/isa.h" +#include "qom/object.h" + +#define TYPE_ISA_SERIAL "isa-serial" +OBJECT_DECLARE_SIMPLE_TYPE(ISASerialState, ISA_SERIAL) + +struct ISASerialState { + ISADevice parent_obj; + + uint32_t index; + uint32_t iobase; + uint32_t isairq; + SerialState state; +}; + +#define MAX_ISA_SERIAL_PORTS 4 + +void serial_hds_isa_init(ISABus *bus, int from, int to); + +#endif /* HW_SERIAL_ISA_H */ diff --git a/include/hw/char/serial.h b/include/hw/char/serial.h index 8ba7eca3d6..fca32a532b 100644 --- a/include/hw/char/serial.h +++ b/include/hw/char/serial.h @@ -106,11 +106,4 @@ SerialMM *serial_mm_init(MemoryRegion *address_space, qemu_irq irq, int baudbase, Chardev *chr, enum device_endian end); -/* serial-isa.c */ - -#define MAX_ISA_SERIAL_PORTS 4 - -#define TYPE_ISA_SERIAL "isa-serial" -void serial_hds_isa_init(ISABus *bus, int from, int to); - #endif diff --git a/hw/char/serial-isa.c b/hw/char/serial-isa.c index 141a6cb168..315982efb5 100644 --- a/hw/char/serial-isa.c +++ b/hw/char/serial-isa.c @@ -28,23 +28,11 @@ #include "qemu/module.h" #include "sysemu/sysemu.h" #include "hw/acpi/acpi_aml_interface.h" -#include "hw/char/serial.h" -#include "hw/isa/isa.h" +#include "hw/char/serial-isa.h" #include "hw/qdev-properties.h" #include "migration/vmstate.h" #include "qom/object.h" -OBJECT_DECLARE_SIMPLE_TYPE(ISASerialState, ISA_SERIAL) - -struct ISASerialState { - ISADevice parent_obj; - - uint32_t index; - uint32_t iobase; - uint32_t isairq; - SerialState state; -}; - static const int isa_serial_io[MAX_ISA_SERIAL_PORTS] = { 0x3f8, 0x2f8, 0x3e8, 0x2e8 }; diff --git a/hw/i386/microvm-dt.c b/hw/i386/microvm-dt.c index b3049e4f9f..fc5db6ed7f 100644 --- a/hw/i386/microvm-dt.c +++ b/hw/i386/microvm-dt.c @@ -34,7 +34,7 @@ #include "qemu/cutils.h" #include "qapi/error.h" #include "sysemu/device_tree.h" -#include "hw/char/serial.h" +#include "hw/char/serial-isa.h" #include "hw/i386/fw_cfg.h" #include "hw/rtc/mc146818rtc.h" #include "hw/sysbus.h" diff --git a/hw/i386/microvm.c b/hw/i386/microvm.c index ca55aecc3b..a39d382367 100644 --- a/hw/i386/microvm.c +++ b/hw/i386/microvm.c @@ -39,7 +39,7 @@ #include "hw/intc/i8259.h" #include "hw/timer/i8254.h" #include "hw/rtc/mc146818rtc.h" -#include "hw/char/serial.h" +#include "hw/char/serial-isa.h" #include "hw/display/ramfb.h" #include "hw/i386/topology.h" #include "hw/i386/e820_memory_layout.h" diff --git a/hw/i386/pc.c b/hw/i386/pc.c index a8051feacd..1ddfcefbe4 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -27,7 +27,7 @@ #include "hw/i386/pc.h" #include "hw/block/fdc.h" #include "hw/block/fdc-isa.h" -#include "hw/char/serial.h" +#include "hw/char/serial-isa.h" #include "hw/char/parallel.h" #include "hw/hyperv/hv-balloon.h" #include "hw/i386/fw_cfg.h" diff --git a/hw/isa/isa-superio.c b/hw/isa/isa-superio.c index 99d2aa491b..74162f26be 100644 --- a/hw/isa/isa-superio.c +++ b/hw/isa/isa-superio.c @@ -23,7 +23,7 @@ #include "hw/qdev-properties.h" #include "hw/input/i8042.h" #include "hw/char/parallel-isa.h" -#include "hw/char/serial.h" +#include "hw/char/serial-isa.h" #include "trace.h" static void isa_superio_realize(DeviceState *dev, Error **errp) diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 0297871bdd..78a33832d3 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -54,7 +54,7 @@ #include "hw/ppc/pnv_pnor.h" #include "hw/isa/isa.h" -#include "hw/char/serial.h" +#include "hw/char/serial-isa.h" #include "hw/rtc/mc146818rtc.h" #include <libfdt.h> diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c index 0d7b539ace..2f0aebfb29 100644 --- a/hw/sparc64/sun4u.c +++ b/hw/sparc64/sun4u.c @@ -35,6 +35,7 @@ #include "hw/qdev-properties.h" #include "hw/pci-host/sabre.h" #include "hw/char/serial.h" +#include "hw/char/serial-isa.h" #include "hw/char/parallel-isa.h" #include "hw/rtc/m48t59.h" #include "migration/vmstate.h" -- 2.43.0