There are only three files requiring these typedefs, let them include "hw/nvram/fw_cfg.h" directly to simplify "qemu/typedefs.h".
To clean "qemu/typedefs.h", move the forward declarations to "hw/nvram/fw_cfg.h". Signed-off-by: Philippe Mathieu-Daudé <[email protected]> --- include/hw/acpi/vmgenid.h | 1 + include/hw/arm/virt.h | 1 + include/hw/mem/nvdimm.h | 1 + include/hw/nvram/fw_cfg.h | 8 +++++++- include/qemu/typedefs.h | 4 ---- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/include/hw/acpi/vmgenid.h b/include/hw/acpi/vmgenid.h index 38586ecbdf..be53de38f1 100644 --- a/include/hw/acpi/vmgenid.h +++ b/include/hw/acpi/vmgenid.h @@ -3,6 +3,7 @@ #include "hw/acpi/bios-linker-loader.h" #include "hw/qdev.h" +#include "hw/nvram/fw_cfg.h" #include "qemu/uuid.h" #define VMGENID_DEVICE "vmgenid" diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h index 4cc57a7ef6..fef632dcf5 100644 --- a/include/hw/arm/virt.h +++ b/include/hw/arm/virt.h @@ -35,6 +35,7 @@ #include "qemu/notify.h" #include "hw/boards.h" #include "hw/arm/arm.h" +#include "hw/nvram/fw_cfg.h" #include "sysemu/kvm.h" #include "hw/intc/arm_gicv3_common.h" diff --git a/include/hw/mem/nvdimm.h b/include/hw/mem/nvdimm.h index c5c9b3c7f8..51d3a52c4b 100644 --- a/include/hw/mem/nvdimm.h +++ b/include/hw/mem/nvdimm.h @@ -24,6 +24,7 @@ #define QEMU_NVDIMM_H #include "hw/mem/pc-dimm.h" +#include "hw/nvram/fw_cfg.h" #include "hw/acpi/bios-linker-loader.h" #define NVDIMM_DEBUG 0 diff --git a/include/hw/nvram/fw_cfg.h b/include/hw/nvram/fw_cfg.h index f5a6895a74..244ed78afa 100644 --- a/include/hw/nvram/fw_cfg.h +++ b/include/hw/nvram/fw_cfg.h @@ -14,7 +14,9 @@ #define FW_CFG_IO(obj) OBJECT_CHECK(FWCfgIoState, (obj), TYPE_FW_CFG_IO) #define FW_CFG_MEM(obj) OBJECT_CHECK(FWCfgMemState, (obj), TYPE_FW_CFG_MEM) -typedef struct fw_cfg_file FWCfgFile; +typedef struct FWCfgState FWCfgState; +typedef struct FWCfgIoState FWCfgIoState; +typedef struct FWCfgMemState FWCfgMemState; #define FW_CFG_ORDER_OVERRIDE_VGA 70 #define FW_CFG_ORDER_OVERRIDE_NIC 80 @@ -24,6 +26,8 @@ typedef struct fw_cfg_file FWCfgFile; void fw_cfg_set_order_override(FWCfgState *fw_cfg, int order); void fw_cfg_reset_order_override(FWCfgState *fw_cfg); +typedef struct fw_cfg_file FWCfgFile; + typedef struct FWCfgFiles { uint32_t count; FWCfgFile f[]; @@ -34,6 +38,8 @@ typedef struct fw_cfg_dma_access FWCfgDmaAccess; typedef void (*FWCfgCallback)(void *opaque); typedef void (*FWCfgWriteCallback)(void *opaque, off_t start, size_t len); +typedef struct FWCfgEntry FWCfgEntry; + struct FWCfgState { /*< private >*/ SysBusDevice parent_obj; diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h index 3a5ca74bd3..1c294c296c 100644 --- a/include/qemu/typedefs.h +++ b/include/qemu/typedefs.h @@ -31,10 +31,6 @@ typedef struct DriveInfo DriveInfo; typedef struct Error Error; typedef struct EventNotifier EventNotifier; typedef struct FlatView FlatView; -typedef struct FWCfgEntry FWCfgEntry; -typedef struct FWCfgIoState FWCfgIoState; -typedef struct FWCfgMemState FWCfgMemState; -typedef struct FWCfgState FWCfgState; typedef struct HCIInfo HCIInfo; typedef struct HVFX86EmulatorState HVFX86EmulatorState; typedef struct I2CBus I2CBus; -- 2.17.2
