Range is only used in "hw/pci-host/q35.h" in the MCHPCIState, and in "hw/pci/pci.h" by pci_bus_get_w64_range(). Let them include "qemu/range.h" directly to simplify "qemu/typedefs.h".
To clean "qemu/typedefs.h", move the declaration to "qemu/range.h" (removing the forward declaration). Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> --- include/hw/pci-host/q35.h | 1 + include/hw/pci/pci.h | 1 + include/qemu/range.h | 4 ++-- include/qemu/typedefs.h | 1 - 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/include/hw/pci-host/q35.h b/include/hw/pci-host/q35.h index 8f4ddde393..236ff008c9 100644 --- a/include/hw/pci-host/q35.h +++ b/include/hw/pci-host/q35.h @@ -22,6 +22,7 @@ #ifndef HW_Q35_H #define HW_Q35_H +#include "qemu/range.h" #include "hw/hw.h" #include "hw/isa/isa.h" #include "hw/sysbus.h" diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h index d87f5f93e9..f9c020fd98 100644 --- a/include/hw/pci/pci.h +++ b/include/hw/pci/pci.h @@ -1,6 +1,7 @@ #ifndef QEMU_PCI_H #define QEMU_PCI_H +#include "qemu/range.h" #include "hw/qdev.h" #include "exec/memory.h" #include "sysemu/dma.h" diff --git a/include/qemu/range.h b/include/qemu/range.h index 7e75f4e655..aaa09c8306 100644 --- a/include/qemu/range.h +++ b/include/qemu/range.h @@ -29,7 +29,7 @@ * - Ranges must not wrap around 0, but can include UINT64_MAX. */ -struct Range { +typedef struct Range { /* * Do not access members directly, use the functions! * A non-empty range has @lob <= @upb. @@ -37,7 +37,7 @@ struct Range { */ uint64_t lob; /* inclusive lower bound */ uint64_t upb; /* inclusive upper bound */ -}; +} Range; static inline void range_invariant(const Range *range) { diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h index 5e9a070ff3..fb9f29d892 100644 --- a/include/qemu/typedefs.h +++ b/include/qemu/typedefs.h @@ -97,7 +97,6 @@ typedef struct QNum QNum; typedef struct QObject QObject; typedef struct QString QString; typedef struct RAMBlock RAMBlock; -typedef struct Range Range; typedef struct SHPCDevice SHPCDevice; typedef struct uWireSlave uWireSlave; typedef struct VirtIODevice VirtIODevice; -- 2.17.2