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é <philmd@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