aboutsummaryrefslogtreecommitdiff
path: root/include/hw
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2019-08-12 07:23:51 +0200
committerMarkus Armbruster <armbru@redhat.com>2019-08-16 13:31:53 +0200
commita27bd6c779badb8d76e4430d810ef710a1b98f4e (patch)
treeb7631b26b400537ff383b13e9e9deb299cef85b4 /include/hw
parentdb725815985654007ade0fd53590d613fd657208 (diff)
Include hw/qdev-properties.h less
In my "build everything" tree, changing hw/qdev-properties.h triggers a recompile of some 2700 out of 6600 objects (not counting tests and objects that don't depend on qemu/osdep.h). Many places including hw/qdev-properties.h (directly or via hw/qdev.h) actually need only hw/qdev-core.h. Include hw/qdev-core.h there instead. hw/qdev.h is actually pointless: all it does is include hw/qdev-core.h and hw/qdev-properties.h, which in turn includes hw/qdev-core.h. Replace the remaining uses of hw/qdev.h by hw/qdev-properties.h. While there, delete a few superfluous inclusions of hw/qdev-core.h. Touching hw/qdev-properties.h now recompiles some 1200 objects. Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: "Daniel P. Berrangé" <berrange@redhat.com> Cc: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> Message-Id: <20190812052359.30071-22-armbru@redhat.com>
Diffstat (limited to 'include/hw')
-rw-r--r--include/hw/acpi/acpi_dev_interface.h1
-rw-r--r--include/hw/acpi/vmgenid.h2
-rw-r--r--include/hw/audio/pcspk.h1
-rw-r--r--include/hw/boards.h1
-rw-r--r--include/hw/char/cadence_uart.h1
-rw-r--r--include/hw/char/cmsdk-apb-uart.h1
-rw-r--r--include/hw/char/lm32_juart.h2
-rw-r--r--include/hw/char/pl011.h1
-rw-r--r--include/hw/char/xilinx_uartlite.h1
-rw-r--r--include/hw/cpu/cluster.h2
-rw-r--r--include/hw/cpu/core.h2
-rw-r--r--include/hw/cris/etraxfs.h1
-rw-r--r--include/hw/display/milkymist_tmu2.h2
-rw-r--r--include/hw/i2c/i2c.h2
-rw-r--r--include/hw/i386/intel_iommu.h2
-rw-r--r--include/hw/input/adb.h2
-rw-r--r--include/hw/ipack/ipack.h2
-rw-r--r--include/hw/ipmi/ipmi.h2
-rw-r--r--include/hw/isa/isa.h2
-rw-r--r--include/hw/mem/memory-device.h2
-rw-r--r--include/hw/mem/pc-dimm.h2
-rw-r--r--include/hw/misc/auxbus.h2
-rw-r--r--include/hw/misc/unimp.h1
-rw-r--r--include/hw/misc/vmcoreinfo.h2
-rw-r--r--include/hw/net/ne2000-isa.h2
-rw-r--r--include/hw/pci/pci.h1
-rw-r--r--include/hw/pcmcia.h2
-rw-r--r--include/hw/ppc/openpic.h1
-rw-r--r--include/hw/ppc/spapr_cpu_core.h2
-rw-r--r--include/hw/ppc/spapr_drc.h2
-rw-r--r--include/hw/ppc/xics.h2
-rw-r--r--include/hw/ppc/xive.h1
-rw-r--r--include/hw/qdev.h7
-rw-r--r--include/hw/s390x/event-facility.h2
-rw-r--r--include/hw/s390x/sclp.h1
-rw-r--r--include/hw/s390x/storage-attributes.h2
-rw-r--r--include/hw/s390x/storage-keys.h2
-rw-r--r--include/hw/s390x/tod.h2
-rw-r--r--include/hw/scsi/scsi.h2
-rw-r--r--include/hw/sd/sd.h2
-rw-r--r--include/hw/sparc/grlib.h1
-rw-r--r--include/hw/ssi/ssi.h2
-rw-r--r--include/hw/sysbus.h2
-rw-r--r--include/hw/timer/cmsdk-apb-timer.h1
-rw-r--r--include/hw/timer/i8254.h2
-rw-r--r--include/hw/usb.h2
-rw-r--r--include/hw/virtio/vhost-scsi-common.h1
-rw-r--r--include/hw/virtio/vhost-scsi.h1
-rw-r--r--include/hw/virtio/vhost-user-blk.h1
-rw-r--r--include/hw/virtio/vhost-user-scsi.h1
-rw-r--r--include/hw/virtio/virtio-bus.h2
-rw-r--r--include/hw/virtio/virtio-serial.h1
-rw-r--r--include/hw/virtio/virtio.h2
-rw-r--r--include/hw/watchdog/wdt_diag288.h2
54 files changed, 42 insertions, 51 deletions
diff --git a/include/hw/acpi/acpi_dev_interface.h b/include/hw/acpi/acpi_dev_interface.h
index 6465072b7d..0ba90effd2 100644
--- a/include/hw/acpi/acpi_dev_interface.h
+++ b/include/hw/acpi/acpi_dev_interface.h
@@ -4,6 +4,7 @@
#include "qapi/qapi-types-misc.h"
#include "qom/object.h"
#include "hw/boards.h"
+#include "hw/qdev-core.h"
/* These values are part of guest ABI, and can not be changed */
typedef enum {
diff --git a/include/hw/acpi/vmgenid.h b/include/hw/acpi/vmgenid.h
index 38586ecbdf..c49d913f3e 100644
--- a/include/hw/acpi/vmgenid.h
+++ b/include/hw/acpi/vmgenid.h
@@ -2,7 +2,7 @@
#define ACPI_VMGENID_H
#include "hw/acpi/bios-linker-loader.h"
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
#include "qemu/uuid.h"
#define VMGENID_DEVICE "vmgenid"
diff --git a/include/hw/audio/pcspk.h b/include/hw/audio/pcspk.h
index 0f5d4f9919..632cce9f68 100644
--- a/include/hw/audio/pcspk.h
+++ b/include/hw/audio/pcspk.h
@@ -26,6 +26,7 @@
#define HW_PCSPK_H
#include "hw/isa/isa.h"
+#include "hw/qdev-properties.h"
#define TYPE_PC_SPEAKER "isa-pcspk"
diff --git a/include/hw/boards.h b/include/hw/boards.h
index 3a0be3131a..67e551636a 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -6,7 +6,6 @@
#include "exec/memory.h"
#include "sysemu/blockdev.h"
#include "sysemu/accel.h"
-#include "hw/qdev.h"
#include "qapi/qapi-types-machine.h"
#include "qemu/module.h"
#include "qom/object.h"
diff --git a/include/hw/char/cadence_uart.h b/include/hw/char/cadence_uart.h
index e1cf33e94c..47cec956c4 100644
--- a/include/hw/char/cadence_uart.h
+++ b/include/hw/char/cadence_uart.h
@@ -19,6 +19,7 @@
#ifndef CADENCE_UART_H
#define CADENCE_UART_H
+#include "hw/qdev-properties.h"
#include "hw/sysbus.h"
#include "chardev/char-fe.h"
#include "qemu/timer.h"
diff --git a/include/hw/char/cmsdk-apb-uart.h b/include/hw/char/cmsdk-apb-uart.h
index c41fba9a27..3c1b53db4e 100644
--- a/include/hw/char/cmsdk-apb-uart.h
+++ b/include/hw/char/cmsdk-apb-uart.h
@@ -12,6 +12,7 @@
#ifndef CMSDK_APB_UART_H
#define CMSDK_APB_UART_H
+#include "hw/qdev-properties.h"
#include "hw/sysbus.h"
#include "chardev/char-fe.h"
diff --git a/include/hw/char/lm32_juart.h b/include/hw/char/lm32_juart.h
index e7c6fb5a3b..6fce278326 100644
--- a/include/hw/char/lm32_juart.h
+++ b/include/hw/char/lm32_juart.h
@@ -1,7 +1,7 @@
#ifndef QEMU_HW_CHAR_LM32_JUART_H
#define QEMU_HW_CHAR_LM32_JUART_H
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
#define TYPE_LM32_JUART "lm32-juart"
diff --git a/include/hw/char/pl011.h b/include/hw/char/pl011.h
index dad3cf2912..14187165c6 100644
--- a/include/hw/char/pl011.h
+++ b/include/hw/char/pl011.h
@@ -15,6 +15,7 @@
#ifndef HW_PL011_H
#define HW_PL011_H
+#include "hw/qdev-properties.h"
#include "hw/sysbus.h"
#include "chardev/char-fe.h"
diff --git a/include/hw/char/xilinx_uartlite.h b/include/hw/char/xilinx_uartlite.h
index 99d8bbf405..194e2feafe 100644
--- a/include/hw/char/xilinx_uartlite.h
+++ b/include/hw/char/xilinx_uartlite.h
@@ -15,6 +15,7 @@
#ifndef XILINX_UARTLITE_H
#define XILINX_UARTLITE_H
+#include "hw/qdev-properties.h"
#include "hw/sysbus.h"
static inline DeviceState *xilinx_uartlite_create(hwaddr addr,
diff --git a/include/hw/cpu/cluster.h b/include/hw/cpu/cluster.h
index 01c1e50cd2..a616501a55 100644
--- a/include/hw/cpu/cluster.h
+++ b/include/hw/cpu/cluster.h
@@ -20,7 +20,7 @@
#ifndef HW_CPU_CLUSTER_H
#define HW_CPU_CLUSTER_H
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
/*
* CPU Cluster type
diff --git a/include/hw/cpu/core.h b/include/hw/cpu/core.h
index b7470644d8..555ad831bb 100644
--- a/include/hw/cpu/core.h
+++ b/include/hw/cpu/core.h
@@ -9,7 +9,7 @@
#ifndef HW_CPU_CORE_H
#define HW_CPU_CORE_H
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
#define TYPE_CPU_CORE "cpu-core"
diff --git a/include/hw/cris/etraxfs.h b/include/hw/cris/etraxfs.h
index 494222d315..aa146a2cd8 100644
--- a/include/hw/cris/etraxfs.h
+++ b/include/hw/cris/etraxfs.h
@@ -27,6 +27,7 @@
#include "net/net.h"
#include "hw/cris/etraxfs_dma.h"
+#include "hw/qdev-properties.h"
#include "hw/sysbus.h"
/* Instantiate an ETRAXFS Ethernet MAC. */
diff --git a/include/hw/display/milkymist_tmu2.h b/include/hw/display/milkymist_tmu2.h
index 1fd978dcc5..e3394ff158 100644
--- a/include/hw/display/milkymist_tmu2.h
+++ b/include/hw/display/milkymist_tmu2.h
@@ -28,7 +28,7 @@
#define HW_DISPLAY_MILKYMIST_TMU2_H
#include "exec/hwaddr.h"
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
#if defined(CONFIG_X11) && defined(CONFIG_OPENGL)
DeviceState *milkymist_tmu2_create(hwaddr base, qemu_irq irq);
diff --git a/include/hw/i2c/i2c.h b/include/hw/i2c/i2c.h
index 75c5bd638b..4117211565 100644
--- a/include/hw/i2c/i2c.h
+++ b/include/hw/i2c/i2c.h
@@ -1,7 +1,7 @@
#ifndef QEMU_I2C_H
#define QEMU_I2C_H
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
/* The QEMU I2C implementation only supports simple transfers that complete
immediately. It does not support slave devices that need to be able to
diff --git a/include/hw/i386/intel_iommu.h b/include/hw/i386/intel_iommu.h
index 12f3d266e2..66b931e526 100644
--- a/include/hw/i386/intel_iommu.h
+++ b/include/hw/i386/intel_iommu.h
@@ -21,7 +21,7 @@
#ifndef INTEL_IOMMU_H
#define INTEL_IOMMU_H
-#include "hw/qdev.h"
+
#include "sysemu/dma.h"
#include "hw/i386/x86-iommu.h"
#include "hw/i386/ioapic.h"
diff --git a/include/hw/input/adb.h b/include/hw/input/adb.h
index f99d478252..b7b32e2b16 100644
--- a/include/hw/input/adb.h
+++ b/include/hw/input/adb.h
@@ -26,7 +26,7 @@
#ifndef ADB_H
#define ADB_H
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
#define MAX_ADB_DEVICES 16
diff --git a/include/hw/ipack/ipack.h b/include/hw/ipack/ipack.h
index e33e032ced..1c07969bc9 100644
--- a/include/hw/ipack/ipack.h
+++ b/include/hw/ipack/ipack.h
@@ -11,7 +11,7 @@
#ifndef QEMU_IPACK_H
#define QEMU_IPACK_H
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
typedef struct IPackBus IPackBus;
diff --git a/include/hw/ipmi/ipmi.h b/include/hw/ipmi/ipmi.h
index 011faf22e9..70871da0a7 100644
--- a/include/hw/ipmi/ipmi.h
+++ b/include/hw/ipmi/ipmi.h
@@ -26,7 +26,7 @@
#define HW_IPMI_H
#include "exec/memory.h"
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
#define MAX_IPMI_MSG_SIZE 300
diff --git a/include/hw/isa/isa.h b/include/hw/isa/isa.h
index e62ac91c19..018ada4f6f 100644
--- a/include/hw/isa/isa.h
+++ b/include/hw/isa/isa.h
@@ -5,7 +5,7 @@
#include "exec/memory.h"
#include "exec/ioport.h"
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
#define ISA_NUM_IRQS 16
diff --git a/include/hw/mem/memory-device.h b/include/hw/mem/memory-device.h
index 2ada6e7bde..04476acb8f 100644
--- a/include/hw/mem/memory-device.h
+++ b/include/hw/mem/memory-device.h
@@ -13,9 +13,9 @@
#ifndef MEMORY_DEVICE_H
#define MEMORY_DEVICE_H
+#include "hw/qdev-core.h"
#include "qapi/qapi-types-misc.h"
#include "qom/object.h"
-#include "hw/qdev.h"
#define TYPE_MEMORY_DEVICE "memory-device"
diff --git a/include/hw/mem/pc-dimm.h b/include/hw/mem/pc-dimm.h
index 01436b9f50..66dee284ac 100644
--- a/include/hw/mem/pc-dimm.h
+++ b/include/hw/mem/pc-dimm.h
@@ -18,7 +18,7 @@
#include "exec/memory.h"
#include "sysemu/hostmem.h"
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
#include "hw/boards.h"
#define TYPE_PC_DIMM "pc-dimm"
diff --git a/include/hw/misc/auxbus.h b/include/hw/misc/auxbus.h
index ee0ca3dd51..a539a98c4b 100644
--- a/include/hw/misc/auxbus.h
+++ b/include/hw/misc/auxbus.h
@@ -26,7 +26,7 @@
#define HW_MISC_AUXBUS_H
#include "exec/memory.h"
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
typedef struct AUXBus AUXBus;
typedef struct AUXSlave AUXSlave;
diff --git a/include/hw/misc/unimp.h b/include/hw/misc/unimp.h
index 2a291ca42d..44d87be903 100644
--- a/include/hw/misc/unimp.h
+++ b/include/hw/misc/unimp.h
@@ -8,6 +8,7 @@
#ifndef HW_MISC_UNIMP_H
#define HW_MISC_UNIMP_H
+#include "hw/qdev-properties.h"
#include "hw/sysbus.h"
#define TYPE_UNIMPLEMENTED_DEVICE "unimplemented-device"
diff --git a/include/hw/misc/vmcoreinfo.h b/include/hw/misc/vmcoreinfo.h
index 0d11578059..d4f3d3a91c 100644
--- a/include/hw/misc/vmcoreinfo.h
+++ b/include/hw/misc/vmcoreinfo.h
@@ -12,7 +12,7 @@
#ifndef VMCOREINFO_H
#define VMCOREINFO_H
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
#include "standard-headers/linux/qemu_fw_cfg.h"
#define VMCOREINFO_DEVICE "vmcoreinfo"
diff --git a/include/hw/net/ne2000-isa.h b/include/hw/net/ne2000-isa.h
index 1233928a34..eef17a680d 100644
--- a/include/hw/net/ne2000-isa.h
+++ b/include/hw/net/ne2000-isa.h
@@ -10,8 +10,8 @@
#ifndef HW_NET_NE2000_ISA_H
#define HW_NET_NE2000_ISA_H
-#include "hw/qdev.h"
#include "hw/isa/isa.h"
+#include "hw/qdev-properties.h"
#include "net/net.h"
#define TYPE_ISA_NE2000 "ne2k_isa"
diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
index aaf1b9f70d..1b840e61a2 100644
--- a/include/hw/pci/pci.h
+++ b/include/hw/pci/pci.h
@@ -1,7 +1,6 @@
#ifndef QEMU_PCI_H
#define QEMU_PCI_H
-#include "hw/qdev.h"
#include "exec/memory.h"
#include "sysemu/dma.h"
diff --git a/include/hw/pcmcia.h b/include/hw/pcmcia.h
index 1b4080764f..ebad7bc504 100644
--- a/include/hw/pcmcia.h
+++ b/include/hw/pcmcia.h
@@ -3,7 +3,7 @@
/* PCMCIA/Cardbus */
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
typedef struct PCMCIASocket {
qemu_irq irq;
diff --git a/include/hw/ppc/openpic.h b/include/hw/ppc/openpic.h
index 7642a8ea1d..ec16897bfb 100644
--- a/include/hw/ppc/openpic.h
+++ b/include/hw/ppc/openpic.h
@@ -2,7 +2,6 @@
#define OPENPIC_H
#include "hw/sysbus.h"
-#include "hw/qdev-core.h"
#include "qom/cpu.h"
#define MAX_CPU 32
diff --git a/include/hw/ppc/spapr_cpu_core.h b/include/hw/ppc/spapr_cpu_core.h
index f9645a7290..35e0a7eead 100644
--- a/include/hw/ppc/spapr_cpu_core.h
+++ b/include/hw/ppc/spapr_cpu_core.h
@@ -9,8 +9,8 @@
#ifndef HW_SPAPR_CPU_CORE_H
#define HW_SPAPR_CPU_CORE_H
-#include "hw/qdev.h"
#include "hw/cpu/core.h"
+#include "hw/qdev-core.h"
#include "target/ppc/cpu-qom.h"
#include "target/ppc/cpu.h"
diff --git a/include/hw/ppc/spapr_drc.h b/include/hw/ppc/spapr_drc.h
index 576c711b86..721213d5b0 100644
--- a/include/hw/ppc/spapr_drc.h
+++ b/include/hw/ppc/spapr_drc.h
@@ -16,7 +16,7 @@
#include <libfdt.h>
#include "qom/object.h"
#include "sysemu/sysemu.h"
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
#include "qapi/error.h"
#define TYPE_SPAPR_DR_CONNECTOR "spapr-dr-connector"
diff --git a/include/hw/ppc/xics.h b/include/hw/ppc/xics.h
index 457aa98f81..f2a8d6a4b4 100644
--- a/include/hw/ppc/xics.h
+++ b/include/hw/ppc/xics.h
@@ -29,7 +29,7 @@
#define XICS_H
#include "exec/memory.h"
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
#define XICS_IPI 0x2
#define XICS_BUID 0x1
diff --git a/include/hw/ppc/xive.h b/include/hw/ppc/xive.h
index 736335174a..9399c77d2d 100644
--- a/include/hw/ppc/xive.h
+++ b/include/hw/ppc/xive.h
@@ -141,7 +141,6 @@
#define PPC_XIVE_H
#include "sysemu/kvm.h"
-#include "hw/qdev-core.h"
#include "hw/sysbus.h"
#include "hw/ppc/xive_regs.h"
diff --git a/include/hw/qdev.h b/include/hw/qdev.h
deleted file mode 100644
index d68991ae87..0000000000
--- a/include/hw/qdev.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef QDEV_H
-#define QDEV_H
-
-#include "hw/qdev-core.h"
-#include "hw/qdev-properties.h"
-
-#endif
diff --git a/include/hw/s390x/event-facility.h b/include/hw/s390x/event-facility.h
index 6cf71cec38..bdc32a3c09 100644
--- a/include/hw/s390x/event-facility.h
+++ b/include/hw/s390x/event-facility.h
@@ -15,8 +15,8 @@
#ifndef HW_S390_SCLP_EVENT_FACILITY_H
#define HW_S390_SCLP_EVENT_FACILITY_H
-#include "hw/qdev.h"
#include "qemu/thread.h"
+#include "hw/qdev-core.h"
#include "hw/s390x/sclp.h"
/* SCLP event types */
diff --git a/include/hw/s390x/sclp.h b/include/hw/s390x/sclp.h
index f9db243484..c54413b78c 100644
--- a/include/hw/s390x/sclp.h
+++ b/include/hw/s390x/sclp.h
@@ -15,7 +15,6 @@
#define HW_S390_SCLP_H
#include "hw/sysbus.h"
-#include "hw/qdev.h"
#include "target/s390x/cpu-qom.h"
#define SCLP_CMD_CODE_MASK 0xffff00ff
diff --git a/include/hw/s390x/storage-attributes.h b/include/hw/s390x/storage-attributes.h
index d6403a0a7e..4f7c6c0877 100644
--- a/include/hw/s390x/storage-attributes.h
+++ b/include/hw/s390x/storage-attributes.h
@@ -12,7 +12,7 @@
#ifndef S390_STORAGE_ATTRIBUTES_H
#define S390_STORAGE_ATTRIBUTES_H
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
#include "monitor/monitor.h"
#define TYPE_S390_STATTRIB "s390-storage_attributes"
diff --git a/include/hw/s390x/storage-keys.h b/include/hw/s390x/storage-keys.h
index 62df48ec06..3f1ae7e778 100644
--- a/include/hw/s390x/storage-keys.h
+++ b/include/hw/s390x/storage-keys.h
@@ -12,7 +12,7 @@
#ifndef S390_STORAGE_KEYS_H
#define S390_STORAGE_KEYS_H
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
#include "monitor/monitor.h"
#define TYPE_S390_SKEYS "s390-skeys"
diff --git a/include/hw/s390x/tod.h b/include/hw/s390x/tod.h
index d71f4ea8a7..4251623f7f 100644
--- a/include/hw/s390x/tod.h
+++ b/include/hw/s390x/tod.h
@@ -11,7 +11,7 @@
#ifndef HW_S390_TOD_H
#define HW_S390_TOD_H
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
#include "target/s390x/s390-tod.h"
typedef struct S390TOD {
diff --git a/include/hw/scsi/scsi.h b/include/hw/scsi/scsi.h
index 15a763dc18..2bfaad0fe9 100644
--- a/include/hw/scsi/scsi.h
+++ b/include/hw/scsi/scsi.h
@@ -1,9 +1,9 @@
#ifndef QEMU_HW_SCSI_H
#define QEMU_HW_SCSI_H
-#include "hw/qdev.h"
#include "block/aio.h"
#include "hw/block/block.h"
+#include "hw/qdev-core.h"
#include "sysemu/sysemu.h"
#include "scsi/utils.h"
#include "qemu/notify.h"
diff --git a/include/hw/sd/sd.h b/include/hw/sd/sd.h
index b865aafc33..a84b8e274a 100644
--- a/include/hw/sd/sd.h
+++ b/include/hw/sd/sd.h
@@ -30,7 +30,7 @@
#ifndef HW_SD_H
#define HW_SD_H
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
#define OUT_OF_RANGE (1 << 31)
#define ADDRESS_ERROR (1 << 30)
diff --git a/include/hw/sparc/grlib.h b/include/hw/sparc/grlib.h
index 5606ff0a97..78b6178fcd 100644
--- a/include/hw/sparc/grlib.h
+++ b/include/hw/sparc/grlib.h
@@ -25,7 +25,6 @@
#ifndef GRLIB_H
#define GRLIB_H
-#include "hw/qdev.h"
#include "hw/sysbus.h"
/* Emulation of GrLib device is base on the GRLIB IP Core User's Manual:
diff --git a/include/hw/ssi/ssi.h b/include/hw/ssi/ssi.h
index 6a0c3c3cdb..1107cb89ee 100644
--- a/include/hw/ssi/ssi.h
+++ b/include/hw/ssi/ssi.h
@@ -11,7 +11,7 @@
#ifndef QEMU_SSI_H
#define QEMU_SSI_H
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
typedef struct SSISlave SSISlave;
typedef struct SSISlaveClass SSISlaveClass;
diff --git a/include/hw/sysbus.h b/include/hw/sysbus.h
index 4c668fbbdc..27e80881da 100644
--- a/include/hw/sysbus.h
+++ b/include/hw/sysbus.h
@@ -3,7 +3,7 @@
/* Devices attached directly to the main system bus. */
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
#include "exec/memory.h"
#define QDEV_MAX_MMIO 32
diff --git a/include/hw/timer/cmsdk-apb-timer.h b/include/hw/timer/cmsdk-apb-timer.h
index f21686d26b..e93caccc3c 100644
--- a/include/hw/timer/cmsdk-apb-timer.h
+++ b/include/hw/timer/cmsdk-apb-timer.h
@@ -12,6 +12,7 @@
#ifndef CMSDK_APB_TIMER_H
#define CMSDK_APB_TIMER_H
+#include "hw/qdev-properties.h"
#include "hw/sysbus.h"
#include "hw/ptimer.h"
diff --git a/include/hw/timer/i8254.h b/include/hw/timer/i8254.h
index 608b116fcf..45cb42571f 100644
--- a/include/hw/timer/i8254.h
+++ b/include/hw/timer/i8254.h
@@ -25,7 +25,7 @@
#ifndef HW_I8254_H
#define HW_I8254_H
-#include "hw/qdev.h"
+#include "hw/qdev-properties.h"
#include "hw/isa/isa.h"
#define PIT_FREQ 1193182
diff --git a/include/hw/usb.h b/include/hw/usb.h
index 96971a4c26..c24d968a19 100644
--- a/include/hw/usb.h
+++ b/include/hw/usb.h
@@ -26,7 +26,7 @@
*/
#include "exec/memory.h"
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
#include "qemu/iov.h"
#include "qemu/queue.h"
diff --git a/include/hw/virtio/vhost-scsi-common.h b/include/hw/virtio/vhost-scsi-common.h
index 54357164f0..16bf1a73c1 100644
--- a/include/hw/virtio/vhost-scsi-common.h
+++ b/include/hw/virtio/vhost-scsi-common.h
@@ -14,7 +14,6 @@
#ifndef VHOST_SCSI_COMMON_H
#define VHOST_SCSI_COMMON_H
-#include "hw/qdev.h"
#include "hw/virtio/virtio-scsi.h"
#include "hw/virtio/vhost.h"
#include "hw/fw-path-provider.h"
diff --git a/include/hw/virtio/vhost-scsi.h b/include/hw/virtio/vhost-scsi.h
index df5bfdb188..23252153ff 100644
--- a/include/hw/virtio/vhost-scsi.h
+++ b/include/hw/virtio/vhost-scsi.h
@@ -14,7 +14,6 @@
#ifndef VHOST_SCSI_H
#define VHOST_SCSI_H
-#include "hw/qdev.h"
#include "hw/virtio/virtio-scsi.h"
#include "hw/virtio/vhost.h"
#include "hw/virtio/vhost-scsi-common.h"
diff --git a/include/hw/virtio/vhost-user-blk.h b/include/hw/virtio/vhost-user-blk.h
index 8dbf11c6f0..108bfadeeb 100644
--- a/include/hw/virtio/vhost-user-blk.h
+++ b/include/hw/virtio/vhost-user-blk.h
@@ -16,7 +16,6 @@
#define VHOST_USER_BLK_H
#include "standard-headers/linux/virtio_blk.h"
-#include "hw/qdev.h"
#include "hw/block/block.h"
#include "chardev/char-fe.h"
#include "hw/virtio/vhost.h"
diff --git a/include/hw/virtio/vhost-user-scsi.h b/include/hw/virtio/vhost-user-scsi.h
index 1b332ea910..99ab2f2cc4 100644
--- a/include/hw/virtio/vhost-user-scsi.h
+++ b/include/hw/virtio/vhost-user-scsi.h
@@ -17,7 +17,6 @@
#ifndef VHOST_USER_SCSI_H
#define VHOST_USER_SCSI_H
-#include "hw/qdev.h"
#include "hw/virtio/virtio-scsi.h"
#include "hw/virtio/vhost.h"
#include "hw/virtio/vhost-user.h"
diff --git a/include/hw/virtio/virtio-bus.h b/include/hw/virtio/virtio-bus.h
index 7fec9dc929..8c9cc25b16 100644
--- a/include/hw/virtio/virtio-bus.h
+++ b/include/hw/virtio/virtio-bus.h
@@ -25,8 +25,8 @@
#ifndef VIRTIO_BUS_H
#define VIRTIO_BUS_H
-#include "hw/qdev.h"
#include "sysemu/sysemu.h"
+#include "hw/qdev-core.h"
#include "hw/virtio/virtio.h"
#define TYPE_VIRTIO_BUS "virtio-bus"
diff --git a/include/hw/virtio/virtio-serial.h b/include/hw/virtio/virtio-serial.h
index 12657a9f39..ed3e916b68 100644
--- a/include/hw/virtio/virtio-serial.h
+++ b/include/hw/virtio/virtio-serial.h
@@ -17,7 +17,6 @@
#define QEMU_VIRTIO_SERIAL_H
#include "standard-headers/linux/virtio_console.h"
-#include "hw/qdev.h"
#include "hw/virtio/virtio.h"
struct virtio_serial_conf {
diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h
index 7bae09e3ae..df40a46d60 100644
--- a/include/hw/virtio/virtio.h
+++ b/include/hw/virtio/virtio.h
@@ -15,8 +15,8 @@
#define QEMU_VIRTIO_H
#include "exec/memory.h"
+#include "hw/qdev-core.h"
#include "net/net.h"
-#include "hw/qdev.h"
#include "sysemu/sysemu.h"
#include "migration/vmstate.h"
#include "qemu/event_notifier.h"
diff --git a/include/hw/watchdog/wdt_diag288.h b/include/hw/watchdog/wdt_diag288.h
index 706d96b753..19d83a0937 100644
--- a/include/hw/watchdog/wdt_diag288.h
+++ b/include/hw/watchdog/wdt_diag288.h
@@ -1,7 +1,7 @@
#ifndef WDT_DIAG288_H
#define WDT_DIAG288_H
-#include "hw/qdev.h"
+#include "hw/qdev-core.h"
#define TYPE_WDT_DIAG288 "diag288"
#define DIAG288(obj) \