aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorEduardo Habkost <ehabkost@redhat.com>2020-08-31 17:07:33 -0400
committerEduardo Habkost <ehabkost@redhat.com>2020-09-09 09:27:09 -0400
commit8110fa1d94f2997badc2af39231a1d279c5bb1ee (patch)
tree6bff28c7907dfb0cbb367ca113f4d02ea03f3a51 /hw
parentdb1015e92e04835c9eb50c29625fe566d1202dbd (diff)
Use DECLARE_*CHECKER* macros
Generated using: $ ./scripts/codeconverter/converter.py -i \ --pattern=TypeCheckMacro $(git grep -l '' -- '*.[ch]') Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Message-Id: <20200831210740.126168-12-ehabkost@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Message-Id: <20200831210740.126168-13-ehabkost@redhat.com> Message-Id: <20200831210740.126168-14-ehabkost@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r--hw/9pfs/virtio-9p.h4
-rw-r--r--hw/acpi/piix4.c4
-rw-r--r--hw/alpha/typhoon.c4
-rw-r--r--hw/arm/collie.c4
-rw-r--r--hw/arm/highbank.c4
-rw-r--r--hw/arm/integratorcp.c12
-rw-r--r--hw/arm/microbit.c4
-rw-r--r--hw/arm/mps2-tz.c8
-rw-r--r--hw/arm/mps2.c8
-rw-r--r--hw/arm/musca.c8
-rw-r--r--hw/arm/musicpal.c32
-rw-r--r--hw/arm/palm.c4
-rw-r--r--hw/arm/pxa2xx.c12
-rw-r--r--hw/arm/pxa2xx_gpio.c4
-rw-r--r--hw/arm/pxa2xx_pic.c4
-rw-r--r--hw/arm/raspi.c8
-rw-r--r--hw/arm/sbsa-ref.c4
-rw-r--r--hw/arm/spitz.c25
-rw-r--r--hw/arm/stellaris.c12
-rw-r--r--hw/arm/strongarm.c24
-rw-r--r--hw/arm/tosa.c7
-rw-r--r--hw/arm/versatilepb.c4
-rw-r--r--hw/arm/vexpress.c8
-rw-r--r--hw/arm/xilinx_zynq.c4
-rw-r--r--hw/arm/xlnx-versal-virt.c4
-rw-r--r--hw/arm/xlnx-zcu102.c4
-rw-r--r--hw/arm/z2.c6
-rw-r--r--hw/audio/ac97.c4
-rw-r--r--hw/audio/adlib.c3
-rw-r--r--hw/audio/cs4231.c4
-rw-r--r--hw/audio/cs4231a.c3
-rw-r--r--hw/audio/es1370.c4
-rw-r--r--hw/audio/gus.c3
-rw-r--r--hw/audio/hda-codec.c3
-rw-r--r--hw/audio/intel-hda.c4
-rw-r--r--hw/audio/intel-hda.h11
-rw-r--r--hw/audio/marvell_88w8618.c4
-rw-r--r--hw/audio/milkymist-ac97.c4
-rw-r--r--hw/audio/pcspk.c3
-rw-r--r--hw/audio/pl041.c3
-rw-r--r--hw/audio/sb16.c3
-rw-r--r--hw/audio/wm8750.c3
-rw-r--r--hw/avr/arduino.c8
-rw-r--r--hw/avr/atmega.c6
-rw-r--r--hw/avr/atmega.h3
-rw-r--r--hw/block/fdc.c13
-rw-r--r--hw/block/m25p80.c8
-rw-r--r--hw/block/nand.c4
-rw-r--r--hw/block/onenand.c3
-rw-r--r--hw/char/debugcon.c4
-rw-r--r--hw/char/etraxfs_ser.c4
-rw-r--r--hw/char/exynos4210_uart.c4
-rw-r--r--hw/char/grlib_apbuart.c4
-rw-r--r--hw/char/ipoctal232.c4
-rw-r--r--hw/char/lm32_juart.c3
-rw-r--r--hw/char/lm32_uart.c3
-rw-r--r--hw/char/mcf_uart.c3
-rw-r--r--hw/char/milkymist-uart.c4
-rw-r--r--hw/char/parallel.c4
-rw-r--r--hw/char/sclpconsole-lm.c4
-rw-r--r--hw/char/sclpconsole.c4
-rw-r--r--hw/char/serial-isa.c3
-rw-r--r--hw/char/serial-pci.c3
-rw-r--r--hw/char/spapr_vty.c4
-rw-r--r--hw/char/terminal3270.c4
-rw-r--r--hw/char/virtio-console.c4
-rw-r--r--hw/char/xilinx_uartlite.c4
-rw-r--r--hw/core/irq.c3
-rw-r--r--hw/cpu/realview_mpcore.c4
-rw-r--r--hw/display/ads7846.c3
-rw-r--r--hw/display/artist.c3
-rw-r--r--hw/display/ati_int.h3
-rw-r--r--hw/display/bochs-display.c4
-rw-r--r--hw/display/cg3.c3
-rw-r--r--hw/display/cirrus_vga.c4
-rw-r--r--hw/display/cirrus_vga_isa.c4
-rw-r--r--hw/display/exynos4210_fimd.c4
-rw-r--r--hw/display/g364fb.c3
-rw-r--r--hw/display/jazz_led.c3
-rw-r--r--hw/display/milkymist-tmu2.c4
-rw-r--r--hw/display/milkymist-vgafb.c4
-rw-r--r--hw/display/next-fb.c3
-rw-r--r--hw/display/pl110.c3
-rw-r--r--hw/display/qxl.h3
-rw-r--r--hw/display/ramfb-standalone.c3
-rw-r--r--hw/display/sii9022.c3
-rw-r--r--hw/display/sm501.c7
-rw-r--r--hw/display/ssd0303.c3
-rw-r--r--hw/display/ssd0323.c3
-rw-r--r--hw/display/tcx.c3
-rw-r--r--hw/display/vga-isa.c3
-rw-r--r--hw/display/vga-pci.c3
-rw-r--r--hw/display/vhost-user-gpu-pci.c4
-rw-r--r--hw/display/vhost-user-vga.c4
-rw-r--r--hw/display/virtio-gpu-pci.c4
-rw-r--r--hw/display/virtio-vga.c4
-rw-r--r--hw/display/virtio-vga.h8
-rw-r--r--hw/display/vmware_vga.c4
-rw-r--r--hw/dma/i82374.c3
-rw-r--r--hw/dma/pl330.c3
-rw-r--r--hw/dma/puv3_dma.c3
-rw-r--r--hw/dma/pxa2xx_dma.c3
-rw-r--r--hw/dma/rc4030.c4
-rw-r--r--hw/dma/xilinx_axidma.c14
-rw-r--r--hw/gpio/gpio_key.c3
-rw-r--r--hw/gpio/max7310.c3
-rw-r--r--hw/gpio/mpc8xxx.c3
-rw-r--r--hw/gpio/pl061.c3
-rw-r--r--hw/gpio/puv3_gpio.c3
-rw-r--r--hw/gpio/zaurus.c3
-rw-r--r--hw/hppa/dino.c4
-rw-r--r--hw/hppa/lasi.c4
-rw-r--r--hw/hyperv/hyperv.c3
-rw-r--r--hw/hyperv/hyperv_testdev.c4
-rw-r--r--hw/i2c/bitbang_i2c.c3
-rw-r--r--hw/i2c/exynos4210_i2c.c4
-rw-r--r--hw/i2c/mpc_i2c.c4
-rw-r--r--hw/i2c/smbus_eeprom.c4
-rw-r--r--hw/i2c/smbus_ich9.c4
-rw-r--r--hw/i2c/versatile_i2c.c4
-rw-r--r--hw/i386/amd_iommu.h4
-rw-r--r--hw/i386/kvm/clock.c3
-rw-r--r--hw/i386/kvm/i8254.c7
-rw-r--r--hw/i386/kvm/i8259.c6
-rw-r--r--hw/i386/kvmvapic.c3
-rw-r--r--hw/i386/port92.c3
-rw-r--r--hw/i386/vmmouse.c3
-rw-r--r--hw/i386/vmport.c3
-rw-r--r--hw/i386/xen/xen_platform.c4
-rw-r--r--hw/i386/xen/xen_pvdevice.c4
-rw-r--r--hw/ide/isa.c3
-rw-r--r--hw/ide/microdrive.c3
-rw-r--r--hw/ide/mmio.c3
-rw-r--r--hw/ide/sii3112.c2
-rw-r--r--hw/input/adb-kbd.c7
-rw-r--r--hw/input/adb-mouse.c7
-rw-r--r--hw/input/lm832x.c3
-rw-r--r--hw/input/milkymist-softusb.c4
-rw-r--r--hw/input/pl050.c3
-rw-r--r--hw/intc/arm_gicv2m.c3
-rw-r--r--hw/intc/etraxfs_pic.c4
-rw-r--r--hw/intc/exynos4210_combiner.c4
-rw-r--r--hw/intc/exynos4210_gic.c8
-rw-r--r--hw/intc/grlib_irqmp.c3
-rw-r--r--hw/intc/i8259.c4
-rw-r--r--hw/intc/lm32_pic.c3
-rw-r--r--hw/intc/loongson_liointc.c4
-rw-r--r--hw/intc/nios2_iic.c4
-rw-r--r--hw/intc/ompic.c3
-rw-r--r--hw/intc/openpic_kvm.c4
-rw-r--r--hw/intc/pl190.c3
-rw-r--r--hw/intc/puv3_intc.c3
-rw-r--r--hw/intc/s390_flic_kvm.c6
-rw-r--r--hw/intc/slavio_intctl.c4
-rw-r--r--hw/intc/xilinx_intc.c3
-rw-r--r--hw/ipack/tpci200.c4
-rw-r--r--hw/ipmi/ipmi_bmc_extern.c4
-rw-r--r--hw/ipmi/isa_ipmi_bt.c4
-rw-r--r--hw/ipmi/isa_ipmi_kcs.c4
-rw-r--r--hw/ipmi/pci_ipmi_bt.c4
-rw-r--r--hw/ipmi/pci_ipmi_kcs.c4
-rw-r--r--hw/ipmi/smbus_ipmi.c3
-rw-r--r--hw/isa/i82378.c4
-rw-r--r--hw/isa/piix4.c4
-rw-r--r--hw/isa/vt82c686.c16
-rw-r--r--hw/m68k/mcf_intc.c3
-rw-r--r--hw/m68k/next-cube.c3
-rw-r--r--hw/m68k/next-kbd.c3
-rw-r--r--hw/microblaze/xlnx-zynqmp-pmu.c4
-rw-r--r--hw/mips/boston.c3
-rw-r--r--hw/mips/gt64xxx_pci.c4
-rw-r--r--hw/mips/malta.c3
-rw-r--r--hw/misc/applesmc.c3
-rw-r--r--hw/misc/arm_integrator_debug.c4
-rw-r--r--hw/misc/arm_l2x0.c3
-rw-r--r--hw/misc/arm_sysctl.c4
-rw-r--r--hw/misc/debugexit.c4
-rw-r--r--hw/misc/eccmemctl.c3
-rw-r--r--hw/misc/edu.c3
-rw-r--r--hw/misc/empty_slot.c3
-rw-r--r--hw/misc/exynos4210_clk.c4
-rw-r--r--hw/misc/exynos4210_pmu.c4
-rw-r--r--hw/misc/exynos4210_rng.c4
-rw-r--r--hw/misc/ivshmem.c16
-rw-r--r--hw/misc/milkymist-hpdmc.c4
-rw-r--r--hw/misc/milkymist-pfpu.c4
-rw-r--r--hw/misc/mst_fpga.c4
-rw-r--r--hw/misc/pc-testdev.c4
-rw-r--r--hw/misc/pca9552.c6
-rw-r--r--hw/misc/pci-testdev.c4
-rw-r--r--hw/misc/puv3_pm.c3
-rw-r--r--hw/misc/pvpanic.c4
-rw-r--r--hw/misc/sga.c3
-rw-r--r--hw/misc/slavio_misc.c6
-rw-r--r--hw/misc/tmp105.h3
-rw-r--r--hw/misc/tmp421.c7
-rw-r--r--hw/misc/zynq_slcr.c3
-rw-r--r--hw/net/can/can_kvaser_pci.c4
-rw-r--r--hw/net/can/can_mioe3680_pci.c4
-rw-r--r--hw/net/can/can_pcm3680_pci.c4
-rw-r--r--hw/net/dp8393x.c3
-rw-r--r--hw/net/e1000.c8
-rw-r--r--hw/net/e1000e.c3
-rw-r--r--hw/net/etraxfs_eth.c4
-rw-r--r--hw/net/fsl_etsec/etsec.h4
-rw-r--r--hw/net/lan9118.c3
-rw-r--r--hw/net/milkymist-minimac2.c4
-rw-r--r--hw/net/mipsnet.c3
-rw-r--r--hw/net/ne2000-isa.c3
-rw-r--r--hw/net/opencores_eth.c3
-rw-r--r--hw/net/pcnet-pci.c4
-rw-r--r--hw/net/rocker/rocker.h4
-rw-r--r--hw/net/rtl8139.c4
-rw-r--r--hw/net/smc91c111.c3
-rw-r--r--hw/net/spapr_llan.c4
-rw-r--r--hw/net/stellaris_enet.c4
-rw-r--r--hw/net/sungem.c3
-rw-r--r--hw/net/sunhme.c3
-rw-r--r--hw/net/tulip.h3
-rw-r--r--hw/net/vmxnet3.c6
-rw-r--r--hw/net/vmxnet3_defs.h3
-rw-r--r--hw/net/xgmac.c3
-rw-r--r--hw/net/xilinx_axienet.c14
-rw-r--r--hw/net/xilinx_ethlite.c4
-rw-r--r--hw/nvram/ds1225y.c3
-rw-r--r--hw/nvram/eeprom_at24c.c3
-rw-r--r--hw/nvram/spapr_nvram.c4
-rw-r--r--hw/pci-bridge/dec.c3
-rw-r--r--hw/pci-bridge/gen_pcie_root_port.c4
-rw-r--r--hw/pci-bridge/pci_bridge_dev.c4
-rw-r--r--hw/pci-bridge/pci_expander_bridge.c12
-rw-r--r--hw/pci-bridge/pcie_pci_bridge.c4
-rw-r--r--hw/pci-host/bonito.c8
-rw-r--r--hw/pci-host/grackle.c4
-rw-r--r--hw/pci-host/i440fx.c4
-rw-r--r--hw/pci-host/pnv_phb3.c4
-rw-r--r--hw/pci-host/pnv_phb4.c4
-rw-r--r--hw/pci-host/ppce500.c8
-rw-r--r--hw/pci-host/prep.c8
-rw-r--r--hw/pci-host/versatile.c8
-rw-r--r--hw/ppc/e500-ccsr.h3
-rw-r--r--hw/ppc/e500.h8
-rw-r--r--hw/ppc/mac.h8
-rw-r--r--hw/ppc/mpc8544_guts.c3
-rw-r--r--hw/ppc/ppc440_pcix.c4
-rw-r--r--hw/ppc/ppc440_uc.c4
-rw-r--r--hw/ppc/ppc4xx_pci.c4
-rw-r--r--hw/ppc/ppce500_spin.c3
-rw-r--r--hw/ppc/prep_systemio.c4
-rw-r--r--hw/ppc/rs6000_mc.c4
-rw-r--r--hw/ppc/spapr_rng.c4
-rw-r--r--hw/rdma/vmw/pvrdma.h3
-rw-r--r--hw/rtc/ds1338.c3
-rw-r--r--hw/rtc/exynos4210_rtc.c4
-rw-r--r--hw/rtc/m41t80.c3
-rw-r--r--hw/rtc/m48t59-isa.c8
-rw-r--r--hw/rtc/m48t59.c8
-rw-r--r--hw/rtc/sun4v-rtc.c3
-rw-r--r--hw/rtc/twl92230.c3
-rw-r--r--hw/rx/rx-gdbsim.c8
-rw-r--r--hw/rx/rx62n.c6
-rw-r--r--hw/s390x/ccw-device.h7
-rw-r--r--hw/s390x/ipl.h3
-rw-r--r--hw/s390x/s390-pci-bus.h16
-rw-r--r--hw/s390x/virtio-ccw.h68
-rw-r--r--hw/scsi/esp-pci.c8
-rw-r--r--hw/scsi/lsi53c895a.c4
-rw-r--r--hw/scsi/megasas.c8
-rw-r--r--hw/scsi/mptsas.h4
-rw-r--r--hw/scsi/scsi-disk.c8
-rw-r--r--hw/scsi/spapr_vscsi.c4
-rw-r--r--hw/scsi/vmw_pvscsi.c7
-rw-r--r--hw/sd/milkymist-memcard.c4
-rw-r--r--hw/sd/pl181.c3
-rw-r--r--hw/sd/ssi-sd.c3
-rw-r--r--hw/sh4/sh_pci.c4
-rw-r--r--hw/sparc/sun4m.c13
-rw-r--r--hw/sparc64/sun4u.c12
-rw-r--r--hw/ssi/ssi.c3
-rw-r--r--hw/ssi/xilinx_spi.c3
-rw-r--r--hw/timer/altera_timer.c4
-rw-r--r--hw/timer/arm_timer.c7
-rw-r--r--hw/timer/cadence_ttc.c4
-rw-r--r--hw/timer/etraxfs_timer.c4
-rw-r--r--hw/timer/exynos4210_mct.c4
-rw-r--r--hw/timer/exynos4210_pwm.c4
-rw-r--r--hw/timer/grlib_gptimer.c4
-rw-r--r--hw/timer/hpet.c3
-rw-r--r--hw/timer/i8254.c4
-rw-r--r--hw/timer/lm32_timer.c3
-rw-r--r--hw/timer/milkymist-sysctl.c4
-rw-r--r--hw/timer/puv3_ost.c3
-rw-r--r--hw/timer/pxa2xx_timer.c4
-rw-r--r--hw/timer/slavio_timer.c4
-rw-r--r--hw/timer/xilinx_timer.c4
-rw-r--r--hw/tpm/tpm_crb.c3
-rw-r--r--hw/tpm/tpm_spapr.c4
-rw-r--r--hw/tpm/tpm_tis_isa.c3
-rw-r--r--hw/tpm/tpm_tis_sysbus.c3
-rw-r--r--hw/usb/ccid-card-emulated.c4
-rw-r--r--hw/usb/ccid-card-passthru.c4
-rw-r--r--hw/usb/ccid.h8
-rw-r--r--hw/usb/dev-audio.c3
-rw-r--r--hw/usb/dev-hid.c3
-rw-r--r--hw/usb/dev-hub.c3
-rw-r--r--hw/usb/dev-mtp.c3
-rw-r--r--hw/usb/dev-network.c3
-rw-r--r--hw/usb/dev-serial.c3
-rw-r--r--hw/usb/dev-smartcard-reader.c6
-rw-r--r--hw/usb/dev-storage.c3
-rw-r--r--hw/usb/dev-uas.c3
-rw-r--r--hw/usb/dev-wacom.c3
-rw-r--r--hw/usb/hcd-dwc2.h8
-rw-r--r--hw/usb/hcd-ehci.h15
-rw-r--r--hw/usb/hcd-ohci-pci.c3
-rw-r--r--hw/usb/hcd-ohci.h3
-rw-r--r--hw/usb/hcd-uhci.c3
-rw-r--r--hw/usb/hcd-xhci.h4
-rw-r--r--hw/usb/host-libusb.c4
-rw-r--r--hw/usb/redirect.c3
-rw-r--r--hw/usb/tusb6010.c3
-rw-r--r--hw/vfio/ap.c4
-rw-r--r--hw/vfio/pci.h3
-rw-r--r--hw/virtio/vhost-scsi-pci.c4
-rw-r--r--hw/virtio/vhost-user-blk-pci.c4
-rw-r--r--hw/virtio/vhost-user-fs-pci.c4
-rw-r--r--hw/virtio/vhost-user-input-pci.c4
-rw-r--r--hw/virtio/vhost-user-scsi-pci.c4
-rw-r--r--hw/virtio/vhost-user-vsock-pci.c4
-rw-r--r--hw/virtio/vhost-vsock-pci.c4
-rw-r--r--hw/virtio/virtio-9p-pci.c4
-rw-r--r--hw/virtio/virtio-balloon-pci.c4
-rw-r--r--hw/virtio/virtio-blk-pci.c4
-rw-r--r--hw/virtio/virtio-crypto-pci.c4
-rw-r--r--hw/virtio/virtio-input-host-pci.c4
-rw-r--r--hw/virtio/virtio-input-pci.c8
-rw-r--r--hw/virtio/virtio-iommu-pci.c4
-rw-r--r--hw/virtio/virtio-mem-pci.h4
-rw-r--r--hw/virtio/virtio-net-pci.c4
-rw-r--r--hw/virtio/virtio-pci.h16
-rw-r--r--hw/virtio/virtio-pmem-pci.h4
-rw-r--r--hw/virtio/virtio-rng-pci.c4
-rw-r--r--hw/virtio/virtio-scsi-pci.c4
-rw-r--r--hw/virtio/virtio-serial-pci.c4
-rw-r--r--hw/watchdog/wdt_i6300esb.c4
-rw-r--r--hw/watchdog/wdt_ib700.c3
-rw-r--r--hw/xen/xen_pt.h4
347 files changed, 853 insertions, 829 deletions
diff --git a/hw/9pfs/virtio-9p.h b/hw/9pfs/virtio-9p.h
index 6dd945ecda..ff70c5a971 100644
--- a/hw/9pfs/virtio-9p.h
+++ b/hw/9pfs/virtio-9p.h
@@ -16,7 +16,7 @@ struct V9fsVirtioState {
typedef struct V9fsVirtioState V9fsVirtioState;
#define TYPE_VIRTIO_9P "virtio-9p-device"
-#define VIRTIO_9P(obj) \
- OBJECT_CHECK(V9fsVirtioState, (obj), TYPE_VIRTIO_9P)
+DECLARE_INSTANCE_CHECKER(V9fsVirtioState, VIRTIO_9P,
+ TYPE_VIRTIO_9P)
#endif
diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c
index ba39184650..1574f7db3e 100644
--- a/hw/acpi/piix4.c
+++ b/hw/acpi/piix4.c
@@ -93,8 +93,8 @@ struct PIIX4PMState {
};
typedef struct PIIX4PMState PIIX4PMState;
-#define PIIX4_PM(obj) \
- OBJECT_CHECK(PIIX4PMState, (obj), TYPE_PIIX4_PM)
+DECLARE_INSTANCE_CHECKER(PIIX4PMState, PIIX4_PM,
+ TYPE_PIIX4_PM)
static void piix4_acpi_system_hot_add_init(MemoryRegion *parent,
PCIBus *bus, PIIX4PMState *s);
diff --git a/hw/alpha/typhoon.c b/hw/alpha/typhoon.c
index bd484e42bd..d02b14d89f 100644
--- a/hw/alpha/typhoon.c
+++ b/hw/alpha/typhoon.c
@@ -51,8 +51,8 @@ typedef struct TyphoonPchip {
} TyphoonPchip;
typedef struct TyphoonState TyphoonState;
-#define TYPHOON_PCI_HOST_BRIDGE(obj) \
- OBJECT_CHECK(TyphoonState, (obj), TYPE_TYPHOON_PCI_HOST_BRIDGE)
+DECLARE_INSTANCE_CHECKER(TyphoonState, TYPHOON_PCI_HOST_BRIDGE,
+ TYPE_TYPHOON_PCI_HOST_BRIDGE)
struct TyphoonState {
PCIHostState parent_obj;
diff --git a/hw/arm/collie.c b/hw/arm/collie.c
index 82ffc82dc7..a49f4a1c7c 100644
--- a/hw/arm/collie.c
+++ b/hw/arm/collie.c
@@ -28,8 +28,8 @@ struct CollieMachineState {
typedef struct CollieMachineState CollieMachineState;
#define TYPE_COLLIE_MACHINE MACHINE_TYPE_NAME("collie")
-#define COLLIE_MACHINE(obj) \
- OBJECT_CHECK(CollieMachineState, obj, TYPE_COLLIE_MACHINE)
+DECLARE_INSTANCE_CHECKER(CollieMachineState, COLLIE_MACHINE,
+ TYPE_COLLIE_MACHINE)
static struct arm_boot_info collie_binfo = {
.loader_start = SA_SDCS0,
diff --git a/hw/arm/highbank.c b/hw/arm/highbank.c
index cbf6e72ad6..e2ace803ef 100644
--- a/hw/arm/highbank.c
+++ b/hw/arm/highbank.c
@@ -157,8 +157,8 @@ static const MemoryRegionOps hb_mem_ops = {
#define TYPE_HIGHBANK_REGISTERS "highbank-regs"
typedef struct HighbankRegsState HighbankRegsState;
-#define HIGHBANK_REGISTERS(obj) \
- OBJECT_CHECK(HighbankRegsState, (obj), TYPE_HIGHBANK_REGISTERS)
+DECLARE_INSTANCE_CHECKER(HighbankRegsState, HIGHBANK_REGISTERS,
+ TYPE_HIGHBANK_REGISTERS)
struct HighbankRegsState {
/*< private >*/
diff --git a/hw/arm/integratorcp.c b/hw/arm/integratorcp.c
index 75e608e68e..19989b61b9 100644
--- a/hw/arm/integratorcp.c
+++ b/hw/arm/integratorcp.c
@@ -30,8 +30,8 @@
#define TYPE_INTEGRATOR_CM "integrator_core"
typedef struct IntegratorCMState IntegratorCMState;
-#define INTEGRATOR_CM(obj) \
- OBJECT_CHECK(IntegratorCMState, (obj), TYPE_INTEGRATOR_CM)
+DECLARE_INSTANCE_CHECKER(IntegratorCMState, INTEGRATOR_CM,
+ TYPE_INTEGRATOR_CM)
struct IntegratorCMState {
/*< private >*/
@@ -329,8 +329,8 @@ static void integratorcm_realize(DeviceState *d, Error **errp)
#define TYPE_INTEGRATOR_PIC "integrator_pic"
typedef struct icp_pic_state icp_pic_state;
-#define INTEGRATOR_PIC(obj) \
- OBJECT_CHECK(icp_pic_state, (obj), TYPE_INTEGRATOR_PIC)
+DECLARE_INSTANCE_CHECKER(icp_pic_state, INTEGRATOR_PIC,
+ TYPE_INTEGRATOR_PIC)
struct icp_pic_state {
/*< private >*/
@@ -469,8 +469,8 @@ static void icp_pic_init(Object *obj)
#define TYPE_ICP_CONTROL_REGS "icp-ctrl-regs"
typedef struct ICPCtrlRegsState ICPCtrlRegsState;
-#define ICP_CONTROL_REGS(obj) \
- OBJECT_CHECK(ICPCtrlRegsState, (obj), TYPE_ICP_CONTROL_REGS)
+DECLARE_INSTANCE_CHECKER(ICPCtrlRegsState, ICP_CONTROL_REGS,
+ TYPE_ICP_CONTROL_REGS)
struct ICPCtrlRegsState {
/*< private >*/
diff --git a/hw/arm/microbit.c b/hw/arm/microbit.c
index e94f711e89..9a4a3d357a 100644
--- a/hw/arm/microbit.c
+++ b/hw/arm/microbit.c
@@ -30,8 +30,8 @@ typedef struct MicrobitMachineState MicrobitMachineState;
#define TYPE_MICROBIT_MACHINE MACHINE_TYPE_NAME("microbit")
-#define MICROBIT_MACHINE(obj) \
- OBJECT_CHECK(MicrobitMachineState, obj, TYPE_MICROBIT_MACHINE)
+DECLARE_INSTANCE_CHECKER(MicrobitMachineState, MICROBIT_MACHINE,
+ TYPE_MICROBIT_MACHINE)
static void microbit_init(MachineState *machine)
{
diff --git a/hw/arm/mps2-tz.c b/hw/arm/mps2-tz.c
index 8870aea814..dbf7d63dc8 100644
--- a/hw/arm/mps2-tz.c
+++ b/hw/arm/mps2-tz.c
@@ -108,12 +108,8 @@ typedef struct MPS2TZMachineState MPS2TZMachineState;
#define TYPE_MPS2TZ_AN505_MACHINE MACHINE_TYPE_NAME("mps2-an505")
#define TYPE_MPS2TZ_AN521_MACHINE MACHINE_TYPE_NAME("mps2-an521")
-#define MPS2TZ_MACHINE(obj) \
- OBJECT_CHECK(MPS2TZMachineState, obj, TYPE_MPS2TZ_MACHINE)
-#define MPS2TZ_MACHINE_GET_CLASS(obj) \
- OBJECT_GET_CLASS(MPS2TZMachineClass, obj, TYPE_MPS2TZ_MACHINE)
-#define MPS2TZ_MACHINE_CLASS(klass) \
- OBJECT_CLASS_CHECK(MPS2TZMachineClass, klass, TYPE_MPS2TZ_MACHINE)
+DECLARE_OBJ_CHECKERS(MPS2TZMachineState, MPS2TZMachineClass,
+ MPS2TZ_MACHINE, TYPE_MPS2TZ_MACHINE)
/* Main SYSCLK frequency in Hz */
#define SYSCLK_FRQ 20000000
diff --git a/hw/arm/mps2.c b/hw/arm/mps2.c
index b5173e398d..4ee5c38459 100644
--- a/hw/arm/mps2.c
+++ b/hw/arm/mps2.c
@@ -84,12 +84,8 @@ typedef struct MPS2MachineState MPS2MachineState;
#define TYPE_MPS2_AN385_MACHINE MACHINE_TYPE_NAME("mps2-an385")
#define TYPE_MPS2_AN511_MACHINE MACHINE_TYPE_NAME("mps2-an511")
-#define MPS2_MACHINE(obj) \
- OBJECT_CHECK(MPS2MachineState, obj, TYPE_MPS2_MACHINE)
-#define MPS2_MACHINE_GET_CLASS(obj) \
- OBJECT_GET_CLASS(MPS2MachineClass, obj, TYPE_MPS2_MACHINE)
-#define MPS2_MACHINE_CLASS(klass) \
- OBJECT_CLASS_CHECK(MPS2MachineClass, klass, TYPE_MPS2_MACHINE)
+DECLARE_OBJ_CHECKERS(MPS2MachineState, MPS2MachineClass,
+ MPS2_MACHINE, TYPE_MPS2_MACHINE)
/* Main SYSCLK frequency in Hz */
#define SYSCLK_FRQ 25000000
diff --git a/hw/arm/musca.c b/hw/arm/musca.c
index 7fd8634ac5..16015255c8 100644
--- a/hw/arm/musca.c
+++ b/hw/arm/musca.c
@@ -90,12 +90,8 @@ typedef struct MuscaMachineState MuscaMachineState;
#define TYPE_MUSCA_A_MACHINE MACHINE_TYPE_NAME("musca-a")
#define TYPE_MUSCA_B1_MACHINE MACHINE_TYPE_NAME("musca-b1")
-#define MUSCA_MACHINE(obj) \
- OBJECT_CHECK(MuscaMachineState, obj, TYPE_MUSCA_MACHINE)
-#define MUSCA_MACHINE_GET_CLASS(obj) \
- OBJECT_GET_CLASS(MuscaMachineClass, obj, TYPE_MUSCA_MACHINE)
-#define MUSCA_MACHINE_CLASS(klass) \
- OBJECT_CLASS_CHECK(MuscaMachineClass, klass, TYPE_MUSCA_MACHINE)
+DECLARE_OBJ_CHECKERS(MuscaMachineState, MuscaMachineClass,
+ MUSCA_MACHINE, TYPE_MUSCA_MACHINE)
/*
* Main SYSCLK frequency in Hz
diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
index 695699e01e..2117a04171 100644
--- a/hw/arm/musicpal.c
+++ b/hw/arm/musicpal.c
@@ -156,8 +156,8 @@ typedef struct mv88w8618_rx_desc {
#define TYPE_MV88W8618_ETH "mv88w8618_eth"
typedef struct mv88w8618_eth_state mv88w8618_eth_state;
-#define MV88W8618_ETH(obj) \
- OBJECT_CHECK(mv88w8618_eth_state, (obj), TYPE_MV88W8618_ETH)
+DECLARE_INSTANCE_CHECKER(mv88w8618_eth_state, MV88W8618_ETH,
+ TYPE_MV88W8618_ETH)
struct mv88w8618_eth_state {
/*< private >*/
@@ -486,8 +486,8 @@ static const TypeInfo mv88w8618_eth_info = {
#define TYPE_MUSICPAL_LCD "musicpal_lcd"
typedef struct musicpal_lcd_state musicpal_lcd_state;
-#define MUSICPAL_LCD(obj) \
- OBJECT_CHECK(musicpal_lcd_state, (obj), TYPE_MUSICPAL_LCD)
+DECLARE_INSTANCE_CHECKER(musicpal_lcd_state, MUSICPAL_LCD,
+ TYPE_MUSICPAL_LCD)
struct musicpal_lcd_state {
/*< private >*/
@@ -704,8 +704,8 @@ static const TypeInfo musicpal_lcd_info = {
#define TYPE_MV88W8618_PIC "mv88w8618_pic"
typedef struct mv88w8618_pic_state mv88w8618_pic_state;
-#define MV88W8618_PIC(obj) \
- OBJECT_CHECK(mv88w8618_pic_state, (obj), TYPE_MV88W8618_PIC)
+DECLARE_INSTANCE_CHECKER(mv88w8618_pic_state, MV88W8618_PIC,
+ TYPE_MV88W8618_PIC)
struct mv88w8618_pic_state {
/*< private >*/
@@ -842,8 +842,8 @@ typedef struct mv88w8618_timer_state {
#define TYPE_MV88W8618_PIT "mv88w8618_pit"
typedef struct mv88w8618_pit_state mv88w8618_pit_state;
-#define MV88W8618_PIT(obj) \
- OBJECT_CHECK(mv88w8618_pit_state, (obj), TYPE_MV88W8618_PIT)
+DECLARE_INSTANCE_CHECKER(mv88w8618_pit_state, MV88W8618_PIT,
+ TYPE_MV88W8618_PIT)
struct mv88w8618_pit_state {
/*< private >*/
@@ -1010,8 +1010,8 @@ static const TypeInfo mv88w8618_pit_info = {
#define TYPE_MV88W8618_FLASHCFG "mv88w8618_flashcfg"
typedef struct mv88w8618_flashcfg_state mv88w8618_flashcfg_state;
-#define MV88W8618_FLASHCFG(obj) \
- OBJECT_CHECK(mv88w8618_flashcfg_state, (obj), TYPE_MV88W8618_FLASHCFG)
+DECLARE_INSTANCE_CHECKER(mv88w8618_flashcfg_state, MV88W8618_FLASHCFG,
+ TYPE_MV88W8618_FLASHCFG)
struct mv88w8618_flashcfg_state {
/*< private >*/
@@ -1103,8 +1103,8 @@ struct MusicPalMiscState {
typedef struct MusicPalMiscState MusicPalMiscState;
#define TYPE_MUSICPAL_MISC "musicpal-misc"
-#define MUSICPAL_MISC(obj) \
- OBJECT_CHECK(MusicPalMiscState, (obj), TYPE_MUSICPAL_MISC)
+DECLARE_INSTANCE_CHECKER(MusicPalMiscState, MUSICPAL_MISC,
+ TYPE_MUSICPAL_MISC)
static uint64_t musicpal_misc_read(void *opaque, hwaddr offset,
unsigned size)
@@ -1210,8 +1210,8 @@ static void mv88w8618_wlan_realize(DeviceState *dev, Error **errp)
#define TYPE_MUSICPAL_GPIO "musicpal_gpio"
typedef struct musicpal_gpio_state musicpal_gpio_state;
-#define MUSICPAL_GPIO(obj) \
- OBJECT_CHECK(musicpal_gpio_state, (obj), TYPE_MUSICPAL_GPIO)
+DECLARE_INSTANCE_CHECKER(musicpal_gpio_state, MUSICPAL_GPIO,
+ TYPE_MUSICPAL_GPIO)
struct musicpal_gpio_state {
/*< private >*/
@@ -1461,8 +1461,8 @@ static const TypeInfo musicpal_gpio_info = {
#define TYPE_MUSICPAL_KEY "musicpal_key"
typedef struct musicpal_key_state musicpal_key_state;
-#define MUSICPAL_KEY(obj) \
- OBJECT_CHECK(musicpal_key_state, (obj), TYPE_MUSICPAL_KEY)
+DECLARE_INSTANCE_CHECKER(musicpal_key_state, MUSICPAL_KEY,
+ TYPE_MUSICPAL_KEY)
struct musicpal_key_state {
/*< private >*/
diff --git a/hw/arm/palm.c b/hw/arm/palm.c
index ddabb0e2d6..abc6495489 100644
--- a/hw/arm/palm.c
+++ b/hw/arm/palm.c
@@ -134,8 +134,8 @@ static void palmte_button_event(void *opaque, int keycode)
#define TYPE_PALM_MISC_GPIO "palm-misc-gpio"
typedef struct PalmMiscGPIOState PalmMiscGPIOState;
-#define PALM_MISC_GPIO(obj) \
- OBJECT_CHECK(PalmMiscGPIOState, (obj), TYPE_PALM_MISC_GPIO)
+DECLARE_INSTANCE_CHECKER(PalmMiscGPIOState, PALM_MISC_GPIO,
+ TYPE_PALM_MISC_GPIO)
struct PalmMiscGPIOState {
SysBusDevice parent_obj;
diff --git a/hw/arm/pxa2xx.c b/hw/arm/pxa2xx.c
index a48a32ee09..701baa84ca 100644
--- a/hw/arm/pxa2xx.c
+++ b/hw/arm/pxa2xx.c
@@ -471,8 +471,8 @@ static const VMStateDescription vmstate_pxa2xx_mm = {
#define TYPE_PXA2XX_SSP "pxa2xx-ssp"
typedef struct PXA2xxSSPState PXA2xxSSPState;
-#define PXA2XX_SSP(obj) \
- OBJECT_CHECK(PXA2xxSSPState, (obj), TYPE_PXA2XX_SSP)
+DECLARE_INSTANCE_CHECKER(PXA2xxSSPState, PXA2XX_SSP,
+ TYPE_PXA2XX_SSP)
/* Synchronous Serial Ports */
struct PXA2xxSSPState {
@@ -812,8 +812,8 @@ static void pxa2xx_ssp_init(Object *obj)
#define TYPE_PXA2XX_RTC "pxa2xx_rtc"
typedef struct PXA2xxRTCState PXA2xxRTCState;
-#define PXA2XX_RTC(obj) \
- OBJECT_CHECK(PXA2xxRTCState, (obj), TYPE_PXA2XX_RTC)
+DECLARE_INSTANCE_CHECKER(PXA2xxRTCState, PXA2XX_RTC,
+ TYPE_PXA2XX_RTC)
struct PXA2xxRTCState {
/*< private >*/
@@ -1246,8 +1246,8 @@ static const TypeInfo pxa2xx_rtc_sysbus_info = {
#define TYPE_PXA2XX_I2C_SLAVE "pxa2xx-i2c-slave"
typedef struct PXA2xxI2CSlaveState PXA2xxI2CSlaveState;
-#define PXA2XX_I2C_SLAVE(obj) \
- OBJECT_CHECK(PXA2xxI2CSlaveState, (obj), TYPE_PXA2XX_I2C_SLAVE)
+DECLARE_INSTANCE_CHECKER(PXA2xxI2CSlaveState, PXA2XX_I2C_SLAVE,
+ TYPE_PXA2XX_I2C_SLAVE)
struct PXA2xxI2CSlaveState {
I2CSlave parent_obj;
diff --git a/hw/arm/pxa2xx_gpio.c b/hw/arm/pxa2xx_gpio.c
index 2cd6dd929e..16bbe4fb70 100644
--- a/hw/arm/pxa2xx_gpio.c
+++ b/hw/arm/pxa2xx_gpio.c
@@ -23,8 +23,8 @@
#define TYPE_PXA2XX_GPIO "pxa2xx-gpio"
typedef struct PXA2xxGPIOInfo PXA2xxGPIOInfo;
-#define PXA2XX_GPIO(obj) \
- OBJECT_CHECK(PXA2xxGPIOInfo, (obj), TYPE_PXA2XX_GPIO)
+DECLARE_INSTANCE_CHECKER(PXA2xxGPIOInfo, PXA2XX_GPIO,
+ TYPE_PXA2XX_GPIO)
struct PXA2xxGPIOInfo {
/*< private >*/
diff --git a/hw/arm/pxa2xx_pic.c b/hw/arm/pxa2xx_pic.c
index 00e72fde4e..cb52a9dff3 100644
--- a/hw/arm/pxa2xx_pic.c
+++ b/hw/arm/pxa2xx_pic.c
@@ -39,8 +39,8 @@
#define TYPE_PXA2XX_PIC "pxa2xx_pic"
typedef struct PXA2xxPICState PXA2xxPICState;
-#define PXA2XX_PIC(obj) \
- OBJECT_CHECK(PXA2xxPICState, (obj), TYPE_PXA2XX_PIC)
+DECLARE_INSTANCE_CHECKER(PXA2xxPICState, PXA2XX_PIC,
+ TYPE_PXA2XX_PIC)
struct PXA2xxPICState {
/*< private >*/
diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c
index d9f7eeb06b..d2f674587d 100644
--- a/hw/arm/raspi.c
+++ b/hw/arm/raspi.c
@@ -53,13 +53,9 @@ struct RaspiMachineClass {
typedef struct RaspiMachineClass RaspiMachineClass;
#define TYPE_RASPI_MACHINE MACHINE_TYPE_NAME("raspi-common")
-#define RASPI_MACHINE(obj) \
- OBJECT_CHECK(RaspiMachineState, (obj), TYPE_RASPI_MACHINE)
+DECLARE_OBJ_CHECKERS(RaspiMachineState, RaspiMachineClass,
+ RASPI_MACHINE, TYPE_RASPI_MACHINE)
-#define RASPI_MACHINE_CLASS(klass) \
- OBJECT_CLASS_CHECK(RaspiMachineClass, (klass), TYPE_RASPI_MACHINE)
-#define RASPI_MACHINE_GET_CLASS(obj) \
- OBJECT_GET_CLASS(RaspiMachineClass, (obj), TYPE_RASPI_MACHINE)
/*
* Board revision codes:
diff --git a/hw/arm/sbsa-ref.c b/hw/arm/sbsa-ref.c
index a638fb369e..ac68b4640d 100644
--- a/hw/arm/sbsa-ref.c
+++ b/hw/arm/sbsa-ref.c
@@ -98,8 +98,8 @@ struct SBSAMachineState {
typedef struct SBSAMachineState SBSAMachineState;
#define TYPE_SBSA_MACHINE MACHINE_TYPE_NAME("sbsa-ref")
-#define SBSA_MACHINE(obj) \
- OBJECT_CHECK(SBSAMachineState, (obj), TYPE_SBSA_MACHINE)
+DECLARE_INSTANCE_CHECKER(SBSAMachineState, SBSA_MACHINE,
+ TYPE_SBSA_MACHINE)
static const MemMapEntry sbsa_ref_memmap[] = {
/* 512M boot ROM */
diff --git a/hw/arm/spitz.c b/hw/arm/spitz.c
index 0bf5745eb2..a7ad667f06 100644
--- a/hw/arm/spitz.c
+++ b/hw/arm/spitz.c
@@ -59,12 +59,8 @@ struct SpitzMachineState {
typedef struct SpitzMachineState SpitzMachineState;
#define TYPE_SPITZ_MACHINE "spitz-common"
-#define SPITZ_MACHINE(obj) \
- OBJECT_CHECK(SpitzMachineState, obj, TYPE_SPITZ_MACHINE)
-#define SPITZ_MACHINE_GET_CLASS(obj) \
- OBJECT_GET_CLASS(SpitzMachineClass, obj, TYPE_SPITZ_MACHINE)
-#define SPITZ_MACHINE_CLASS(klass) \
- OBJECT_CLASS_CHECK(SpitzMachineClass, klass, TYPE_SPITZ_MACHINE)
+DECLARE_OBJ_CHECKERS(SpitzMachineState, SpitzMachineClass,
+ SPITZ_MACHINE, TYPE_SPITZ_MACHINE)
#define zaurus_printf(format, ...) \
fprintf(stderr, "%s: " format, __func__, ##__VA_ARGS__)
@@ -89,7 +85,8 @@ typedef struct SpitzMachineState SpitzMachineState;
#define TYPE_SL_NAND "sl-nand"
typedef struct SLNANDState SLNANDState;
-#define SL_NAND(obj) OBJECT_CHECK(SLNANDState, (obj), TYPE_SL_NAND)
+DECLARE_INSTANCE_CHECKER(SLNANDState, SL_NAND,
+ TYPE_SL_NAND)
struct SLNANDState {
SysBusDevice parent_obj;
@@ -266,8 +263,8 @@ static const int spitz_gpiomap[5] = {
#define TYPE_SPITZ_KEYBOARD "spitz-keyboard"
typedef struct SpitzKeyboardState SpitzKeyboardState;
-#define SPITZ_KEYBOARD(obj) \
- OBJECT_CHECK(SpitzKeyboardState, (obj), TYPE_SPITZ_KEYBOARD)
+DECLARE_INSTANCE_CHECKER(SpitzKeyboardState, SPITZ_KEYBOARD,
+ TYPE_SPITZ_KEYBOARD)
struct SpitzKeyboardState {
SysBusDevice parent_obj;
@@ -586,7 +583,8 @@ static void spitz_keyboard_realize(DeviceState *dev, Error **errp)
#define TYPE_SPITZ_LCDTG "spitz-lcdtg"
typedef struct SpitzLCDTG SpitzLCDTG;
-#define SPITZ_LCDTG(obj) OBJECT_CHECK(SpitzLCDTG, (obj), TYPE_SPITZ_LCDTG)
+DECLARE_INSTANCE_CHECKER(SpitzLCDTG, SPITZ_LCDTG,
+ TYPE_SPITZ_LCDTG)
struct SpitzLCDTG {
SSISlave ssidev;
@@ -675,7 +673,8 @@ static void spitz_lcdtg_realize(SSISlave *ssi, Error **errp)
#define TYPE_CORGI_SSP "corgi-ssp"
typedef struct CorgiSSPState CorgiSSPState;
-#define CORGI_SSP(obj) OBJECT_CHECK(CorgiSSPState, (obj), TYPE_CORGI_SSP)
+DECLARE_INSTANCE_CHECKER(CorgiSSPState, CORGI_SSP,
+ TYPE_CORGI_SSP)
/* "Demux" the signal based on current chipselect */
struct CorgiSSPState {
@@ -827,8 +826,8 @@ static void spitz_akita_i2c_setup(PXA2xxState *cpu)
*/
#define TYPE_SPITZ_MISC_GPIO "spitz-misc-gpio"
typedef struct SpitzMiscGPIOState SpitzMiscGPIOState;
-#define SPITZ_MISC_GPIO(obj) \
- OBJECT_CHECK(SpitzMiscGPIOState, (obj), TYPE_SPITZ_MISC_GPIO)
+DECLARE_INSTANCE_CHECKER(SpitzMiscGPIOState, SPITZ_MISC_GPIO,
+ TYPE_SPITZ_MISC_GPIO)
struct SpitzMiscGPIOState {
SysBusDevice parent_obj;
diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c
index d8d7d3a43b..d6fc4a4681 100644
--- a/hw/arm/stellaris.c
+++ b/hw/arm/stellaris.c
@@ -59,8 +59,8 @@ typedef const struct {
#define TYPE_STELLARIS_GPTM "stellaris-gptm"
typedef struct gptm_state gptm_state;
-#define STELLARIS_GPTM(obj) \
- OBJECT_CHECK(gptm_state, (obj), TYPE_STELLARIS_GPTM)
+DECLARE_INSTANCE_CHECKER(gptm_state, STELLARIS_GPTM,
+ TYPE_STELLARIS_GPTM)
struct gptm_state {
SysBusDevice parent_obj;
@@ -722,8 +722,8 @@ static int stellaris_sys_init(uint32_t base, qemu_irq irq,
#define TYPE_STELLARIS_I2C "stellaris-i2c"
typedef struct stellaris_i2c_state stellaris_i2c_state;
-#define STELLARIS_I2C(obj) \
- OBJECT_CHECK(stellaris_i2c_state, (obj), TYPE_STELLARIS_I2C)
+DECLARE_INSTANCE_CHECKER(stellaris_i2c_state, STELLARIS_I2C,
+ TYPE_STELLARIS_I2C)
struct stellaris_i2c_state {
SysBusDevice parent_obj;
@@ -936,8 +936,8 @@ static void stellaris_i2c_init(Object *obj)
#define TYPE_STELLARIS_ADC "stellaris-adc"
typedef struct StellarisADCState stellaris_adc_state;
-#define STELLARIS_ADC(obj) \
- OBJECT_CHECK(stellaris_adc_state, (obj), TYPE_STELLARIS_ADC)
+DECLARE_INSTANCE_CHECKER(stellaris_adc_state, STELLARIS_ADC,
+ TYPE_STELLARIS_ADC)
struct StellarisADCState {
SysBusDevice parent_obj;
diff --git a/hw/arm/strongarm.c b/hw/arm/strongarm.c
index 8faeaf8079..0fe829b868 100644
--- a/hw/arm/strongarm.c
+++ b/hw/arm/strongarm.c
@@ -86,8 +86,8 @@ static struct {
#define TYPE_STRONGARM_PIC "strongarm_pic"
typedef struct StrongARMPICState StrongARMPICState;
-#define STRONGARM_PIC(obj) \
- OBJECT_CHECK(StrongARMPICState, (obj), TYPE_STRONGARM_PIC)
+DECLARE_INSTANCE_CHECKER(StrongARMPICState, STRONGARM_PIC,
+ TYPE_STRONGARM_PIC)
struct StrongARMPICState {
SysBusDevice parent_obj;
@@ -255,8 +255,8 @@ static const TypeInfo strongarm_pic_info = {
#define TYPE_STRONGARM_RTC "strongarm-rtc"
typedef struct StrongARMRTCState StrongARMRTCState;
-#define STRONGARM_RTC(obj) \
- OBJECT_CHECK(StrongARMRTCState, (obj), TYPE_STRONGARM_RTC)
+DECLARE_INSTANCE_CHECKER(StrongARMRTCState, STRONGARM_RTC,
+ TYPE_STRONGARM_RTC)
struct StrongARMRTCState {
SysBusDevice parent_obj;
@@ -482,8 +482,8 @@ static const TypeInfo strongarm_rtc_sysbus_info = {
#define TYPE_STRONGARM_GPIO "strongarm-gpio"
typedef struct StrongARMGPIOInfo StrongARMGPIOInfo;
-#define STRONGARM_GPIO(obj) \
- OBJECT_CHECK(StrongARMGPIOInfo, (obj), TYPE_STRONGARM_GPIO)
+DECLARE_INSTANCE_CHECKER(StrongARMGPIOInfo, STRONGARM_GPIO,
+ TYPE_STRONGARM_GPIO)
struct StrongARMGPIOInfo {
SysBusDevice busdev;
@@ -721,8 +721,8 @@ static const TypeInfo strongarm_gpio_info = {
#define TYPE_STRONGARM_PPC "strongarm-ppc"
typedef struct StrongARMPPCInfo StrongARMPPCInfo;
-#define STRONGARM_PPC(obj) \
- OBJECT_CHECK(StrongARMPPCInfo, (obj), TYPE_STRONGARM_PPC)
+DECLARE_INSTANCE_CHECKER(StrongARMPPCInfo, STRONGARM_PPC,
+ TYPE_STRONGARM_PPC)
struct StrongARMPPCInfo {
SysBusDevice parent_obj;
@@ -922,8 +922,8 @@ static const TypeInfo strongarm_ppc_info = {
#define TYPE_STRONGARM_UART "strongarm-uart"
typedef struct StrongARMUARTState StrongARMUARTState;
-#define STRONGARM_UART(obj) \
- OBJECT_CHECK(StrongARMUARTState, (obj), TYPE_STRONGARM_UART)
+DECLARE_INSTANCE_CHECKER(StrongARMUARTState, STRONGARM_UART,
+ TYPE_STRONGARM_UART)
struct StrongARMUARTState {
SysBusDevice parent_obj;
@@ -1354,8 +1354,8 @@ static const TypeInfo strongarm_uart_info = {
#define TYPE_STRONGARM_SSP "strongarm-ssp"
typedef struct StrongARMSSPState StrongARMSSPState;
-#define STRONGARM_SSP(obj) \
- OBJECT_CHECK(StrongARMSSPState, (obj), TYPE_STRONGARM_SSP)
+DECLARE_INSTANCE_CHECKER(StrongARMSSPState, STRONGARM_SSP,
+ TYPE_STRONGARM_SSP)
struct StrongARMSSPState {
SysBusDevice parent_obj;
diff --git a/hw/arm/tosa.c b/hw/arm/tosa.c
index 6ec83a2e2d..2ef6c7b288 100644
--- a/hw/arm/tosa.c
+++ b/hw/arm/tosa.c
@@ -76,8 +76,8 @@ static void tosa_microdrive_attach(PXA2xxState *cpu)
#define TYPE_TOSA_MISC_GPIO "tosa-misc-gpio"
typedef struct TosaMiscGPIOState TosaMiscGPIOState;
-#define TOSA_MISC_GPIO(obj) \
- OBJECT_CHECK(TosaMiscGPIOState, (obj), TYPE_TOSA_MISC_GPIO)
+DECLARE_INSTANCE_CHECKER(TosaMiscGPIOState, TOSA_MISC_GPIO,
+ TYPE_TOSA_MISC_GPIO)
struct TosaMiscGPIOState {
SysBusDevice parent_obj;
@@ -173,7 +173,8 @@ static void tosa_ssp_realize(SSISlave *dev, Error **errp)
#define TYPE_TOSA_DAC "tosa_dac"
typedef struct TosaDACState TosaDACState;
-#define TOSA_DAC(obj) OBJECT_CHECK(TosaDACState, (obj), TYPE_TOSA_DAC)
+DECLARE_INSTANCE_CHECKER(TosaDACState, TOSA_DAC,
+ TYPE_TOSA_DAC)
struct TosaDACState {
I2CSlave parent_obj;
diff --git a/hw/arm/versatilepb.c b/hw/arm/versatilepb.c
index 0e2d74cef2..2ba69f24b7 100644
--- a/hw/arm/versatilepb.c
+++ b/hw/arm/versatilepb.c
@@ -36,8 +36,8 @@
#define TYPE_VERSATILE_PB_SIC "versatilepb_sic"
typedef struct vpb_sic_state vpb_sic_state;
-#define VERSATILE_PB_SIC(obj) \
- OBJECT_CHECK(vpb_sic_state, (obj), TYPE_VERSATILE_PB_SIC)
+DECLARE_INSTANCE_CHECKER(vpb_sic_state, VERSATILE_PB_SIC,
+ TYPE_VERSATILE_PB_SIC)
struct vpb_sic_state {
SysBusDevice parent_obj;
diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c
index 4c2c377823..01bb4bba1e 100644
--- a/hw/arm/vexpress.c
+++ b/hw/arm/vexpress.c
@@ -183,12 +183,8 @@ typedef struct VexpressMachineState VexpressMachineState;
#define TYPE_VEXPRESS_MACHINE "vexpress"
#define TYPE_VEXPRESS_A9_MACHINE MACHINE_TYPE_NAME("vexpress-a9")
#define TYPE_VEXPRESS_A15_MACHINE MACHINE_TYPE_NAME("vexpress-a15")
-#define VEXPRESS_MACHINE(obj) \
- OBJECT_CHECK(VexpressMachineState, (obj), TYPE_VEXPRESS_MACHINE)
-#define VEXPRESS_MACHINE_GET_CLASS(obj) \
- OBJECT_GET_CLASS(VexpressMachineClass, obj, TYPE_VEXPRESS_MACHINE)
-#define VEXPRESS_MACHINE_CLASS(klass) \
- OBJECT_CLASS_CHECK(VexpressMachineClass, klass, TYPE_VEXPRESS_MACHINE)
+DECLARE_OBJ_CHECKERS(VexpressMachineState, VexpressMachineClass,
+ VEXPRESS_MACHINE, TYPE_VEXPRESS_MACHINE)
typedef void DBoardInitFn(const VexpressMachineState *machine,
ram_addr_t ram_size,
diff --git a/hw/arm/xilinx_zynq.c b/hw/arm/xilinx_zynq.c
index bce99ef7be..9eb9cea8d4 100644
--- a/hw/arm/xilinx_zynq.c
+++ b/hw/arm/xilinx_zynq.c
@@ -41,8 +41,8 @@
#define TYPE_ZYNQ_MACHINE MACHINE_TYPE_NAME("xilinx-zynq-a9")
typedef struct ZynqMachineState ZynqMachineState;
-#define ZYNQ_MACHINE(obj) \
- OBJECT_CHECK(ZynqMachineState, (obj), TYPE_ZYNQ_MACHINE)
+DECLARE_INSTANCE_CHECKER(ZynqMachineState, ZYNQ_MACHINE,
+ TYPE_ZYNQ_MACHINE)
/* board base frequency: 33.333333 MHz */
#define PS_CLK_FREQUENCY (100 * 1000 * 1000 / 3)
diff --git a/hw/arm/xlnx-versal-virt.c b/hw/arm/xlnx-versal-virt.c
index ffa9dd476b..5a01e856fd 100644
--- a/hw/arm/xlnx-versal-virt.c
+++ b/hw/arm/xlnx-versal-virt.c
@@ -26,8 +26,8 @@
#define TYPE_XLNX_VERSAL_VIRT_MACHINE MACHINE_TYPE_NAME("xlnx-versal-virt")
typedef struct VersalVirt VersalVirt;
-#define XLNX_VERSAL_VIRT_MACHINE(obj) \
- OBJECT_CHECK(VersalVirt, (obj), TYPE_XLNX_VERSAL_VIRT_MACHINE)
+DECLARE_INSTANCE_CHECKER(VersalVirt, XLNX_VERSAL_VIRT_MACHINE,
+ TYPE_XLNX_VERSAL_VIRT_MACHINE)
struct VersalVirt {
MachineState parent_obj;
diff --git a/hw/arm/xlnx-zcu102.c b/hw/arm/xlnx-zcu102.c
index 74f48325ac..19d5a4d4e0 100644
--- a/hw/arm/xlnx-zcu102.c
+++ b/hw/arm/xlnx-zcu102.c
@@ -39,8 +39,8 @@ struct XlnxZCU102 {
typedef struct XlnxZCU102 XlnxZCU102;
#define TYPE_ZCU102_MACHINE MACHINE_TYPE_NAME("xlnx-zcu102")
-#define ZCU102_MACHINE(obj) \
- OBJECT_CHECK(XlnxZCU102, (obj), TYPE_ZCU102_MACHINE)
+DECLARE_INSTANCE_CHECKER(XlnxZCU102, ZCU102_MACHINE,
+ TYPE_ZCU102_MACHINE)
static bool zcu102_get_secure(Object *obj, Error **errp)
diff --git a/hw/arm/z2.c b/hw/arm/z2.c
index 9c69481269..72ecb6df29 100644
--- a/hw/arm/z2.c
+++ b/hw/arm/z2.c
@@ -114,7 +114,8 @@ struct ZipitLCD {
typedef struct ZipitLCD ZipitLCD;
#define TYPE_ZIPIT_LCD "zipit-lcd"
-#define ZIPIT_LCD(obj) OBJECT_CHECK(ZipitLCD, (obj), TYPE_ZIPIT_LCD)
+DECLARE_INSTANCE_CHECKER(ZipitLCD, ZIPIT_LCD,
+ TYPE_ZIPIT_LCD)
static uint32_t zipit_lcd_transfer(SSISlave *dev, uint32_t value)
{
@@ -198,7 +199,8 @@ static const TypeInfo zipit_lcd_info = {
#define TYPE_AER915 "aer915"
typedef struct AER915State AER915State;
-#define AER915(obj) OBJECT_CHECK(AER915State, (obj), TYPE_AER915)
+DECLARE_INSTANCE_CHECKER(AER915State, AER915,
+ TYPE_AER915)
struct AER915State {
I2CSlave parent_obj;
diff --git a/hw/audio/ac97.c b/hw/audio/ac97.c
index 9614419b7a..eb8a7f032d 100644
--- a/hw/audio/ac97.c
+++ b/hw/audio/ac97.c
@@ -128,8 +128,8 @@ enum {
#define TYPE_AC97 "AC97"
typedef struct AC97LinkState AC97LinkState;
-#define AC97(obj) \
- OBJECT_CHECK(AC97LinkState, (obj), TYPE_AC97)
+DECLARE_INSTANCE_CHECKER(AC97LinkState, AC97,
+ TYPE_AC97)
#define REC_MASK 7
enum {
diff --git a/hw/audio/adlib.c b/hw/audio/adlib.c
index a216fe1925..870116e324 100644
--- a/hw/audio/adlib.c
+++ b/hw/audio/adlib.c
@@ -53,7 +53,8 @@
#define TYPE_ADLIB "adlib"
typedef struct AdlibState AdlibState;
-#define ADLIB(obj) OBJECT_CHECK(AdlibState, (obj), TYPE_ADLIB)
+DECLARE_INSTANCE_CHECKER(AdlibState, ADLIB,
+ TYPE_ADLIB)
struct AdlibState {
ISADevice parent_obj;
diff --git a/hw/audio/cs4231.c b/hw/audio/cs4231.c
index 2b868051c3..8e9554ce9b 100644
--- a/hw/audio/cs4231.c
+++ b/hw/audio/cs4231.c
@@ -39,8 +39,8 @@
#define TYPE_CS4231 "SUNW,CS4231"
typedef struct CSState CSState;
-#define CS4231(obj) \
- OBJECT_CHECK(CSState, (obj), TYPE_CS4231)
+DECLARE_INSTANCE_CHECKER(CSState, CS4231,
+ TYPE_CS4231)
struct CSState {
SysBusDevice parent_obj;
diff --git a/hw/audio/cs4231a.c b/hw/audio/cs4231a.c
index fc064a93d7..7d60ce6f0e 100644
--- a/hw/audio/cs4231a.c
+++ b/hw/audio/cs4231a.c
@@ -64,7 +64,8 @@ static struct {
#define TYPE_CS4231A "cs4231a"
typedef struct CSState CSState;
-#define CS4231A(obj) OBJECT_CHECK (CSState, (obj), TYPE_CS4231A)
+DECLARE_INSTANCE_CHECKER(CSState, CS4231A,
+ TYPE_CS4231A)
struct CSState {
ISADevice dev;
diff --git a/hw/audio/es1370.c b/hw/audio/es1370.c
index bd620d5ee2..a824f8949e 100644
--- a/hw/audio/es1370.c
+++ b/hw/audio/es1370.c
@@ -293,8 +293,8 @@ struct chan_bits {
};
#define TYPE_ES1370 "ES1370"
-#define ES1370(obj) \
- OBJECT_CHECK(ES1370State, (obj), TYPE_ES1370)
+DECLARE_INSTANCE_CHECKER(ES1370State, ES1370,
+ TYPE_ES1370)
static void es1370_dac1_calc_freq (ES1370State *s, uint32_t ctl,
uint32_t *old_freq, uint32_t *new_freq);
diff --git a/hw/audio/gus.c b/hw/audio/gus.c
index 3cd62d43d7..307fd48315 100644
--- a/hw/audio/gus.c
+++ b/hw/audio/gus.c
@@ -44,7 +44,8 @@
#define TYPE_GUS "gus"
typedef struct GUSState GUSState;
-#define GUS(obj) OBJECT_CHECK (GUSState, (obj), TYPE_GUS)
+DECLARE_INSTANCE_CHECKER(GUSState, GUS,
+ TYPE_GUS)
struct GUSState {
ISADevice dev;
diff --git a/hw/audio/hda-codec.c b/hw/audio/hda-codec.c
index 8dee2915be..77d31b91a4 100644
--- a/hw/audio/hda-codec.c
+++ b/hw/audio/hda-codec.c
@@ -172,7 +172,8 @@ struct HDAAudioStream {
};
#define TYPE_HDA_AUDIO "hda-audio"
-#define HDA_AUDIO(obj) OBJECT_CHECK(HDAAudioState, (obj), TYPE_HDA_AUDIO)
+DECLARE_INSTANCE_CHECKER(HDAAudioState, HDA_AUDIO,
+ TYPE_HDA_AUDIO)
struct HDAAudioState {
HDACodecDevice hda;
diff --git a/hw/audio/intel-hda.c b/hw/audio/intel-hda.c
index de30443c2e..4330213fff 100644
--- a/hw/audio/intel-hda.c
+++ b/hw/audio/intel-hda.c
@@ -204,8 +204,8 @@ struct IntelHDAState {
#define TYPE_INTEL_HDA_GENERIC "intel-hda-generic"
-#define INTEL_HDA(obj) \
- OBJECT_CHECK(IntelHDAState, (obj), TYPE_INTEL_HDA_GENERIC)
+DECLARE_INSTANCE_CHECKER(IntelHDAState, INTEL_HDA,
+ TYPE_INTEL_HDA_GENERIC)
struct IntelHDAReg {
const char *name; /* register name */
diff --git a/hw/audio/intel-hda.h b/hw/audio/intel-hda.h
index 44a2897fff..813a7a357d 100644
--- a/hw/audio/intel-hda.h
+++ b/hw/audio/intel-hda.h
@@ -10,16 +10,13 @@
#define TYPE_HDA_CODEC_DEVICE "hda-codec"
typedef struct HDACodecDevice HDACodecDevice;
typedef struct HDACodecDeviceClass HDACodecDeviceClass;
-#define HDA_CODEC_DEVICE(obj) \
- OBJECT_CHECK(HDACodecDevice, (obj), TYPE_HDA_CODEC_DEVICE)
-#define HDA_CODEC_DEVICE_CLASS(klass) \
- OBJECT_CLASS_CHECK(HDACodecDeviceClass, (klass), TYPE_HDA_CODEC_DEVICE)
-#define HDA_CODEC_DEVICE_GET_CLASS(obj) \
- OBJECT_GET_CLASS(HDACodecDeviceClass, (obj), TYPE_HDA_CODEC_DEVICE)
+DECLARE_OBJ_CHECKERS(HDACodecDevice, HDACodecDeviceClass,
+ HDA_CODEC_DEVICE, TYPE_HDA_CODEC_DEVICE)
#define TYPE_HDA_BUS "HDA"
typedef struct HDACodecBus HDACodecBus;
-#define HDA_BUS(obj) OBJECT_CHECK(HDACodecBus, (obj), TYPE_HDA_BUS)
+DECLARE_INSTANCE_CHECKER(HDACodecBus, HDA_BUS,
+ TYPE_HDA_BUS)
typedef void (*hda_codec_response_func)(HDACodecDevice *dev,
diff --git a/hw/audio/marvell_88w8618.c b/hw/audio/marvell_88w8618.c
index 5f2e7f3b73..c8641562cc 100644
--- a/hw/audio/marvell_88w8618.c
+++ b/hw/audio/marvell_88w8618.c
@@ -44,8 +44,8 @@
#define MP_AUDIO_MONO (1 << 14)
typedef struct mv88w8618_audio_state mv88w8618_audio_state;
-#define MV88W8618_AUDIO(obj) \
- OBJECT_CHECK(mv88w8618_audio_state, (obj), TYPE_MV88W8618_AUDIO)
+DECLARE_INSTANCE_CHECKER(mv88w8618_audio_state, MV88W8618_AUDIO,
+ TYPE_MV88W8618_AUDIO)
struct mv88w8618_audio_state {
SysBusDevice parent_obj;
diff --git a/hw/audio/milkymist-ac97.c b/hw/audio/milkymist-ac97.c
index 4eacd4071a..7893539019 100644
--- a/hw/audio/milkymist-ac97.c
+++ b/hw/audio/milkymist-ac97.c
@@ -57,8 +57,8 @@ enum {
#define TYPE_MILKYMIST_AC97 "milkymist-ac97"
typedef struct MilkymistAC97State MilkymistAC97State;
-#define MILKYMIST_AC97(obj) \
- OBJECT_CHECK(MilkymistAC97State, (obj), TYPE_MILKYMIST_AC97)
+DECLARE_INSTANCE_CHECKER(MilkymistAC97State, MILKYMIST_AC97,
+ TYPE_MILKYMIST_AC97)
struct MilkymistAC97State {
SysBusDevice parent_obj;
diff --git a/hw/audio/pcspk.c b/hw/audio/pcspk.c
index 57edbe652c..cbee8855fb 100644
--- a/hw/audio/pcspk.c
+++ b/hw/audio/pcspk.c
@@ -41,7 +41,8 @@
#define PCSPK_MIN_COUNT DIV_ROUND_UP(PIT_FREQ, PCSPK_MAX_FREQ)
typedef struct PCSpkState PCSpkState;
-#define PC_SPEAKER(obj) OBJECT_CHECK(PCSpkState, (obj), TYPE_PC_SPEAKER)
+DECLARE_INSTANCE_CHECKER(PCSpkState, PC_SPEAKER,
+ TYPE_PC_SPEAKER)
struct PCSpkState {
ISADevice parent_obj;
diff --git a/hw/audio/pl041.c b/hw/audio/pl041.c
index e514a8cd70..570a234b72 100644
--- a/hw/audio/pl041.c
+++ b/hw/audio/pl041.c
@@ -79,7 +79,8 @@ typedef struct {
#define TYPE_PL041 "pl041"
typedef struct PL041State PL041State;
-#define PL041(obj) OBJECT_CHECK(PL041State, (obj), TYPE_PL041)
+DECLARE_INSTANCE_CHECKER(PL041State, PL041,
+ TYPE_PL041)
struct PL041State {
SysBusDevice parent_obj;
diff --git a/hw/audio/sb16.c b/hw/audio/sb16.c
index 840f743e41..6aa2c0fb93 100644
--- a/hw/audio/sb16.c
+++ b/hw/audio/sb16.c
@@ -51,7 +51,8 @@ static const char e3[] = "COPYRIGHT (C) CREATIVE TECHNOLOGY LTD, 1992.";
#define TYPE_SB16 "sb16"
typedef struct SB16State SB16State;
-#define SB16(obj) OBJECT_CHECK (SB16State, (obj), TYPE_SB16)
+DECLARE_INSTANCE_CHECKER(SB16State, SB16,
+ TYPE_SB16)
struct SB16State {
ISADevice parent_obj;
diff --git a/hw/audio/wm8750.c b/hw/audio/wm8750.c
index dae23f43a4..7d6fcfec03 100644
--- a/hw/audio/wm8750.c
+++ b/hw/audio/wm8750.c
@@ -28,7 +28,8 @@ typedef struct {
} WMRate;
typedef struct WM8750State WM8750State;
-#define WM8750(obj) OBJECT_CHECK(WM8750State, (obj), TYPE_WM8750)
+DECLARE_INSTANCE_CHECKER(WM8750State, WM8750,
+ TYPE_WM8750)
struct WM8750State {
I2CSlave parent_obj;
diff --git a/hw/avr/arduino.c b/hw/avr/arduino.c
index c24183c07f..3c8388490d 100644
--- a/hw/avr/arduino.c
+++ b/hw/avr/arduino.c
@@ -36,12 +36,8 @@ typedef struct ArduinoMachineClass ArduinoMachineClass;
#define TYPE_ARDUINO_MACHINE \
MACHINE_TYPE_NAME("arduino")
-#define ARDUINO_MACHINE(obj) \
- OBJECT_CHECK(ArduinoMachineState, (obj), TYPE_ARDUINO_MACHINE)
-#define ARDUINO_MACHINE_CLASS(klass) \
- OBJECT_CLASS_CHECK(ArduinoMachineClass, (klass), TYPE_ARDUINO_MACHINE)
-#define ARDUINO_MACHINE_GET_CLASS(obj) \
- OBJECT_GET_CLASS(ArduinoMachineClass, (obj), TYPE_ARDUINO_MACHINE)
+DECLARE_OBJ_CHECKERS(ArduinoMachineState, ArduinoMachineClass,
+ ARDUINO_MACHINE, TYPE_ARDUINO_MACHINE)
static void arduino_machine_init(MachineState *machine)
{
diff --git a/hw/avr/atmega.c b/hw/avr/atmega.c
index c3b8e05110..44c6afebbb 100644
--- a/hw/avr/atmega.c
+++ b/hw/avr/atmega.c
@@ -63,10 +63,8 @@ struct AtmegaMcuClass {
};
typedef struct AtmegaMcuClass AtmegaMcuClass;
-#define ATMEGA_MCU_CLASS(klass) \
- OBJECT_CLASS_CHECK(AtmegaMcuClass, (klass), TYPE_ATMEGA_MCU)
-#define ATMEGA_MCU_GET_CLASS(obj) \
- OBJECT_GET_CLASS(AtmegaMcuClass, (obj), TYPE_ATMEGA_MCU)
+DECLARE_CLASS_CHECKERS(AtmegaMcuClass, ATMEGA_MCU,
+ TYPE_ATMEGA_MCU)
static const peripheral_cfg dev168_328[PERIFMAX] = {
[USART0] = { 0xc0, POWER0, 1 },
diff --git a/hw/avr/atmega.h b/hw/avr/atmega.h
index 2c46ecb904..a99ee15c7e 100644
--- a/hw/avr/atmega.h
+++ b/hw/avr/atmega.h
@@ -24,7 +24,8 @@
#define TYPE_ATMEGA2560_MCU "ATmega2560"
typedef struct AtmegaMcuState AtmegaMcuState;
-#define ATMEGA_MCU(obj) OBJECT_CHECK(AtmegaMcuState, (obj), TYPE_ATMEGA_MCU)
+DECLARE_INSTANCE_CHECKER(AtmegaMcuState, ATMEGA_MCU,
+ TYPE_ATMEGA_MCU)
#define POWER_MAX 2
#define USART_MAX 4
diff --git a/hw/block/fdc.c b/hw/block/fdc.c
index 70bfb136e4..224bac504f 100644
--- a/hw/block/fdc.c
+++ b/hw/block/fdc.c
@@ -66,7 +66,8 @@
#define TYPE_FLOPPY_BUS "floppy-bus"
typedef struct FloppyBus FloppyBus;
-#define FLOPPY_BUS(obj) OBJECT_CHECK(FloppyBus, (obj), TYPE_FLOPPY_BUS)
+DECLARE_INSTANCE_CHECKER(FloppyBus, FLOPPY_BUS,
+ TYPE_FLOPPY_BUS)
typedef struct FDCtrl FDCtrl;
typedef struct FDrive FDrive;
@@ -497,8 +498,8 @@ static const BlockDevOps fd_block_ops = {
#define TYPE_FLOPPY_DRIVE "floppy"
typedef struct FloppyDrive FloppyDrive;
-#define FLOPPY_DRIVE(obj) \
- OBJECT_CHECK(FloppyDrive, (obj), TYPE_FLOPPY_DRIVE)
+DECLARE_INSTANCE_CHECKER(FloppyDrive, FLOPPY_DRIVE,
+ TYPE_FLOPPY_DRIVE)
struct FloppyDrive {
DeviceState qdev;
@@ -890,7 +891,8 @@ static FloppyDriveType get_fallback_drive_type(FDrive *drv)
#define TYPE_SYSBUS_FDC "base-sysbus-fdc"
typedef struct FDCtrlSysBus FDCtrlSysBus;
-#define SYSBUS_FDC(obj) OBJECT_CHECK(FDCtrlSysBus, (obj), TYPE_SYSBUS_FDC)
+DECLARE_INSTANCE_CHECKER(FDCtrlSysBus, SYSBUS_FDC,
+ TYPE_SYSBUS_FDC)
struct FDCtrlSysBus {
/*< private >*/
@@ -901,7 +903,8 @@ struct FDCtrlSysBus {
};
typedef struct FDCtrlISABus FDCtrlISABus;
-#define ISA_FDC(obj) OBJECT_CHECK(FDCtrlISABus, (obj), TYPE_ISA_FDC)
+DECLARE_INSTANCE_CHECKER(FDCtrlISABus, ISA_FDC,
+ TYPE_ISA_FDC)
struct FDCtrlISABus {
ISADevice parent_obj;
diff --git a/hw/block/m25p80.c b/hw/block/m25p80.c
index 9de4f9b274..8dae779c76 100644
--- a/hw/block/m25p80.c
+++ b/hw/block/m25p80.c
@@ -465,12 +465,8 @@ struct M25P80Class {
typedef struct M25P80Class M25P80Class;
#define TYPE_M25P80 "m25p80-generic"
-#define M25P80(obj) \
- OBJECT_CHECK(Flash, (obj), TYPE_M25P80)
-#define M25P80_CLASS(klass) \
- OBJECT_CLASS_CHECK(M25P80Class, (klass), TYPE_M25P80)
-#define M25P80_GET_CLASS(obj) \
- OBJECT_GET_CLASS(M25P80Class, (obj), TYPE_M25P80)
+DECLARE_OBJ_CHECKERS(Flash, M25P80Class,
+ M25P80, TYPE_M25P80)
static inline Manufacturer get_man(Flash *s)
{
diff --git a/hw/block/nand.c b/hw/block/nand.c
index 7c7a08b7aa..5c8112ed5a 100644
--- a/hw/block/nand.c
+++ b/hw/block/nand.c
@@ -90,8 +90,8 @@ struct NANDFlashState {
#define TYPE_NAND "nand"
-#define NAND(obj) \
- OBJECT_CHECK(NANDFlashState, (obj), TYPE_NAND)
+DECLARE_INSTANCE_CHECKER(NANDFlashState, NAND,
+ TYPE_NAND)
static void mem_and(uint8_t *dest, const uint8_t *src, size_t n)
{
diff --git a/hw/block/onenand.c b/hw/block/onenand.c
index 5fe235d11d..19f55aba66 100644
--- a/hw/block/onenand.c
+++ b/hw/block/onenand.c
@@ -41,7 +41,8 @@
#define TYPE_ONE_NAND "onenand"
typedef struct OneNANDState OneNANDState;
-#define ONE_NAND(obj) OBJECT_CHECK(OneNANDState, (obj), TYPE_ONE_NAND)
+DECLARE_INSTANCE_CHECKER(OneNANDState, ONE_NAND,
+ TYPE_ONE_NAND)
struct OneNANDState {
SysBusDevice parent_obj;
diff --git a/hw/char/debugcon.c b/hw/char/debugcon.c
index 219e88efee..daaaca0f39 100644
--- a/hw/char/debugcon.c
+++ b/hw/char/debugcon.c
@@ -34,8 +34,8 @@
#define TYPE_ISA_DEBUGCON_DEVICE "isa-debugcon"
typedef struct ISADebugconState ISADebugconState;
-#define ISA_DEBUGCON_DEVICE(obj) \
- OBJECT_CHECK(ISADebugconState, (obj), TYPE_ISA_DEBUGCON_DEVICE)
+DECLARE_INSTANCE_CHECKER(ISADebugconState, ISA_DEBUGCON_DEVICE,
+ TYPE_ISA_DEBUGCON_DEVICE)
//#define DEBUG_DEBUGCON
diff --git a/hw/char/etraxfs_ser.c b/hw/char/etraxfs_ser.c
index 9ca9f21c4d..d9fba2ae6c 100644
--- a/hw/char/etraxfs_ser.c
+++ b/hw/char/etraxfs_ser.c
@@ -51,8 +51,8 @@
#define TYPE_ETRAX_FS_SERIAL "etraxfs,serial"
typedef struct ETRAXSerial ETRAXSerial;
-#define ETRAX_SERIAL(obj) \
- OBJECT_CHECK(ETRAXSerial, (obj), TYPE_ETRAX_FS_SERIAL)
+DECLARE_INSTANCE_CHECKER(ETRAXSerial, ETRAX_SERIAL,
+ TYPE_ETRAX_FS_SERIAL)
struct ETRAXSerial {
SysBusDevice parent_obj;
diff --git a/hw/char/exynos4210_uart.c b/hw/char/exynos4210_uart.c
index e3a21dfdb8..b8ea34edbd 100644
--- a/hw/char/exynos4210_uart.c
+++ b/hw/char/exynos4210_uart.c
@@ -140,8 +140,8 @@ typedef struct {
#define TYPE_EXYNOS4210_UART "exynos4210.uart"
typedef struct Exynos4210UartState Exynos4210UartState;
-#define EXYNOS4210_UART(obj) \
- OBJECT_CHECK(Exynos4210UartState, (obj), TYPE_EXYNOS4210_UART)
+DECLARE_INSTANCE_CHECKER(Exynos4210UartState, EXYNOS4210_UART,
+ TYPE_EXYNOS4210_UART)
struct Exynos4210UartState {
SysBusDevice parent_obj;
diff --git a/hw/char/grlib_apbuart.c b/hw/char/grlib_apbuart.c
index f48ad21c7c..6fd88d83ad 100644
--- a/hw/char/grlib_apbuart.c
+++ b/hw/char/grlib_apbuart.c
@@ -74,8 +74,8 @@
#define FIFO_LENGTH 1024
typedef struct UART UART;
-#define GRLIB_APB_UART(obj) \
- OBJECT_CHECK(UART, (obj), TYPE_GRLIB_APB_UART)
+DECLARE_INSTANCE_CHECKER(UART, GRLIB_APB_UART,
+ TYPE_GRLIB_APB_UART)
struct UART {
SysBusDevice parent_obj;
diff --git a/hw/char/ipoctal232.c b/hw/char/ipoctal232.c
index c7ea7f8da9..2c987df8ad 100644
--- a/hw/char/ipoctal232.c
+++ b/hw/char/ipoctal232.c
@@ -123,8 +123,8 @@ struct IPOctalState {
#define TYPE_IPOCTAL "ipoctal232"
-#define IPOCTAL(obj) \
- OBJECT_CHECK(IPOctalState, (obj), TYPE_IPOCTAL)
+DECLARE_INSTANCE_CHECKER(IPOctalState, IPOCTAL,
+ TYPE_IPOCTAL)
static const VMStateDescription vmstate_scc2698_channel = {
.name = "scc2698_channel",
diff --git a/hw/char/lm32_juart.c b/hw/char/lm32_juart.c
index e7af76ad1a..5723f2e189 100644
--- a/hw/char/lm32_juart.c
+++ b/hw/char/lm32_juart.c
@@ -43,7 +43,8 @@ enum {
};
typedef struct LM32JuartState LM32JuartState;
-#define LM32_JUART(obj) OBJECT_CHECK(LM32JuartState, (obj), TYPE_LM32_JUART)
+DECLARE_INSTANCE_CHECKER(LM32JuartState, LM32_JUART,
+ TYPE_LM32_JUART)
struct LM32JuartState {
SysBusDevice parent_obj;
diff --git a/hw/char/lm32_uart.c b/hw/char/lm32_uart.c
index 8aff78592b..624bc83c5f 100644
--- a/hw/char/lm32_uart.c
+++ b/hw/char/lm32_uart.c
@@ -96,7 +96,8 @@ enum {
#define TYPE_LM32_UART "lm32-uart"
typedef struct LM32UartState LM32UartState;
-#define LM32_UART(obj) OBJECT_CHECK(LM32UartState, (obj), TYPE_LM32_UART)
+DECLARE_INSTANCE_CHECKER(LM32UartState, LM32_UART,
+ TYPE_LM32_UART)
struct LM32UartState {
SysBusDevice parent_obj;
diff --git a/hw/char/mcf_uart.c b/hw/char/mcf_uart.c
index d6745da72a..f6baa3ce77 100644
--- a/hw/char/mcf_uart.c
+++ b/hw/char/mcf_uart.c
@@ -38,7 +38,8 @@ struct mcf_uart_state {
typedef struct mcf_uart_state mcf_uart_state;
#define TYPE_MCF_UART "mcf-uart"
-#define MCF_UART(obj) OBJECT_CHECK(mcf_uart_state, (obj), TYPE_MCF_UART)
+DECLARE_INSTANCE_CHECKER(mcf_uart_state, MCF_UART,
+ TYPE_MCF_UART)
/* UART Status Register bits. */
#define MCF_UART_RxRDY 0x01
diff --git a/hw/char/milkymist-uart.c b/hw/char/milkymist-uart.c
index 300a9150cf..41204a0e28 100644
--- a/hw/char/milkymist-uart.c
+++ b/hw/char/milkymist-uart.c
@@ -59,8 +59,8 @@ enum {
#define TYPE_MILKYMIST_UART "milkymist-uart"
typedef struct MilkymistUartState MilkymistUartState;
-#define MILKYMIST_UART(obj) \
- OBJECT_CHECK(MilkymistUartState, (obj), TYPE_MILKYMIST_UART)
+DECLARE_INSTANCE_CHECKER(MilkymistUartState, MILKYMIST_UART,
+ TYPE_MILKYMIST_UART)
struct MilkymistUartState {
SysBusDevice parent_obj;
diff --git a/hw/char/parallel.c b/hw/char/parallel.c
index 73ac5ee9e3..ddb14f3197 100644
--- a/hw/char/parallel.c
+++ b/hw/char/parallel.c
@@ -94,8 +94,8 @@ typedef struct ParallelState {
#define TYPE_ISA_PARALLEL "isa-parallel"
typedef struct ISAParallelState ISAParallelState;
-#define ISA_PARALLEL(obj) \
- OBJECT_CHECK(ISAParallelState, (obj), TYPE_ISA_PARALLEL)
+DECLARE_INSTANCE_CHECKER(ISAParallelState, ISA_PARALLEL,
+ TYPE_ISA_PARALLEL)
struct ISAParallelState {
ISADevice parent_obj;
diff --git a/hw/char/sclpconsole-lm.c b/hw/char/sclpconsole-lm.c
index 0b77af68a4..81f6d0ed4f 100644
--- a/hw/char/sclpconsole-lm.c
+++ b/hw/char/sclpconsole-lm.c
@@ -49,8 +49,8 @@ struct SCLPConsoleLM {
typedef struct SCLPConsoleLM SCLPConsoleLM;
#define TYPE_SCLPLM_CONSOLE "sclplmconsole"
-#define SCLPLM_CONSOLE(obj) \
- OBJECT_CHECK(SCLPConsoleLM, (obj), TYPE_SCLPLM_CONSOLE)
+DECLARE_INSTANCE_CHECKER(SCLPConsoleLM, SCLPLM_CONSOLE,
+ TYPE_SCLPLM_CONSOLE)
/*
* Character layer call-back functions
diff --git a/hw/char/sclpconsole.c b/hw/char/sclpconsole.c
index 3919368570..aa72ab40b9 100644
--- a/hw/char/sclpconsole.c
+++ b/hw/char/sclpconsole.c
@@ -45,8 +45,8 @@ struct SCLPConsole {
typedef struct SCLPConsole SCLPConsole;
#define TYPE_SCLP_CONSOLE "sclpconsole"
-#define SCLP_CONSOLE(obj) \
- OBJECT_CHECK(SCLPConsole, (obj), TYPE_SCLP_CONSOLE)
+DECLARE_INSTANCE_CHECKER(SCLPConsole, SCLP_CONSOLE,
+ TYPE_SCLP_CONSOLE)
/* character layer call-back functions */
diff --git a/hw/char/serial-isa.c b/hw/char/serial-isa.c
index 3d1c9a2d75..d4aad81a85 100644
--- a/hw/char/serial-isa.c
+++ b/hw/char/serial-isa.c
@@ -35,7 +35,8 @@
#include "qom/object.h"
typedef struct ISASerialState ISASerialState;
-#define ISA_SERIAL(obj) OBJECT_CHECK(ISASerialState, (obj), TYPE_ISA_SERIAL)
+DECLARE_INSTANCE_CHECKER(ISASerialState, ISA_SERIAL,
+ TYPE_ISA_SERIAL)
struct ISASerialState {
ISADevice parent_obj;
diff --git a/hw/char/serial-pci.c b/hw/char/serial-pci.c
index 649f08c20e..f68948154e 100644
--- a/hw/char/serial-pci.c
+++ b/hw/char/serial-pci.c
@@ -43,7 +43,8 @@ struct PCISerialState {
typedef struct PCISerialState PCISerialState;
#define TYPE_PCI_SERIAL "pci-serial"
-#define PCI_SERIAL(s) OBJECT_CHECK(PCISerialState, (s), TYPE_PCI_SERIAL)
+DECLARE_INSTANCE_CHECKER(PCISerialState, PCI_SERIAL,
+ TYPE_PCI_SERIAL)
static void serial_pci_realize(PCIDevice *dev, Error **errp)
{
diff --git a/hw/char/spapr_vty.c b/hw/char/spapr_vty.c
index 9944933c16..dd6dd2d8c3 100644
--- a/hw/char/spapr_vty.c
+++ b/hw/char/spapr_vty.c
@@ -21,8 +21,8 @@ struct SpaprVioVty {
typedef struct SpaprVioVty SpaprVioVty;
#define TYPE_VIO_SPAPR_VTY_DEVICE "spapr-vty"
-#define VIO_SPAPR_VTY_DEVICE(obj) \
- OBJECT_CHECK(SpaprVioVty, (obj), TYPE_VIO_SPAPR_VTY_DEVICE)
+DECLARE_INSTANCE_CHECKER(SpaprVioVty, VIO_SPAPR_VTY_DEVICE,
+ TYPE_VIO_SPAPR_VTY_DEVICE)
static int vty_can_receive(void *opaque)
{
diff --git a/hw/char/terminal3270.c b/hw/char/terminal3270.c
index 4efd6a9433..d77981bb6d 100644
--- a/hw/char/terminal3270.c
+++ b/hw/char/terminal3270.c
@@ -39,8 +39,8 @@ struct Terminal3270 {
typedef struct Terminal3270 Terminal3270;
#define TYPE_TERMINAL_3270 "x-terminal3270"
-#define TERMINAL_3270(obj) \
- OBJECT_CHECK(Terminal3270, (obj), TYPE_TERMINAL_3270)
+DECLARE_INSTANCE_CHECKER(Terminal3270, TERMINAL_3270,
+ TYPE_TERMINAL_3270)
static int terminal_can_read(void *opaque)
{
diff --git a/hw/char/virtio-console.c b/hw/char/virtio-console.c
index 31144c68b6..bc752cf90f 100644
--- a/hw/char/virtio-console.c
+++ b/hw/char/virtio-console.c
@@ -23,8 +23,8 @@
#define TYPE_VIRTIO_CONSOLE_SERIAL_PORT "virtserialport"
typedef struct VirtConsole VirtConsole;
-#define VIRTIO_CONSOLE(obj) \
- OBJECT_CHECK(VirtConsole, (obj), TYPE_VIRTIO_CONSOLE_SERIAL_PORT)
+DECLARE_INSTANCE_CHECKER(VirtConsole, VIRTIO_CONSOLE,
+ TYPE_VIRTIO_CONSOLE_SERIAL_PORT)
struct VirtConsole {
VirtIOSerialPort parent_obj;
diff --git a/hw/char/xilinx_uartlite.c b/hw/char/xilinx_uartlite.c
index e7ab97d58d..8e9f9cd9ec 100644
--- a/hw/char/xilinx_uartlite.c
+++ b/hw/char/xilinx_uartlite.c
@@ -54,8 +54,8 @@
#define TYPE_XILINX_UARTLITE "xlnx.xps-uartlite"
typedef struct XilinxUARTLite XilinxUARTLite;
-#define XILINX_UARTLITE(obj) \
- OBJECT_CHECK(XilinxUARTLite, (obj), TYPE_XILINX_UARTLITE)
+DECLARE_INSTANCE_CHECKER(XilinxUARTLite, XILINX_UARTLITE,
+ TYPE_XILINX_UARTLITE)
struct XilinxUARTLite {
SysBusDevice parent_obj;
diff --git a/hw/core/irq.c b/hw/core/irq.c
index fb3045b912..8a9cbdd556 100644
--- a/hw/core/irq.c
+++ b/hw/core/irq.c
@@ -26,7 +26,8 @@
#include "hw/irq.h"
#include "qom/object.h"
-#define IRQ(obj) OBJECT_CHECK(struct IRQState, (obj), TYPE_IRQ)
+DECLARE_INSTANCE_CHECKER(struct IRQState, IRQ,
+ TYPE_IRQ)
struct IRQState {
Object parent_obj;
diff --git a/hw/cpu/realview_mpcore.c b/hw/cpu/realview_mpcore.c
index 1f1df08cfa..fb547aceef 100644
--- a/hw/cpu/realview_mpcore.c
+++ b/hw/cpu/realview_mpcore.c
@@ -19,8 +19,8 @@
#define TYPE_REALVIEW_MPCORE_RIRQ "realview_mpcore"
typedef struct mpcore_rirq_state mpcore_rirq_state;
-#define REALVIEW_MPCORE_RIRQ(obj) \
- OBJECT_CHECK(mpcore_rirq_state, (obj), TYPE_REALVIEW_MPCORE_RIRQ)
+DECLARE_INSTANCE_CHECKER(mpcore_rirq_state, REALVIEW_MPCORE_RIRQ,
+ TYPE_REALVIEW_MPCORE_RIRQ)
/* Dummy PIC to route IRQ lines. The baseboard has 4 independent IRQ
controllers. The output of these, plus some of the raw input lines
diff --git a/hw/display/ads7846.c b/hw/display/ads7846.c
index 59bbce3979..4b87ee7135 100644
--- a/hw/display/ads7846.c
+++ b/hw/display/ads7846.c
@@ -32,7 +32,8 @@ struct ADS7846State {
typedef struct ADS7846State ADS7846State;
#define TYPE_ADS7846 "ads7846"
-#define ADS7846(obj) OBJECT_CHECK(ADS7846State, (obj), TYPE_ADS7846)
+DECLARE_INSTANCE_CHECKER(ADS7846State, ADS7846,
+ TYPE_ADS7846)
/* Control-byte bitfields */
#define CB_PD0 (1 << 0)
diff --git a/hw/display/artist.c b/hw/display/artist.c
index c030894e7b..80cd66e41d 100644
--- a/hw/display/artist.c
+++ b/hw/display/artist.c
@@ -26,7 +26,8 @@
#define TYPE_ARTIST "artist"
typedef struct ARTISTState ARTISTState;
-#define ARTIST(obj) OBJECT_CHECK(ARTISTState, (obj), TYPE_ARTIST)
+DECLARE_INSTANCE_CHECKER(ARTISTState, ARTIST,
+ TYPE_ARTIST)
#ifdef HOST_WORDS_BIGENDIAN
#define ROP8OFF(_i) (3 - (_i))
diff --git a/hw/display/ati_int.h b/hw/display/ati_int.h
index 2a8a3306da..714005447d 100644
--- a/hw/display/ati_int.h
+++ b/hw/display/ati_int.h
@@ -31,7 +31,8 @@
#define TYPE_ATI_VGA "ati-vga"
typedef struct ATIVGAState ATIVGAState;
-#define ATI_VGA(obj) OBJECT_CHECK(ATIVGAState, (obj), TYPE_ATI_VGA)
+DECLARE_INSTANCE_CHECKER(ATIVGAState, ATI_VGA,
+ TYPE_ATI_VGA)
typedef struct ATIVGARegs {
uint32_t mm_index;
diff --git a/hw/display/bochs-display.c b/hw/display/bochs-display.c
index ef92f3a4e7..41587388c4 100644
--- a/hw/display/bochs-display.c
+++ b/hw/display/bochs-display.c
@@ -58,8 +58,8 @@ struct BochsDisplayState {
typedef struct BochsDisplayState BochsDisplayState;
#define TYPE_BOCHS_DISPLAY "bochs-display"
-#define BOCHS_DISPLAY(obj) OBJECT_CHECK(BochsDisplayState, (obj), \
- TYPE_BOCHS_DISPLAY)
+DECLARE_INSTANCE_CHECKER(BochsDisplayState, BOCHS_DISPLAY,
+ TYPE_BOCHS_DISPLAY)
static const VMStateDescription vmstate_bochs_display = {
.name = "bochs-display",
diff --git a/hw/display/cg3.c b/hw/display/cg3.c
index 49d7e777f9..d66ba9ad6a 100644
--- a/hw/display/cg3.c
+++ b/hw/display/cg3.c
@@ -67,7 +67,8 @@
#define TYPE_CG3 "cgthree"
typedef struct CG3State CG3State;
-#define CG3(obj) OBJECT_CHECK(CG3State, (obj), TYPE_CG3)
+DECLARE_INSTANCE_CHECKER(CG3State, CG3,
+ TYPE_CG3)
struct CG3State {
SysBusDevice parent_obj;
diff --git a/hw/display/cirrus_vga.c b/hw/display/cirrus_vga.c
index 9602cea4cc..c088f38cf8 100644
--- a/hw/display/cirrus_vga.c
+++ b/hw/display/cirrus_vga.c
@@ -186,8 +186,8 @@ struct PCICirrusVGAState {
typedef struct PCICirrusVGAState PCICirrusVGAState;
#define TYPE_PCI_CIRRUS_VGA "cirrus-vga"
-#define PCI_CIRRUS_VGA(obj) \
- OBJECT_CHECK(PCICirrusVGAState, (obj), TYPE_PCI_CIRRUS_VGA)
+DECLARE_INSTANCE_CHECKER(PCICirrusVGAState, PCI_CIRRUS_VGA,
+ TYPE_PCI_CIRRUS_VGA)
static uint8_t rop_to_index[256];
diff --git a/hw/display/cirrus_vga_isa.c b/hw/display/cirrus_vga_isa.c
index 28d1fa41e7..e6adee1df4 100644
--- a/hw/display/cirrus_vga_isa.c
+++ b/hw/display/cirrus_vga_isa.c
@@ -34,8 +34,8 @@
#define TYPE_ISA_CIRRUS_VGA "isa-cirrus-vga"
typedef struct ISACirrusVGAState ISACirrusVGAState;
-#define ISA_CIRRUS_VGA(obj) \
- OBJECT_CHECK(ISACirrusVGAState, (obj), TYPE_ISA_CIRRUS_VGA)
+DECLARE_INSTANCE_CHECKER(ISACirrusVGAState, ISA_CIRRUS_VGA,
+ TYPE_ISA_CIRRUS_VGA)
struct ISACirrusVGAState {
ISADevice parent_obj;
diff --git a/hw/display/exynos4210_fimd.c b/hw/display/exynos4210_fimd.c
index 993b7e9dae..3ef8698eb7 100644
--- a/hw/display/exynos4210_fimd.c
+++ b/hw/display/exynos4210_fimd.c
@@ -295,8 +295,8 @@ struct Exynos4210fimdWindow {
#define TYPE_EXYNOS4210_FIMD "exynos4210.fimd"
typedef struct Exynos4210fimdState Exynos4210fimdState;
-#define EXYNOS4210_FIMD(obj) \
- OBJECT_CHECK(Exynos4210fimdState, (obj), TYPE_EXYNOS4210_FIMD)
+DECLARE_INSTANCE_CHECKER(Exynos4210fimdState, EXYNOS4210_FIMD,
+ TYPE_EXYNOS4210_FIMD)
struct Exynos4210fimdState {
SysBusDevice parent_obj;
diff --git a/hw/display/g364fb.c b/hw/display/g364fb.c
index df674c3c01..4a32fe4c94 100644
--- a/hw/display/g364fb.c
+++ b/hw/display/g364fb.c
@@ -488,7 +488,8 @@ static void g364fb_init(DeviceState *dev, G364State *s)
#define TYPE_G364 "sysbus-g364"
typedef struct G364SysBusState G364SysBusState;
-#define G364(obj) OBJECT_CHECK(G364SysBusState, (obj), TYPE_G364)
+DECLARE_INSTANCE_CHECKER(G364SysBusState, G364,
+ TYPE_G364)
struct G364SysBusState {
SysBusDevice parent_obj;
diff --git a/hw/display/jazz_led.c b/hw/display/jazz_led.c
index 97ec36878b..647d05f602 100644
--- a/hw/display/jazz_led.c
+++ b/hw/display/jazz_led.c
@@ -37,7 +37,8 @@ typedef enum {
#define TYPE_JAZZ_LED "jazz-led"
typedef struct LedState LedState;
-#define JAZZ_LED(obj) OBJECT_CHECK(LedState, (obj), TYPE_JAZZ_LED)
+DECLARE_INSTANCE_CHECKER(LedState, JAZZ_LED,
+ TYPE_JAZZ_LED)
struct LedState {
SysBusDevice parent_obj;
diff --git a/hw/display/milkymist-tmu2.c b/hw/display/milkymist-tmu2.c
index 66cb8e6a60..8a9e7c23fb 100644
--- a/hw/display/milkymist-tmu2.c
+++ b/hw/display/milkymist-tmu2.c
@@ -84,8 +84,8 @@ struct vertex {
#define TYPE_MILKYMIST_TMU2 "milkymist-tmu2"
typedef struct MilkymistTMU2State MilkymistTMU2State;
-#define MILKYMIST_TMU2(obj) \
- OBJECT_CHECK(MilkymistTMU2State, (obj), TYPE_MILKYMIST_TMU2)
+DECLARE_INSTANCE_CHECKER(MilkymistTMU2State, MILKYMIST_TMU2,
+ TYPE_MILKYMIST_TMU2)
struct MilkymistTMU2State {
SysBusDevice parent_obj;
diff --git a/hw/display/milkymist-vgafb.c b/hw/display/milkymist-vgafb.c
index bbf412d9a0..2c879129fb 100644
--- a/hw/display/milkymist-vgafb.c
+++ b/hw/display/milkymist-vgafb.c
@@ -70,8 +70,8 @@ enum {
#define TYPE_MILKYMIST_VGAFB "milkymist-vgafb"
typedef struct MilkymistVgafbState MilkymistVgafbState;
-#define MILKYMIST_VGAFB(obj) \
- OBJECT_CHECK(MilkymistVgafbState, (obj), TYPE_MILKYMIST_VGAFB)
+DECLARE_INSTANCE_CHECKER(MilkymistVgafbState, MILKYMIST_VGAFB,
+ TYPE_MILKYMIST_VGAFB)
struct MilkymistVgafbState {
SysBusDevice parent_obj;
diff --git a/hw/display/next-fb.c b/hw/display/next-fb.c
index 068dc0656f..94db0202a3 100644
--- a/hw/display/next-fb.c
+++ b/hw/display/next-fb.c
@@ -33,7 +33,8 @@
#include "qom/object.h"
typedef struct NeXTFbState NeXTFbState;
-#define NEXTFB(obj) OBJECT_CHECK(NeXTFbState, (obj), TYPE_NEXTFB)
+DECLARE_INSTANCE_CHECKER(NeXTFbState, NEXTFB,
+ TYPE_NEXTFB)
struct NeXTFbState {
SysBusDevice parent_obj;
diff --git a/hw/display/pl110.c b/hw/display/pl110.c
index 4cf953c2f4..af51a2b9e7 100644
--- a/hw/display/pl110.c
+++ b/hw/display/pl110.c
@@ -50,7 +50,8 @@ enum pl110_version
#define TYPE_PL110 "pl110"
typedef struct PL110State PL110State;
-#define PL110(obj) OBJECT_CHECK(PL110State, (obj), TYPE_PL110)
+DECLARE_INSTANCE_CHECKER(PL110State, PL110,
+ TYPE_PL110)
struct PL110State {
SysBusDevice parent_obj;
diff --git a/hw/display/qxl.h b/hw/display/qxl.h
index 4ecb6b2934..714cd01b63 100644
--- a/hw/display/qxl.h
+++ b/hw/display/qxl.h
@@ -131,7 +131,8 @@ struct PCIQXLDevice {
typedef struct PCIQXLDevice PCIQXLDevice;
#define TYPE_PCI_QXL "pci-qxl"
-#define PCI_QXL(obj) OBJECT_CHECK(PCIQXLDevice, (obj), TYPE_PCI_QXL)
+DECLARE_INSTANCE_CHECKER(PCIQXLDevice, PCI_QXL,
+ TYPE_PCI_QXL)
#define PANIC_ON(x) if ((x)) { \
printf("%s: PANIC %s failed\n", __func__, #x); \
diff --git a/hw/display/ramfb-standalone.c b/hw/display/ramfb-standalone.c
index dae32b9fda..8c0094397f 100644
--- a/hw/display/ramfb-standalone.c
+++ b/hw/display/ramfb-standalone.c
@@ -8,7 +8,8 @@
#include "qom/object.h"
typedef struct RAMFBStandaloneState RAMFBStandaloneState;
-#define RAMFB(obj) OBJECT_CHECK(RAMFBStandaloneState, (obj), TYPE_RAMFB_DEVICE)
+DECLARE_INSTANCE_CHECKER(RAMFBStandaloneState, RAMFB,
+ TYPE_RAMFB_DEVICE)
struct RAMFBStandaloneState {
SysBusDevice parent_obj;
diff --git a/hw/display/sii9022.c b/hw/display/sii9022.c
index 4bf2c559cd..d88166f449 100644
--- a/hw/display/sii9022.c
+++ b/hw/display/sii9022.c
@@ -37,7 +37,8 @@
#define TYPE_SII9022 "sii9022"
typedef struct sii9022_state sii9022_state;
-#define SII9022(obj) OBJECT_CHECK(sii9022_state, (obj), TYPE_SII9022)
+DECLARE_INSTANCE_CHECKER(sii9022_state, SII9022,
+ TYPE_SII9022)
struct sii9022_state {
I2CSlave parent_obj;
diff --git a/hw/display/sm501.c b/hw/display/sm501.c
index f886c1e51b..51120c6c3e 100644
--- a/hw/display/sm501.c
+++ b/hw/display/sm501.c
@@ -1933,8 +1933,8 @@ static const VMStateDescription vmstate_sm501_state = {
#define TYPE_SYSBUS_SM501 "sysbus-sm501"
typedef struct SM501SysBusState SM501SysBusState;
-#define SYSBUS_SM501(obj) \
- OBJECT_CHECK(SM501SysBusState, (obj), TYPE_SYSBUS_SM501)
+DECLARE_INSTANCE_CHECKER(SM501SysBusState, SYSBUS_SM501,
+ TYPE_SYSBUS_SM501)
struct SM501SysBusState {
/*< private >*/
@@ -2037,7 +2037,8 @@ static const TypeInfo sm501_sysbus_info = {
#define TYPE_PCI_SM501 "sm501"
typedef struct SM501PCIState SM501PCIState;
-#define PCI_SM501(obj) OBJECT_CHECK(SM501PCIState, (obj), TYPE_PCI_SM501)
+DECLARE_INSTANCE_CHECKER(SM501PCIState, PCI_SM501,
+ TYPE_PCI_SM501)
struct SM501PCIState {
/*< private >*/
diff --git a/hw/display/ssd0303.c b/hw/display/ssd0303.c
index 8804567c1f..0378573a42 100644
--- a/hw/display/ssd0303.c
+++ b/hw/display/ssd0303.c
@@ -48,7 +48,8 @@ enum ssd0303_cmd {
#define TYPE_SSD0303 "ssd0303"
typedef struct ssd0303_state ssd0303_state;
-#define SSD0303(obj) OBJECT_CHECK(ssd0303_state, (obj), TYPE_SSD0303)
+DECLARE_INSTANCE_CHECKER(ssd0303_state, SSD0303,
+ TYPE_SSD0303)
struct ssd0303_state {
I2CSlave parent_obj;
diff --git a/hw/display/ssd0323.c b/hw/display/ssd0323.c
index c9d79cfcd3..037da81127 100644
--- a/hw/display/ssd0323.c
+++ b/hw/display/ssd0323.c
@@ -69,7 +69,8 @@ struct ssd0323_state {
typedef struct ssd0323_state ssd0323_state;
#define TYPE_SSD0323 "ssd0323"
-#define SSD0323(obj) OBJECT_CHECK(ssd0323_state, (obj), TYPE_SSD0323)
+DECLARE_INSTANCE_CHECKER(ssd0323_state, SSD0323,
+ TYPE_SSD0323)
static uint32_t ssd0323_transfer(SSISlave *dev, uint32_t data)
diff --git a/hw/display/tcx.c b/hw/display/tcx.c
index 5c75589919..69e901a800 100644
--- a/hw/display/tcx.c
+++ b/hw/display/tcx.c
@@ -57,7 +57,8 @@
#define TYPE_TCX "SUNW,tcx"
typedef struct TCXState TCXState;
-#define TCX(obj) OBJECT_CHECK(TCXState, (obj), TYPE_TCX)
+DECLARE_INSTANCE_CHECKER(TCXState, TCX,
+ TYPE_TCX)
struct TCXState {
SysBusDevice parent_obj;
diff --git a/hw/display/vga-isa.c b/hw/display/vga-isa.c
index 50efc3760a..0ebfcca9d1 100644
--- a/hw/display/vga-isa.c
+++ b/hw/display/vga-isa.c
@@ -36,7 +36,8 @@
#define TYPE_ISA_VGA "isa-vga"
typedef struct ISAVGAState ISAVGAState;
-#define ISA_VGA(obj) OBJECT_CHECK(ISAVGAState, (obj), TYPE_ISA_VGA)
+DECLARE_INSTANCE_CHECKER(ISAVGAState, ISA_VGA,
+ TYPE_ISA_VGA)
struct ISAVGAState {
ISADevice parent_obj;
diff --git a/hw/display/vga-pci.c b/hw/display/vga-pci.c
index 852cbf36e9..3b45fa3bad 100644
--- a/hw/display/vga-pci.c
+++ b/hw/display/vga-pci.c
@@ -54,7 +54,8 @@ struct PCIVGAState {
typedef struct PCIVGAState PCIVGAState;
#define TYPE_PCI_VGA "pci-vga"
-#define PCI_VGA(obj) OBJECT_CHECK(PCIVGAState, (obj), TYPE_PCI_VGA)
+DECLARE_INSTANCE_CHECKER(PCIVGAState, PCI_VGA,
+ TYPE_PCI_VGA)
static const VMStateDescription vmstate_vga_pci = {
.name = "vga",
diff --git a/hw/display/vhost-user-gpu-pci.c b/hw/display/vhost-user-gpu-pci.c
index 678b762bbb..a02b23ecaf 100644
--- a/hw/display/vhost-user-gpu-pci.c
+++ b/hw/display/vhost-user-gpu-pci.c
@@ -15,8 +15,8 @@
#define TYPE_VHOST_USER_GPU_PCI "vhost-user-gpu-pci"
typedef struct VhostUserGPUPCI VhostUserGPUPCI;
-#define VHOST_USER_GPU_PCI(obj) \
- OBJECT_CHECK(VhostUserGPUPCI, (obj), TYPE_VHOST_USER_GPU_PCI)
+DECLARE_INSTANCE_CHECKER(VhostUserGPUPCI, VHOST_USER_GPU_PCI,
+ TYPE_VHOST_USER_GPU_PCI)
struct VhostUserGPUPCI {
VirtIOGPUPCIBase parent_obj;
diff --git a/hw/display/vhost-user-vga.c b/hw/display/vhost-user-vga.c
index 2cc9616bea..7110ea6231 100644
--- a/hw/display/vhost-user-vga.c
+++ b/hw/display/vhost-user-vga.c
@@ -16,8 +16,8 @@
#define TYPE_VHOST_USER_VGA "vhost-user-vga"
typedef struct VhostUserVGA VhostUserVGA;
-#define VHOST_USER_VGA(obj) \
- OBJECT_CHECK(VhostUserVGA, (obj), TYPE_VHOST_USER_VGA)
+DECLARE_INSTANCE_CHECKER(VhostUserVGA, VHOST_USER_VGA,
+ TYPE_VHOST_USER_VGA)
struct VhostUserVGA {
VirtIOVGABase parent_obj;
diff --git a/hw/display/virtio-gpu-pci.c b/hw/display/virtio-gpu-pci.c
index 7248ec30c7..d742a30aec 100644
--- a/hw/display/virtio-gpu-pci.c
+++ b/hw/display/virtio-gpu-pci.c
@@ -67,8 +67,8 @@ static const TypeInfo virtio_gpu_pci_base_info = {
#define TYPE_VIRTIO_GPU_PCI "virtio-gpu-pci"
typedef struct VirtIOGPUPCI VirtIOGPUPCI;
-#define VIRTIO_GPU_PCI(obj) \
- OBJECT_CHECK(VirtIOGPUPCI, (obj), TYPE_VIRTIO_GPU_PCI)
+DECLARE_INSTANCE_CHECKER(VirtIOGPUPCI, VIRTIO_GPU_PCI,
+ TYPE_VIRTIO_GPU_PCI)
struct VirtIOGPUPCI {
VirtIOGPUPCIBase parent_obj;
diff --git a/hw/display/virtio-vga.c b/hw/display/virtio-vga.c
index 0bb98ede75..17e5658d43 100644
--- a/hw/display/virtio-vga.c
+++ b/hw/display/virtio-vga.c
@@ -204,8 +204,8 @@ static TypeInfo virtio_vga_base_info = {
#define TYPE_VIRTIO_VGA "virtio-vga"
typedef struct VirtIOVGA VirtIOVGA;
-#define VIRTIO_VGA(obj) \
- OBJECT_CHECK(VirtIOVGA, (obj), TYPE_VIRTIO_VGA)
+DECLARE_INSTANCE_CHECKER(VirtIOVGA, VIRTIO_VGA,
+ TYPE_VIRTIO_VGA)
struct VirtIOVGA {
VirtIOVGABase parent_obj;
diff --git a/hw/display/virtio-vga.h b/hw/display/virtio-vga.h
index 2d3b765bf9..19f8af7356 100644
--- a/hw/display/virtio-vga.h
+++ b/hw/display/virtio-vga.h
@@ -11,12 +11,8 @@
#define TYPE_VIRTIO_VGA_BASE "virtio-vga-base"
typedef struct VirtIOVGABase VirtIOVGABase;
typedef struct VirtIOVGABaseClass VirtIOVGABaseClass;
-#define VIRTIO_VGA_BASE(obj) \
- OBJECT_CHECK(VirtIOVGABase, (obj), TYPE_VIRTIO_VGA_BASE)
-#define VIRTIO_VGA_BASE_GET_CLASS(obj) \
- OBJECT_GET_CLASS(VirtIOVGABaseClass, obj, TYPE_VIRTIO_VGA_BASE)
-#define VIRTIO_VGA_BASE_CLASS(klass) \
- OBJECT_CLASS_CHECK(VirtIOVGABaseClass, klass, TYPE_VIRTIO_VGA_BASE)
+DECLARE_OBJ_CHECKERS(VirtIOVGABase, VirtIOVGABaseClass,
+ VIRTIO_VGA_BASE, TYPE_VIRTIO_VGA_BASE)
struct VirtIOVGABase {
VirtIOPCIProxy parent_obj;
diff --git a/hw/display/vmware_vga.c b/hw/display/vmware_vga.c
index 076dfcedd7..bef0d7d69a 100644
--- a/hw/display/vmware_vga.c
+++ b/hw/display/vmware_vga.c
@@ -86,8 +86,8 @@ struct vmsvga_state_s {
#define TYPE_VMWARE_SVGA "vmware-svga"
-#define VMWARE_SVGA(obj) \
- OBJECT_CHECK(struct pci_vmsvga_state_s, (obj), TYPE_VMWARE_SVGA)
+DECLARE_INSTANCE_CHECKER(struct pci_vmsvga_state_s, VMWARE_SVGA,
+ TYPE_VMWARE_SVGA)
struct pci_vmsvga_state_s {
/*< private >*/
diff --git a/hw/dma/i82374.c b/hw/dma/i82374.c
index c12946aaef..5b7ff635f7 100644
--- a/hw/dma/i82374.c
+++ b/hw/dma/i82374.c
@@ -33,7 +33,8 @@
#define TYPE_I82374 "i82374"
typedef struct I82374State I82374State;
-#define I82374(obj) OBJECT_CHECK(I82374State, (obj), TYPE_I82374)
+DECLARE_INSTANCE_CHECKER(I82374State, I82374,
+ TYPE_I82374)
//#define DEBUG_I82374
diff --git a/hw/dma/pl330.c b/hw/dma/pl330.c
index 380d45db8f..859586fd2f 100644
--- a/hw/dma/pl330.c
+++ b/hw/dma/pl330.c
@@ -272,7 +272,8 @@ struct PL330State {
};
#define TYPE_PL330 "pl330"
-#define PL330(obj) OBJECT_CHECK(PL330State, (obj), TYPE_PL330)
+DECLARE_INSTANCE_CHECKER(PL330State, PL330,
+ TYPE_PL330)
static const VMStateDescription vmstate_pl330 = {
.name = "pl330",
diff --git a/hw/dma/puv3_dma.c b/hw/dma/puv3_dma.c
index 72e7b395b0..825e3dc0ac 100644
--- a/hw/dma/puv3_dma.c
+++ b/hw/dma/puv3_dma.c
@@ -24,7 +24,8 @@
#define TYPE_PUV3_DMA "puv3_dma"
typedef struct PUV3DMAState PUV3DMAState;
-#define PUV3_DMA(obj) OBJECT_CHECK(PUV3DMAState, (obj), TYPE_PUV3_DMA)
+DECLARE_INSTANCE_CHECKER(PUV3DMAState, PUV3_DMA,
+ TYPE_PUV3_DMA)
struct PUV3DMAState {
SysBusDevice parent_obj;
diff --git a/hw/dma/pxa2xx_dma.c b/hw/dma/pxa2xx_dma.c
index 6ae8035831..4f6c0e5e5e 100644
--- a/hw/dma/pxa2xx_dma.c
+++ b/hw/dma/pxa2xx_dma.c
@@ -36,7 +36,8 @@ typedef struct {
#define TYPE_PXA2XX_DMA "pxa2xx-dma"
typedef struct PXA2xxDMAState PXA2xxDMAState;
-#define PXA2XX_DMA(obj) OBJECT_CHECK(PXA2xxDMAState, (obj), TYPE_PXA2XX_DMA)
+DECLARE_INSTANCE_CHECKER(PXA2xxDMAState, PXA2XX_DMA,
+ TYPE_PXA2XX_DMA)
struct PXA2xxDMAState {
SysBusDevice parent_obj;
diff --git a/hw/dma/rc4030.c b/hw/dma/rc4030.c
index 7d6eaf5e96..c584815d06 100644
--- a/hw/dma/rc4030.c
+++ b/hw/dma/rc4030.c
@@ -57,8 +57,8 @@ typedef struct dma_pagetable_entry {
#define TYPE_RC4030 "rc4030"
typedef struct rc4030State rc4030State;
-#define RC4030(obj) \
- OBJECT_CHECK(rc4030State, (obj), TYPE_RC4030)
+DECLARE_INSTANCE_CHECKER(rc4030State, RC4030,
+ TYPE_RC4030)
#define TYPE_RC4030_IOMMU_MEMORY_REGION "rc4030-iommu-memory-region"
diff --git a/hw/dma/xilinx_axidma.c b/hw/dma/xilinx_axidma.c
index 6d48fea8fe..f313453495 100644
--- a/hw/dma/xilinx_axidma.c
+++ b/hw/dma/xilinx_axidma.c
@@ -44,17 +44,15 @@
#define TYPE_XILINX_AXI_DMA_CONTROL_STREAM "xilinx-axi-dma-control-stream"
typedef struct XilinxAXIDMA XilinxAXIDMA;
-#define XILINX_AXI_DMA(obj) \
- OBJECT_CHECK(XilinxAXIDMA, (obj), TYPE_XILINX_AXI_DMA)
+DECLARE_INSTANCE_CHECKER(XilinxAXIDMA, XILINX_AXI_DMA,
+ TYPE_XILINX_AXI_DMA)
typedef struct XilinxAXIDMAStreamSlave XilinxAXIDMAStreamSlave;
-#define XILINX_AXI_DMA_DATA_STREAM(obj) \
- OBJECT_CHECK(XilinxAXIDMAStreamSlave, (obj),\
- TYPE_XILINX_AXI_DMA_DATA_STREAM)
+DECLARE_INSTANCE_CHECKER(XilinxAXIDMAStreamSlave, XILINX_AXI_DMA_DATA_STREAM,
+ TYPE_XILINX_AXI_DMA_DATA_STREAM)
-#define XILINX_AXI_DMA_CONTROL_STREAM(obj) \
- OBJECT_CHECK(XilinxAXIDMAStreamSlave, (obj),\
- TYPE_XILINX_AXI_DMA_CONTROL_STREAM)
+DECLARE_INSTANCE_CHECKER(XilinxAXIDMAStreamSlave, XILINX_AXI_DMA_CONTROL_STREAM,
+ TYPE_XILINX_AXI_DMA_CONTROL_STREAM)
#define R_DMACR (0x00 / 4)
#define R_DMASR (0x04 / 4)
diff --git a/hw/gpio/gpio_key.c b/hw/gpio/gpio_key.c
index 2500a23c6e..86aa78aae4 100644
--- a/hw/gpio/gpio_key.c
+++ b/hw/gpio/gpio_key.c
@@ -32,7 +32,8 @@
#define TYPE_GPIOKEY "gpio-key"
typedef struct GPIOKEYState GPIOKEYState;
-#define GPIOKEY(obj) OBJECT_CHECK(GPIOKEYState, (obj), TYPE_GPIOKEY)
+DECLARE_INSTANCE_CHECKER(GPIOKEYState, GPIOKEY,
+ TYPE_GPIOKEY)
#define GPIO_KEY_LATENCY 100 /* 100ms */
struct GPIOKEYState {
diff --git a/hw/gpio/max7310.c b/hw/gpio/max7310.c
index dd7e7f293d..5511047f35 100644
--- a/hw/gpio/max7310.c
+++ b/hw/gpio/max7310.c
@@ -18,7 +18,8 @@
#define TYPE_MAX7310 "max7310"
typedef struct MAX7310State MAX7310State;
-#define MAX7310(obj) OBJECT_CHECK(MAX7310State, (obj), TYPE_MAX7310)
+DECLARE_INSTANCE_CHECKER(MAX7310State, MAX7310,
+ TYPE_MAX7310)
struct MAX7310State {
I2CSlave parent_obj;
diff --git a/hw/gpio/mpc8xxx.c b/hw/gpio/mpc8xxx.c
index b33462e4db..dac8b1be38 100644
--- a/hw/gpio/mpc8xxx.c
+++ b/hw/gpio/mpc8xxx.c
@@ -28,7 +28,8 @@
#define TYPE_MPC8XXX_GPIO "mpc8xxx_gpio"
typedef struct MPC8XXXGPIOState MPC8XXXGPIOState;
-#define MPC8XXX_GPIO(obj) OBJECT_CHECK(MPC8XXXGPIOState, (obj), TYPE_MPC8XXX_GPIO)
+DECLARE_INSTANCE_CHECKER(MPC8XXXGPIOState, MPC8XXX_GPIO,
+ TYPE_MPC8XXX_GPIO)
struct MPC8XXXGPIOState {
SysBusDevice parent_obj;
diff --git a/hw/gpio/pl061.c b/hw/gpio/pl061.c
index 6c36407079..3420df0d1f 100644
--- a/hw/gpio/pl061.c
+++ b/hw/gpio/pl061.c
@@ -36,7 +36,8 @@ static const uint8_t pl061_id_luminary[12] =
#define TYPE_PL061 "pl061"
typedef struct PL061State PL061State;
-#define PL061(obj) OBJECT_CHECK(PL061State, (obj), TYPE_PL061)
+DECLARE_INSTANCE_CHECKER(PL061State, PL061,
+ TYPE_PL061)
#define N_GPIOS 8
diff --git a/hw/gpio/puv3_gpio.c b/hw/gpio/puv3_gpio.c
index 5e0ee783dc..98ea2b4c2e 100644
--- a/hw/gpio/puv3_gpio.c
+++ b/hw/gpio/puv3_gpio.c
@@ -20,7 +20,8 @@
#define TYPE_PUV3_GPIO "puv3_gpio"
typedef struct PUV3GPIOState PUV3GPIOState;
-#define PUV3_GPIO(obj) OBJECT_CHECK(PUV3GPIOState, (obj), TYPE_PUV3_GPIO)
+DECLARE_INSTANCE_CHECKER(PUV3GPIOState, PUV3_GPIO,
+ TYPE_PUV3_GPIO)
struct PUV3GPIOState {
SysBusDevice parent_obj;
diff --git a/hw/gpio/zaurus.c b/hw/gpio/zaurus.c
index 048e40c072..3d25c55d06 100644
--- a/hw/gpio/zaurus.c
+++ b/hw/gpio/zaurus.c
@@ -29,7 +29,8 @@
#define TYPE_SCOOP "scoop"
typedef struct ScoopInfo ScoopInfo;
-#define SCOOP(obj) OBJECT_CHECK(ScoopInfo, (obj), TYPE_SCOOP)
+DECLARE_INSTANCE_CHECKER(ScoopInfo, SCOOP,
+ TYPE_SCOOP)
struct ScoopInfo {
SysBusDevice parent_obj;
diff --git a/hw/hppa/dino.c b/hw/hppa/dino.c
index fa739adc7b..c0c9b8a2b8 100644
--- a/hw/hppa/dino.c
+++ b/hw/hppa/dino.c
@@ -82,8 +82,8 @@
#define DINO_MEM_CHUNK_SIZE (8 * MiB)
typedef struct DinoState DinoState;
-#define DINO_PCI_HOST_BRIDGE(obj) \
- OBJECT_CHECK(DinoState, (obj), TYPE_DINO_PCI_HOST_BRIDGE)
+DECLARE_INSTANCE_CHECKER(DinoState, DINO_PCI_HOST_BRIDGE,
+ TYPE_DINO_PCI_HOST_BRIDGE)
#define DINO800_REGS (1 + (DINO_TLTIM - DINO_GMASK) / 4)
static const uint32_t reg800_keep_bits[DINO800_REGS] = {
diff --git a/hw/hppa/lasi.c b/hw/hppa/lasi.c
index 1acb9ce631..c0b970f55c 100644
--- a/hw/hppa/lasi.c
+++ b/hw/hppa/lasi.c
@@ -54,8 +54,8 @@
#define ICR_TOC_BIT LASI_BIT(1) /* bit 1 in ICR */
typedef struct LasiState LasiState;
-#define LASI_CHIP(obj) \
- OBJECT_CHECK(LasiState, (obj), TYPE_LASI_CHIP)
+DECLARE_INSTANCE_CHECKER(LasiState, LASI_CHIP,
+ TYPE_LASI_CHIP)
struct LasiState {
PCIHostState parent_obj;
diff --git a/hw/hyperv/hyperv.c b/hw/hyperv/hyperv.c
index 5dfa9d77e1..aa5a2a9bd8 100644
--- a/hw/hyperv/hyperv.c
+++ b/hw/hyperv/hyperv.c
@@ -38,7 +38,8 @@ struct SynICState {
typedef struct SynICState SynICState;
#define TYPE_SYNIC "hyperv-synic"
-#define SYNIC(obj) OBJECT_CHECK(SynICState, (obj), TYPE_SYNIC)
+DECLARE_INSTANCE_CHECKER(SynICState, SYNIC,
+ TYPE_SYNIC)
static bool synic_enabled;
diff --git a/hw/hyperv/hyperv_testdev.c b/hw/hyperv/hyperv_testdev.c
index 8f78fce088..f6ee98e00c 100644
--- a/hw/hyperv/hyperv_testdev.c
+++ b/hw/hyperv/hyperv_testdev.c
@@ -50,8 +50,8 @@ struct HypervTestDev {
typedef struct HypervTestDev HypervTestDev;
#define TYPE_HYPERV_TEST_DEV "hyperv-testdev"
-#define HYPERV_TEST_DEV(obj) \
- OBJECT_CHECK(HypervTestDev, (obj), TYPE_HYPERV_TEST_DEV)
+DECLARE_INSTANCE_CHECKER(HypervTestDev, HYPERV_TEST_DEV,
+ TYPE_HYPERV_TEST_DEV)
enum {
HV_TEST_DEV_SINT_ROUTE_CREATE = 1,
diff --git a/hw/i2c/bitbang_i2c.c b/hw/i2c/bitbang_i2c.c
index 4ff3c0b4ec..c1b9f298d9 100644
--- a/hw/i2c/bitbang_i2c.c
+++ b/hw/i2c/bitbang_i2c.c
@@ -164,7 +164,8 @@ void bitbang_i2c_init(bitbang_i2c_interface *s, I2CBus *bus)
#define TYPE_GPIO_I2C "gpio_i2c"
typedef struct GPIOI2CState GPIOI2CState;
-#define GPIO_I2C(obj) OBJECT_CHECK(GPIOI2CState, (obj), TYPE_GPIO_I2C)
+DECLARE_INSTANCE_CHECKER(GPIOI2CState, GPIO_I2C,
+ TYPE_GPIO_I2C)
struct GPIOI2CState {
SysBusDevice parent_obj;
diff --git a/hw/i2c/exynos4210_i2c.c b/hw/i2c/exynos4210_i2c.c
index 9d2f780d2a..ff82226e9f 100644
--- a/hw/i2c/exynos4210_i2c.c
+++ b/hw/i2c/exynos4210_i2c.c
@@ -35,8 +35,8 @@
#define TYPE_EXYNOS4_I2C "exynos4210.i2c"
typedef struct Exynos4210I2CState Exynos4210I2CState;
-#define EXYNOS4_I2C(obj) \
- OBJECT_CHECK(Exynos4210I2CState, (obj), TYPE_EXYNOS4_I2C)
+DECLARE_INSTANCE_CHECKER(Exynos4210I2CState, EXYNOS4_I2C,
+ TYPE_EXYNOS4_I2C)
/* Exynos4210 I2C memory map */
#define EXYNOS4_I2C_MEM_SIZE 0x14
diff --git a/hw/i2c/mpc_i2c.c b/hw/i2c/mpc_i2c.c
index 232a277da4..156a25a8e9 100644
--- a/hw/i2c/mpc_i2c.c
+++ b/hw/i2c/mpc_i2c.c
@@ -38,8 +38,8 @@
#define TYPE_MPC_I2C "mpc-i2c"
typedef struct MPCI2CState MPCI2CState;
-#define MPC_I2C(obj) \
- OBJECT_CHECK(MPCI2CState, (obj), TYPE_MPC_I2C)
+DECLARE_INSTANCE_CHECKER(MPCI2CState, MPC_I2C,
+ TYPE_MPC_I2C)
#define MPC_I2C_ADR 0x00
#define MPC_I2C_FDR 0x04
diff --git a/hw/i2c/smbus_eeprom.c b/hw/i2c/smbus_eeprom.c
index 4f98012f1c..c6777844cf 100644
--- a/hw/i2c/smbus_eeprom.c
+++ b/hw/i2c/smbus_eeprom.c
@@ -38,8 +38,8 @@
#define TYPE_SMBUS_EEPROM "smbus-eeprom"
typedef struct SMBusEEPROMDevice SMBusEEPROMDevice;
-#define SMBUS_EEPROM(obj) \
- OBJECT_CHECK(SMBusEEPROMDevice, (obj), TYPE_SMBUS_EEPROM)
+DECLARE_INSTANCE_CHECKER(SMBusEEPROMDevice, SMBUS_EEPROM,
+ TYPE_SMBUS_EEPROM)
#define SMBUS_EEPROM_SIZE 256
diff --git a/hw/i2c/smbus_ich9.c b/hw/i2c/smbus_ich9.c
index 44d26fcf39..2d4578511d 100644
--- a/hw/i2c/smbus_ich9.c
+++ b/hw/i2c/smbus_ich9.c
@@ -31,8 +31,8 @@
#include "qom/object.h"
typedef struct ICH9SMBState ICH9SMBState;
-#define ICH9_SMB_DEVICE(obj) \
- OBJECT_CHECK(ICH9SMBState, (obj), TYPE_ICH9_SMB_DEVICE)
+DECLARE_INSTANCE_CHECKER(ICH9SMBState, ICH9_SMB_DEVICE,
+ TYPE_ICH9_SMB_DEVICE)
struct ICH9SMBState {
PCIDevice dev;
diff --git a/hw/i2c/versatile_i2c.c b/hw/i2c/versatile_i2c.c
index 3ab386d671..3a04ba3969 100644
--- a/hw/i2c/versatile_i2c.c
+++ b/hw/i2c/versatile_i2c.c
@@ -30,8 +30,8 @@
#include "qom/object.h"
typedef ArmSbconI2CState VersatileI2CState;
-#define VERSATILE_I2C(obj) \
- OBJECT_CHECK(VersatileI2CState, (obj), TYPE_VERSATILE_I2C)
+DECLARE_INSTANCE_CHECKER(VersatileI2CState, VERSATILE_I2C,
+ TYPE_VERSATILE_I2C)
diff --git a/hw/i386/amd_iommu.h b/hw/i386/amd_iommu.h
index 85860c36dd..fa5feb183c 100644
--- a/hw/i386/amd_iommu.h
+++ b/hw/i386/amd_iommu.h
@@ -298,8 +298,8 @@ struct irte_ga {
#define TYPE_AMD_IOMMU_DEVICE "amd-iommu"
typedef struct AMDVIState AMDVIState;
-#define AMD_IOMMU_DEVICE(obj)\
- OBJECT_CHECK(AMDVIState, (obj), TYPE_AMD_IOMMU_DEVICE)
+DECLARE_INSTANCE_CHECKER(AMDVIState, AMD_IOMMU_DEVICE,
+ TYPE_AMD_IOMMU_DEVICE)
#define TYPE_AMD_IOMMU_PCI "AMDVI-PCI"
diff --git a/hw/i386/kvm/clock.c b/hw/i386/kvm/clock.c
index 94ece445af..37f47540e5 100644
--- a/hw/i386/kvm/clock.c
+++ b/hw/i386/kvm/clock.c
@@ -33,7 +33,8 @@
#define TYPE_KVM_CLOCK "kvmclock"
typedef struct KVMClockState KVMClockState;
-#define KVM_CLOCK(obj) OBJECT_CHECK(KVMClockState, (obj), TYPE_KVM_CLOCK)
+DECLARE_INSTANCE_CHECKER(KVMClockState, KVM_CLOCK,
+ TYPE_KVM_CLOCK)
struct KVMClockState {
/*< private >*/
diff --git a/hw/i386/kvm/i8254.c b/hw/i386/kvm/i8254.c
index d3e4142b16..e18fd337fa 100644
--- a/hw/i386/kvm/i8254.c
+++ b/hw/i386/kvm/i8254.c
@@ -41,11 +41,8 @@
typedef struct KVMPITClass KVMPITClass;
typedef struct KVMPITState KVMPITState;
-#define KVM_PIT(obj) OBJECT_CHECK(KVMPITState, (obj), TYPE_KVM_I8254)
-#define KVM_PIT_CLASS(class) \
- OBJECT_CLASS_CHECK(KVMPITClass, (class), TYPE_KVM_I8254)
-#define KVM_PIT_GET_CLASS(obj) \
- OBJECT_GET_CLASS(KVMPITClass, (obj), TYPE_KVM_I8254)
+DECLARE_OBJ_CHECKERS(KVMPITState, KVMPITClass,
+ KVM_PIT, TYPE_KVM_I8254)
struct KVMPITState {
PITCommonState parent_obj;
diff --git a/hw/i386/kvm/i8259.c b/hw/i386/kvm/i8259.c
index b256f97c83..3f8bf69e9c 100644
--- a/hw/i386/kvm/i8259.c
+++ b/hw/i386/kvm/i8259.c
@@ -21,10 +21,8 @@
#define TYPE_KVM_I8259 "kvm-i8259"
typedef struct KVMPICClass KVMPICClass;
-#define KVM_PIC_CLASS(class) \
- OBJECT_CLASS_CHECK(KVMPICClass, (class), TYPE_KVM_I8259)
-#define KVM_PIC_GET_CLASS(obj) \
- OBJECT_GET_CLASS(KVMPICClass, (obj), TYPE_KVM_I8259)
+DECLARE_CLASS_CHECKERS(KVMPICClass, KVM_PIC,
+ TYPE_KVM_I8259)
/**
* KVMPICClass:
diff --git a/hw/i386/kvmvapic.c b/hw/i386/kvmvapic.c
index 857d9f4a61..a4e05f086e 100644
--- a/hw/i386/kvmvapic.c
+++ b/hw/i386/kvmvapic.c
@@ -74,7 +74,8 @@ struct VAPICROMState {
typedef struct VAPICROMState VAPICROMState;
#define TYPE_VAPIC "kvmvapic"
-#define VAPIC(obj) OBJECT_CHECK(VAPICROMState, (obj), TYPE_VAPIC)
+DECLARE_INSTANCE_CHECKER(VAPICROMState, VAPIC,
+ TYPE_VAPIC)
#define TPR_INSTR_ABS_MODRM 0x1
#define TPR_INSTR_MATCH_MODRM_REG 0x2
diff --git a/hw/i386/port92.c b/hw/i386/port92.c
index 48200def5d..c00dcb261b 100644
--- a/hw/i386/port92.c
+++ b/hw/i386/port92.c
@@ -15,7 +15,8 @@
#include "qom/object.h"
typedef struct Port92State Port92State;
-#define PORT92(obj) OBJECT_CHECK(Port92State, (obj), TYPE_PORT92)
+DECLARE_INSTANCE_CHECKER(Port92State, PORT92,
+ TYPE_PORT92)
struct Port92State {
ISADevice parent_obj;
diff --git a/hw/i386/vmmouse.c b/hw/i386/vmmouse.c
index d187de3745..ae4cbc7add 100644
--- a/hw/i386/vmmouse.c
+++ b/hw/i386/vmmouse.c
@@ -52,7 +52,8 @@
#define TYPE_VMMOUSE "vmmouse"
typedef struct VMMouseState VMMouseState;
-#define VMMOUSE(obj) OBJECT_CHECK(VMMouseState, (obj), TYPE_VMMOUSE)
+DECLARE_INSTANCE_CHECKER(VMMouseState, VMMOUSE,
+ TYPE_VMMOUSE)
struct VMMouseState {
ISADevice parent_obj;
diff --git a/hw/i386/vmport.c b/hw/i386/vmport.c
index 3720834630..df52b6f903 100644
--- a/hw/i386/vmport.c
+++ b/hw/i386/vmport.c
@@ -64,7 +64,8 @@
#define VCPU_INFO_RESERVED_BIT 31
typedef struct VMPortState VMPortState;
-#define VMPORT(obj) OBJECT_CHECK(VMPortState, (obj), TYPE_VMPORT)
+DECLARE_INSTANCE_CHECKER(VMPortState, VMPORT,
+ TYPE_VMPORT)
struct VMPortState {
ISADevice parent_obj;
diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c
index e8dbd580c5..a8bbe8c833 100644
--- a/hw/i386/xen/xen_platform.c
+++ b/hw/i386/xen/xen_platform.c
@@ -72,8 +72,8 @@ struct PCIXenPlatformState {
typedef struct PCIXenPlatformState PCIXenPlatformState;
#define TYPE_XEN_PLATFORM "xen-platform"
-#define XEN_PLATFORM(obj) \
- OBJECT_CHECK(PCIXenPlatformState, (obj), TYPE_XEN_PLATFORM)
+DECLARE_INSTANCE_CHECKER(PCIXenPlatformState, XEN_PLATFORM,
+ TYPE_XEN_PLATFORM)
#define XEN_PLATFORM_IOPORT 0x10
diff --git a/hw/i386/xen/xen_pvdevice.c b/hw/i386/xen/xen_pvdevice.c
index 518c66d0bf..67f83616d3 100644
--- a/hw/i386/xen/xen_pvdevice.c
+++ b/hw/i386/xen/xen_pvdevice.c
@@ -41,8 +41,8 @@
#define TYPE_XEN_PV_DEVICE "xen-pvdevice"
typedef struct XenPVDevice XenPVDevice;
-#define XEN_PV_DEVICE(obj) \
- OBJECT_CHECK(XenPVDevice, (obj), TYPE_XEN_PV_DEVICE)
+DECLARE_INSTANCE_CHECKER(XenPVDevice, XEN_PV_DEVICE,
+ TYPE_XEN_PV_DEVICE)
struct XenPVDevice {
/*< private >*/
diff --git a/hw/ide/isa.c b/hw/ide/isa.c
index 438f74e67c..9a3489691b 100644
--- a/hw/ide/isa.c
+++ b/hw/ide/isa.c
@@ -39,7 +39,8 @@
#define TYPE_ISA_IDE "isa-ide"
typedef struct ISAIDEState ISAIDEState;
-#define ISA_IDE(obj) OBJECT_CHECK(ISAIDEState, (obj), TYPE_ISA_IDE)
+DECLARE_INSTANCE_CHECKER(ISAIDEState, ISA_IDE,
+ TYPE_ISA_IDE)
struct ISAIDEState {
ISADevice parent_obj;
diff --git a/hw/ide/microdrive.c b/hw/ide/microdrive.c
index 28f171bf15..6e7f5df901 100644
--- a/hw/ide/microdrive.c
+++ b/hw/ide/microdrive.c
@@ -35,7 +35,8 @@
#define TYPE_MICRODRIVE "microdrive"
typedef struct MicroDriveState MicroDriveState;
-#define MICRODRIVE(obj) OBJECT_CHECK(MicroDriveState, (obj), TYPE_MICRODRIVE)
+DECLARE_INSTANCE_CHECKER(MicroDriveState, MICRODRIVE,
+ TYPE_MICRODRIVE)
/***********************************************************/
/* CF-ATA Microdrive */
diff --git a/hw/ide/mmio.c b/hw/ide/mmio.c
index 501afdfaaa..4bf6e3a8b7 100644
--- a/hw/ide/mmio.c
+++ b/hw/ide/mmio.c
@@ -41,7 +41,8 @@
#define TYPE_MMIO_IDE "mmio-ide"
typedef struct MMIOIDEState MMIOState;
-#define MMIO_IDE(obj) OBJECT_CHECK(MMIOState, (obj), TYPE_MMIO_IDE)
+DECLARE_INSTANCE_CHECKER(MMIOState, MMIO_IDE,
+ TYPE_MMIO_IDE)
struct MMIOIDEState {
/*< private >*/
diff --git a/hw/ide/sii3112.c b/hw/ide/sii3112.c
index 11c5b88bbf..968c239ab8 100644
--- a/hw/ide/sii3112.c
+++ b/hw/ide/sii3112.c
@@ -20,7 +20,7 @@
#define TYPE_SII3112_PCI "sii3112"
typedef struct SiI3112PCIState SiI3112PCIState;
-#define SII3112_PCI(obj) OBJECT_CHECK(SiI3112PCIState, (obj), \
+DECLARE_INSTANCE_CHECKER(SiI3112PCIState, SII3112_PCI,
TYPE_SII3112_PCI)
typedef struct SiI3112Regs {
diff --git a/hw/input/adb-kbd.c b/hw/input/adb-kbd.c
index a439bf6361..fe0c363d64 100644
--- a/hw/input/adb-kbd.c
+++ b/hw/input/adb-kbd.c
@@ -34,7 +34,8 @@
typedef struct ADBKeyboardClass ADBKeyboardClass;
typedef struct KBDState KBDState;
-#define ADB_KEYBOARD(obj) OBJECT_CHECK(KBDState, (obj), TYPE_ADB_KEYBOARD)
+DECLARE_OBJ_CHECKERS(KBDState, ADBKeyboardClass,
+ ADB_KEYBOARD, TYPE_ADB_KEYBOARD)
struct KBDState {
/*< private >*/
@@ -45,10 +46,6 @@ struct KBDState {
int rptr, wptr, count;
};
-#define ADB_KEYBOARD_CLASS(class) \
- OBJECT_CLASS_CHECK(ADBKeyboardClass, (class), TYPE_ADB_KEYBOARD)
-#define ADB_KEYBOARD_GET_CLASS(obj) \
- OBJECT_GET_CLASS(ADBKeyboardClass, (obj), TYPE_ADB_KEYBOARD)
struct ADBKeyboardClass {
/*< private >*/
diff --git a/hw/input/adb-mouse.c b/hw/input/adb-mouse.c
index 8e4cf470d4..f5750909b4 100644
--- a/hw/input/adb-mouse.c
+++ b/hw/input/adb-mouse.c
@@ -33,7 +33,8 @@
typedef struct ADBMouseClass ADBMouseClass;
typedef struct MouseState MouseState;
-#define ADB_MOUSE(obj) OBJECT_CHECK(MouseState, (obj), TYPE_ADB_MOUSE)
+DECLARE_OBJ_CHECKERS(MouseState, ADBMouseClass,
+ ADB_MOUSE, TYPE_ADB_MOUSE)
struct MouseState {
/*< public >*/
@@ -44,10 +45,6 @@ struct MouseState {
int dx, dy, dz;
};
-#define ADB_MOUSE_CLASS(class) \
- OBJECT_CLASS_CHECK(ADBMouseClass, (class), TYPE_ADB_MOUSE)
-#define ADB_MOUSE_GET_CLASS(obj) \
- OBJECT_GET_CLASS(ADBMouseClass, (obj), TYPE_ADB_MOUSE)
struct ADBMouseClass {
/*< public >*/
diff --git a/hw/input/lm832x.c b/hw/input/lm832x.c
index aab94d2815..70245fd817 100644
--- a/hw/input/lm832x.c
+++ b/hw/input/lm832x.c
@@ -29,7 +29,8 @@
#define TYPE_LM8323 "lm8323"
typedef struct LM823KbdState LM823KbdState;
-#define LM8323(obj) OBJECT_CHECK(LM823KbdState, (obj), TYPE_LM8323)
+DECLARE_INSTANCE_CHECKER(LM823KbdState, LM8323,
+ TYPE_LM8323)
struct LM823KbdState {
I2CSlave parent_obj;
diff --git a/hw/input/milkymist-softusb.c b/hw/input/milkymist-softusb.c
index 8b5ffd28f2..eaaf8adde4 100644
--- a/hw/input/milkymist-softusb.c
+++ b/hw/input/milkymist-softusb.c
@@ -52,8 +52,8 @@ enum {
#define TYPE_MILKYMIST_SOFTUSB "milkymist-softusb"
typedef struct MilkymistSoftUsbState MilkymistSoftUsbState;
-#define MILKYMIST_SOFTUSB(obj) \
- OBJECT_CHECK(MilkymistSoftUsbState, (obj), TYPE_MILKYMIST_SOFTUSB)
+DECLARE_INSTANCE_CHECKER(MilkymistSoftUsbState, MILKYMIST_SOFTUSB,
+ TYPE_MILKYMIST_SOFTUSB)
struct MilkymistSoftUsbState {
SysBusDevice parent_obj;
diff --git a/hw/input/pl050.c b/hw/input/pl050.c
index 8eb6866953..7c53ae97da 100644
--- a/hw/input/pl050.c
+++ b/hw/input/pl050.c
@@ -18,7 +18,8 @@
#define TYPE_PL050 "pl050"
typedef struct PL050State PL050State;
-#define PL050(obj) OBJECT_CHECK(PL050State, (obj), TYPE_PL050)
+DECLARE_INSTANCE_CHECKER(PL050State, PL050,
+ TYPE_PL050)
struct PL050State {
SysBusDevice parent_obj;
diff --git a/hw/intc/arm_gicv2m.c b/hw/intc/arm_gicv2m.c
index 8fb566d187..04d7a6d68b 100644
--- a/hw/intc/arm_gicv2m.c
+++ b/hw/intc/arm_gicv2m.c
@@ -38,7 +38,8 @@
#define TYPE_ARM_GICV2M "arm-gicv2m"
typedef struct ARMGICv2mState ARMGICv2mState;
-#define ARM_GICV2M(obj) OBJECT_CHECK(ARMGICv2mState, (obj), TYPE_ARM_GICV2M)
+DECLARE_INSTANCE_CHECKER(ARMGICv2mState, ARM_GICV2M,
+ TYPE_ARM_GICV2M)
#define GICV2M_NUM_SPI_MAX 128
diff --git a/hw/intc/etraxfs_pic.c b/hw/intc/etraxfs_pic.c
index cf4b3c5850..54ed4c77f7 100644
--- a/hw/intc/etraxfs_pic.c
+++ b/hw/intc/etraxfs_pic.c
@@ -39,8 +39,8 @@
#define R_MAX 5
#define TYPE_ETRAX_FS_PIC "etraxfs,pic"
-#define ETRAX_FS_PIC(obj) \
- OBJECT_CHECK(struct etrax_pic, (obj), TYPE_ETRAX_FS_PIC)
+DECLARE_INSTANCE_CHECKER(struct etrax_pic, ETRAX_FS_PIC,
+ TYPE_ETRAX_FS_PIC)
struct etrax_pic
{
diff --git a/hw/intc/exynos4210_combiner.c b/hw/intc/exynos4210_combiner.c
index 8e54f156c4..7b01481ab8 100644
--- a/hw/intc/exynos4210_combiner.c
+++ b/hw/intc/exynos4210_combiner.c
@@ -65,8 +65,8 @@ typedef struct CombinerGroupState {
#define TYPE_EXYNOS4210_COMBINER "exynos4210.combiner"
typedef struct Exynos4210CombinerState Exynos4210CombinerState;
-#define EXYNOS4210_COMBINER(obj) \
- OBJECT_CHECK(Exynos4210CombinerState, (obj), TYPE_EXYNOS4210_COMBINER)
+DECLARE_INSTANCE_CHECKER(Exynos4210CombinerState, EXYNOS4210_COMBINER,
+ TYPE_EXYNOS4210_COMBINER)
struct Exynos4210CombinerState {
SysBusDevice parent_obj;
diff --git a/hw/intc/exynos4210_gic.c b/hw/intc/exynos4210_gic.c
index ded31466ce..f9487673fc 100644
--- a/hw/intc/exynos4210_gic.c
+++ b/hw/intc/exynos4210_gic.c
@@ -266,8 +266,8 @@ uint32_t exynos4210_get_irq(uint32_t grp, uint32_t bit)
#define TYPE_EXYNOS4210_GIC "exynos4210.gic"
typedef struct Exynos4210GicState Exynos4210GicState;
-#define EXYNOS4210_GIC(obj) \
- OBJECT_CHECK(Exynos4210GicState, (obj), TYPE_EXYNOS4210_GIC)
+DECLARE_INSTANCE_CHECKER(Exynos4210GicState, EXYNOS4210_GIC,
+ TYPE_EXYNOS4210_GIC)
struct Exynos4210GicState {
SysBusDevice parent_obj;
@@ -385,8 +385,8 @@ type_init(exynos4210_gic_register_types)
#define TYPE_EXYNOS4210_IRQ_GATE "exynos4210.irq_gate"
typedef struct Exynos4210IRQGateState Exynos4210IRQGateState;
-#define EXYNOS4210_IRQ_GATE(obj) \
- OBJECT_CHECK(Exynos4210IRQGateState, (obj), TYPE_EXYNOS4210_IRQ_GATE)
+DECLARE_INSTANCE_CHECKER(Exynos4210IRQGateState, EXYNOS4210_IRQ_GATE,
+ TYPE_EXYNOS4210_IRQ_GATE)
struct Exynos4210IRQGateState {
SysBusDevice parent_obj;
diff --git a/hw/intc/grlib_irqmp.c b/hw/intc/grlib_irqmp.c
index 5a60396390..9b34a8ae03 100644
--- a/hw/intc/grlib_irqmp.c
+++ b/hw/intc/grlib_irqmp.c
@@ -52,7 +52,8 @@
#define EXTENDED_OFFSET 0xC0
typedef struct IRQMP IRQMP;
-#define GRLIB_IRQMP(obj) OBJECT_CHECK(IRQMP, (obj), TYPE_GRLIB_IRQMP)
+DECLARE_INSTANCE_CHECKER(IRQMP, GRLIB_IRQMP,
+ TYPE_GRLIB_IRQMP)
typedef struct IRQMPState IRQMPState;
diff --git a/hw/intc/i8259.c b/hw/intc/i8259.c
index 9663207d34..344fd04db1 100644
--- a/hw/intc/i8259.c
+++ b/hw/intc/i8259.c
@@ -39,8 +39,8 @@
#define TYPE_I8259 "isa-i8259"
typedef struct PICClass PICClass;
-#define PIC_CLASS(class) OBJECT_CLASS_CHECK(PICClass, (class), TYPE_I8259)
-#define PIC_GET_CLASS(obj) OBJECT_GET_CLASS(PICClass, (obj), TYPE_I8259)
+DECLARE_CLASS_CHECKERS(PICClass, PIC,
+ TYPE_I8259)
/**
* PICClass:
diff --git a/hw/intc/lm32_pic.c b/hw/intc/lm32_pic.c
index b08d9822ab..e8b4015efd 100644
--- a/hw/intc/lm32_pic.c
+++ b/hw/intc/lm32_pic.c
@@ -31,7 +31,8 @@
#define TYPE_LM32_PIC "lm32-pic"
typedef struct LM32PicState LM32PicState;
-#define LM32_PIC(obj) OBJECT_CHECK(LM32PicState, (obj), TYPE_LM32_PIC)
+DECLARE_INSTANCE_CHECKER(LM32PicState, LM32_PIC,
+ TYPE_LM32_PIC)
struct LM32PicState {
SysBusDevice parent_obj;
diff --git a/hw/intc/loongson_liointc.c b/hw/intc/loongson_liointc.c
index e11ca68647..30fb375b72 100644
--- a/hw/intc/loongson_liointc.c
+++ b/hw/intc/loongson_liointc.c
@@ -44,8 +44,8 @@
#define R_END 0x64
#define TYPE_LOONGSON_LIOINTC "loongson.liointc"
-#define LOONGSON_LIOINTC(obj) \
- OBJECT_CHECK(struct loongson_liointc, (obj), TYPE_LOONGSON_LIOINTC)
+DECLARE_INSTANCE_CHECKER(struct loongson_liointc, LOONGSON_LIOINTC,
+ TYPE_LOONGSON_LIOINTC)
struct loongson_liointc {
SysBusDevice parent_obj;
diff --git a/hw/intc/nios2_iic.c b/hw/intc/nios2_iic.c
index 2594381a95..aa26f059a1 100644
--- a/hw/intc/nios2_iic.c
+++ b/hw/intc/nios2_iic.c
@@ -29,8 +29,8 @@
#define TYPE_ALTERA_IIC "altera,iic"
typedef struct AlteraIIC AlteraIIC;
-#define ALTERA_IIC(obj) \
- OBJECT_CHECK(AlteraIIC, (obj), TYPE_ALTERA_IIC)
+DECLARE_INSTANCE_CHECKER(AlteraIIC, ALTERA_IIC,
+ TYPE_ALTERA_IIC)
struct AlteraIIC {
SysBusDevice parent_obj;
diff --git a/hw/intc/ompic.c b/hw/intc/ompic.c
index 8dd763d6c5..a8ea621d9e 100644
--- a/hw/intc/ompic.c
+++ b/hw/intc/ompic.c
@@ -19,7 +19,8 @@
#define TYPE_OR1K_OMPIC "or1k-ompic"
typedef struct OR1KOMPICState OR1KOMPICState;
-#define OR1K_OMPIC(obj) OBJECT_CHECK(OR1KOMPICState, (obj), TYPE_OR1K_OMPIC)
+DECLARE_INSTANCE_CHECKER(OR1KOMPICState, OR1K_OMPIC,
+ TYPE_OR1K_OMPIC)
#define OMPIC_CTRL_IRQ_ACK (1 << 31)
#define OMPIC_CTRL_IRQ_GEN (1 << 30)
diff --git a/hw/intc/openpic_kvm.c b/hw/intc/openpic_kvm.c
index 3f5891a8a1..8c8fbeddfe 100644
--- a/hw/intc/openpic_kvm.c
+++ b/hw/intc/openpic_kvm.c
@@ -40,8 +40,8 @@
#define GCR_RESET 0x80000000
typedef struct KVMOpenPICState KVMOpenPICState;
-#define KVM_OPENPIC(obj) \
- OBJECT_CHECK(KVMOpenPICState, (obj), TYPE_KVM_OPENPIC)
+DECLARE_INSTANCE_CHECKER(KVMOpenPICState, KVM_OPENPIC,
+ TYPE_KVM_OPENPIC)
struct KVMOpenPICState {
/*< private >*/
diff --git a/hw/intc/pl190.c b/hw/intc/pl190.c
index 4f2aa58642..ee3206132f 100644
--- a/hw/intc/pl190.c
+++ b/hw/intc/pl190.c
@@ -23,7 +23,8 @@
#define TYPE_PL190 "pl190"
typedef struct PL190State PL190State;
-#define PL190(obj) OBJECT_CHECK(PL190State, (obj), TYPE_PL190)
+DECLARE_INSTANCE_CHECKER(PL190State, PL190,
+ TYPE_PL190)
struct PL190State {
SysBusDevice parent_obj;
diff --git a/hw/intc/puv3_intc.c b/hw/intc/puv3_intc.c
index 3a8bc154ba..8bceede256 100644
--- a/hw/intc/puv3_intc.c
+++ b/hw/intc/puv3_intc.c
@@ -21,7 +21,8 @@
#define TYPE_PUV3_INTC "puv3_intc"
typedef struct PUV3INTCState PUV3INTCState;
-#define PUV3_INTC(obj) OBJECT_CHECK(PUV3INTCState, (obj), TYPE_PUV3_INTC)
+DECLARE_INSTANCE_CHECKER(PUV3INTCState, PUV3_INTC,
+ TYPE_PUV3_INTC)
struct PUV3INTCState {
SysBusDevice parent_obj;
diff --git a/hw/intc/s390_flic_kvm.c b/hw/intc/s390_flic_kvm.c
index c4ae10d978..35d91afa55 100644
--- a/hw/intc/s390_flic_kvm.c
+++ b/hw/intc/s390_flic_kvm.c
@@ -576,11 +576,9 @@ struct KVMS390FLICStateClass {
};
typedef struct KVMS390FLICStateClass KVMS390FLICStateClass;
-#define KVM_S390_FLIC_GET_CLASS(obj) \
- OBJECT_GET_CLASS(KVMS390FLICStateClass, (obj), TYPE_KVM_S390_FLIC)
+DECLARE_CLASS_CHECKERS(KVMS390FLICStateClass, KVM_S390_FLIC,
+ TYPE_KVM_S390_FLIC)
-#define KVM_S390_FLIC_CLASS(klass) \
- OBJECT_CLASS_CHECK(KVMS390FLICStateClass, (klass), TYPE_KVM_S390_FLIC)
static void kvm_s390_flic_realize(DeviceState *dev, Error **errp)
{
diff --git a/hw/intc/slavio_intctl.c b/hw/intc/slavio_intctl.c
index 7675556868..4a72ef5d0d 100644
--- a/hw/intc/slavio_intctl.c
+++ b/hw/intc/slavio_intctl.c
@@ -60,8 +60,8 @@ typedef struct SLAVIO_CPUINTCTLState {
#define TYPE_SLAVIO_INTCTL "slavio_intctl"
typedef struct SLAVIO_INTCTLState SLAVIO_INTCTLState;
-#define SLAVIO_INTCTL(obj) \
- OBJECT_CHECK(SLAVIO_INTCTLState, (obj), TYPE_SLAVIO_INTCTL)
+DECLARE_INSTANCE_CHECKER(SLAVIO_INTCTLState, SLAVIO_INTCTL,
+ TYPE_SLAVIO_INTCTL)
struct SLAVIO_INTCTLState {
SysBusDevice parent_obj;
diff --git a/hw/intc/xilinx_intc.c b/hw/intc/xilinx_intc.c
index ed1c2bcfb8..4c4397b3d2 100644
--- a/hw/intc/xilinx_intc.c
+++ b/hw/intc/xilinx_intc.c
@@ -42,7 +42,8 @@
#define R_MAX 8
#define TYPE_XILINX_INTC "xlnx.xps-intc"
-#define XILINX_INTC(obj) OBJECT_CHECK(struct xlx_pic, (obj), TYPE_XILINX_INTC)
+DECLARE_INSTANCE_CHECKER(struct xlx_pic, XILINX_INTC,
+ TYPE_XILINX_INTC)
struct xlx_pic
{
diff --git a/hw/ipack/tpci200.c b/hw/ipack/tpci200.c
index 81d3521d8f..b35e1d2ac4 100644
--- a/hw/ipack/tpci200.c
+++ b/hw/ipack/tpci200.c
@@ -73,8 +73,8 @@ typedef struct TPCI200State TPCI200State;
#define TYPE_TPCI200 "tpci200"
-#define TPCI200(obj) \
- OBJECT_CHECK(TPCI200State, (obj), TYPE_TPCI200)
+DECLARE_INSTANCE_CHECKER(TPCI200State, TPCI200,
+ TYPE_TPCI200)
static const uint8_t local_config_regs[] = {
0x00, 0xFF, 0xFF, 0x0F, 0x00, 0xFC, 0xFF, 0x0F, 0x00, 0x00, 0x00,
diff --git a/hw/ipmi/ipmi_bmc_extern.c b/hw/ipmi/ipmi_bmc_extern.c
index 018667e0ca..159831cbc5 100644
--- a/hw/ipmi/ipmi_bmc_extern.c
+++ b/hw/ipmi/ipmi_bmc_extern.c
@@ -63,8 +63,8 @@
#define TYPE_IPMI_BMC_EXTERN "ipmi-bmc-extern"
typedef struct IPMIBmcExtern IPMIBmcExtern;
-#define IPMI_BMC_EXTERN(obj) OBJECT_CHECK(IPMIBmcExtern, (obj), \
- TYPE_IPMI_BMC_EXTERN)
+DECLARE_INSTANCE_CHECKER(IPMIBmcExtern, IPMI_BMC_EXTERN,
+ TYPE_IPMI_BMC_EXTERN)
struct IPMIBmcExtern {
IPMIBmc parent;
diff --git a/hw/ipmi/isa_ipmi_bt.c b/hw/ipmi/isa_ipmi_bt.c
index 90b3ba1232..0b69acc2e9 100644
--- a/hw/ipmi/isa_ipmi_bt.c
+++ b/hw/ipmi/isa_ipmi_bt.c
@@ -35,8 +35,8 @@
#define TYPE_ISA_IPMI_BT "isa-ipmi-bt"
typedef struct ISAIPMIBTDevice ISAIPMIBTDevice;
-#define ISA_IPMI_BT(obj) OBJECT_CHECK(ISAIPMIBTDevice, (obj), \
- TYPE_ISA_IPMI_BT)
+DECLARE_INSTANCE_CHECKER(ISAIPMIBTDevice, ISA_IPMI_BT,
+ TYPE_ISA_IPMI_BT)
struct ISAIPMIBTDevice {
ISADevice dev;
diff --git a/hw/ipmi/isa_ipmi_kcs.c b/hw/ipmi/isa_ipmi_kcs.c
index ac7caa26ec..af69e9a008 100644
--- a/hw/ipmi/isa_ipmi_kcs.c
+++ b/hw/ipmi/isa_ipmi_kcs.c
@@ -35,8 +35,8 @@
#define TYPE_ISA_IPMI_KCS "isa-ipmi-kcs"
typedef struct ISAIPMIKCSDevice ISAIPMIKCSDevice;
-#define ISA_IPMI_KCS(obj) OBJECT_CHECK(ISAIPMIKCSDevice, (obj), \
- TYPE_ISA_IPMI_KCS)
+DECLARE_INSTANCE_CHECKER(ISAIPMIKCSDevice, ISA_IPMI_KCS,
+ TYPE_ISA_IPMI_KCS)
struct ISAIPMIKCSDevice {
ISADevice dev;
diff --git a/hw/ipmi/pci_ipmi_bt.c b/hw/ipmi/pci_ipmi_bt.c
index cfc7275042..7e5ecea6cc 100644
--- a/hw/ipmi/pci_ipmi_bt.c
+++ b/hw/ipmi/pci_ipmi_bt.c
@@ -30,8 +30,8 @@
#define TYPE_PCI_IPMI_BT "pci-ipmi-bt"
typedef struct PCIIPMIBTDevice PCIIPMIBTDevice;
-#define PCI_IPMI_BT(obj) OBJECT_CHECK(PCIIPMIBTDevice, (obj), \
- TYPE_PCI_IPMI_BT)
+DECLARE_INSTANCE_CHECKER(PCIIPMIBTDevice, PCI_IPMI_BT,
+ TYPE_PCI_IPMI_BT)
struct PCIIPMIBTDevice {
PCIDevice dev;
diff --git a/hw/ipmi/pci_ipmi_kcs.c b/hw/ipmi/pci_ipmi_kcs.c
index e4a1603d4e..c2a283a982 100644
--- a/hw/ipmi/pci_ipmi_kcs.c
+++ b/hw/ipmi/pci_ipmi_kcs.c
@@ -30,8 +30,8 @@
#define TYPE_PCI_IPMI_KCS "pci-ipmi-kcs"
typedef struct PCIIPMIKCSDevice PCIIPMIKCSDevice;
-#define PCI_IPMI_KCS(obj) OBJECT_CHECK(PCIIPMIKCSDevice, (obj), \
- TYPE_PCI_IPMI_KCS)
+DECLARE_INSTANCE_CHECKER(PCIIPMIKCSDevice, PCI_IPMI_KCS,
+ TYPE_PCI_IPMI_KCS)
struct PCIIPMIKCSDevice {
PCIDevice dev;
diff --git a/hw/ipmi/smbus_ipmi.c b/hw/ipmi/smbus_ipmi.c
index baa8389331..cd4c05dd1b 100644
--- a/hw/ipmi/smbus_ipmi.c
+++ b/hw/ipmi/smbus_ipmi.c
@@ -31,7 +31,8 @@
#define TYPE_SMBUS_IPMI "smbus-ipmi"
typedef struct SMBusIPMIDevice SMBusIPMIDevice;
-#define SMBUS_IPMI(obj) OBJECT_CHECK(SMBusIPMIDevice, (obj), TYPE_SMBUS_IPMI)
+DECLARE_INSTANCE_CHECKER(SMBusIPMIDevice, SMBUS_IPMI,
+ TYPE_SMBUS_IPMI)
#define SSIF_IPMI_REQUEST 2
#define SSIF_IPMI_MULTI_PART_REQUEST_START 6
diff --git a/hw/isa/i82378.c b/hw/isa/i82378.c
index 4060d22c07..1dcf525f3f 100644
--- a/hw/isa/i82378.c
+++ b/hw/isa/i82378.c
@@ -28,8 +28,8 @@
#define TYPE_I82378 "i82378"
typedef struct I82378State I82378State;
-#define I82378(obj) \
- OBJECT_CHECK(I82378State, (obj), TYPE_I82378)
+DECLARE_INSTANCE_CHECKER(I82378State, I82378,
+ TYPE_I82378)
struct I82378State {
PCIDevice parent_obj;
diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c
index fdbc20e30a..8e3ac845b8 100644
--- a/hw/isa/piix4.c
+++ b/hw/isa/piix4.c
@@ -54,8 +54,8 @@ struct PIIX4State {
};
typedef struct PIIX4State PIIX4State;
-#define PIIX4_PCI_DEVICE(obj) \
- OBJECT_CHECK(PIIX4State, (obj), TYPE_PIIX4_PCI_DEVICE)
+DECLARE_INSTANCE_CHECKER(PIIX4State, PIIX4_PCI_DEVICE,
+ TYPE_PIIX4_PCI_DEVICE)
static void piix4_isa_reset(DeviceState *dev)
{
diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c
index 24047538d0..1e6b48b2a2 100644
--- a/hw/isa/vt82c686.c
+++ b/hw/isa/vt82c686.c
@@ -51,8 +51,8 @@ struct VT82C686BState {
typedef struct VT82C686BState VT82C686BState;
#define TYPE_VT82C686B_DEVICE "VT82C686B"
-#define VT82C686B_DEVICE(obj) \
- OBJECT_CHECK(VT82C686BState, (obj), TYPE_VT82C686B_DEVICE)
+DECLARE_INSTANCE_CHECKER(VT82C686BState, VT82C686B_DEVICE,
+ TYPE_VT82C686B_DEVICE)
static void superio_ioport_writeb(void *opaque, hwaddr addr, uint64_t data,
unsigned size)
@@ -182,16 +182,16 @@ struct VT686MC97State {
typedef struct VT686MC97State VT686MC97State;
#define TYPE_VT82C686B_PM_DEVICE "VT82C686B_PM"
-#define VT82C686B_PM_DEVICE(obj) \
- OBJECT_CHECK(VT686PMState, (obj), TYPE_VT82C686B_PM_DEVICE)
+DECLARE_INSTANCE_CHECKER(VT686PMState, VT82C686B_PM_DEVICE,
+ TYPE_VT82C686B_PM_DEVICE)
#define TYPE_VT82C686B_MC97_DEVICE "VT82C686B_MC97"
-#define VT82C686B_MC97_DEVICE(obj) \
- OBJECT_CHECK(VT686MC97State, (obj), TYPE_VT82C686B_MC97_DEVICE)
+DECLARE_INSTANCE_CHECKER(VT686MC97State, VT82C686B_MC97_DEVICE,
+ TYPE_VT82C686B_MC97_DEVICE)
#define TYPE_VT82C686B_AC97_DEVICE "VT82C686B_AC97"
-#define VT82C686B_AC97_DEVICE(obj) \
- OBJECT_CHECK(VT686AC97State, (obj), TYPE_VT82C686B_AC97_DEVICE)
+DECLARE_INSTANCE_CHECKER(VT686AC97State, VT82C686B_AC97_DEVICE,
+ TYPE_VT82C686B_AC97_DEVICE)
static void pm_update_sci(VT686PMState *s)
{
diff --git a/hw/m68k/mcf_intc.c b/hw/m68k/mcf_intc.c
index e628567cf3..7ee447240b 100644
--- a/hw/m68k/mcf_intc.c
+++ b/hw/m68k/mcf_intc.c
@@ -19,7 +19,8 @@
#define TYPE_MCF_INTC "mcf-intc"
typedef struct mcf_intc_state mcf_intc_state;
-#define MCF_INTC(obj) OBJECT_CHECK(mcf_intc_state, (obj), TYPE_MCF_INTC)
+DECLARE_INSTANCE_CHECKER(mcf_intc_state, MCF_INTC,
+ TYPE_MCF_INTC)
struct mcf_intc_state {
SysBusDevice parent_obj;
diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c
index 25168c449f..cbd913b0a2 100644
--- a/hw/m68k/next-cube.c
+++ b/hw/m68k/next-cube.c
@@ -39,7 +39,8 @@
#define TYPE_NEXT_MACHINE MACHINE_TYPE_NAME("next-cube")
typedef struct NeXTState NeXTState;
-#define NEXT_MACHINE(obj) OBJECT_CHECK(NeXTState, (obj), TYPE_NEXT_MACHINE)
+DECLARE_INSTANCE_CHECKER(NeXTState, NEXT_MACHINE,
+ TYPE_NEXT_MACHINE)
#define ENTRY 0x0100001e
#define RAM_SIZE 0x4000000
diff --git a/hw/m68k/next-kbd.c b/hw/m68k/next-kbd.c
index a6316314ea..c7ca3fbbc9 100644
--- a/hw/m68k/next-kbd.c
+++ b/hw/m68k/next-kbd.c
@@ -39,7 +39,8 @@
#include "qom/object.h"
typedef struct NextKBDState NextKBDState;
-#define NEXTKBD(obj) OBJECT_CHECK(NextKBDState, (obj), TYPE_NEXTKBD)
+DECLARE_INSTANCE_CHECKER(NextKBDState, NEXTKBD,
+ TYPE_NEXTKBD)
/* following defintions from next68k netbsd */
#define CSR_INT 0x00800000
diff --git a/hw/microblaze/xlnx-zynqmp-pmu.c b/hw/microblaze/xlnx-zynqmp-pmu.c
index f679aeee0d..ab9924bf20 100644
--- a/hw/microblaze/xlnx-zynqmp-pmu.c
+++ b/hw/microblaze/xlnx-zynqmp-pmu.c
@@ -30,8 +30,8 @@
#define TYPE_XLNX_ZYNQMP_PMU_SOC "xlnx,zynqmp-pmu-soc"
typedef struct XlnxZynqMPPMUSoCState XlnxZynqMPPMUSoCState;
-#define XLNX_ZYNQMP_PMU_SOC(obj) OBJECT_CHECK(XlnxZynqMPPMUSoCState, (obj), \
- TYPE_XLNX_ZYNQMP_PMU_SOC)
+DECLARE_INSTANCE_CHECKER(XlnxZynqMPPMUSoCState, XLNX_ZYNQMP_PMU_SOC,
+ TYPE_XLNX_ZYNQMP_PMU_SOC)
#define XLNX_ZYNQMP_PMU_ROM_SIZE 0x8000
#define XLNX_ZYNQMP_PMU_ROM_ADDR 0xFFD00000
diff --git a/hw/mips/boston.c b/hw/mips/boston.c
index e2c35b4fd8..1b3f69e949 100644
--- a/hw/mips/boston.c
+++ b/hw/mips/boston.c
@@ -45,7 +45,8 @@
#define TYPE_MIPS_BOSTON "mips-boston"
typedef struct BostonState BostonState;
-#define BOSTON(obj) OBJECT_CHECK(BostonState, (obj), TYPE_MIPS_BOSTON)
+DECLARE_INSTANCE_CHECKER(BostonState, BOSTON,
+ TYPE_MIPS_BOSTON)
struct BostonState {
SysBusDevice parent_obj;
diff --git a/hw/mips/gt64xxx_pci.c b/hw/mips/gt64xxx_pci.c
index bd7ec182fb..b613e1e011 100644
--- a/hw/mips/gt64xxx_pci.c
+++ b/hw/mips/gt64xxx_pci.c
@@ -232,8 +232,8 @@
#define TYPE_GT64120_PCI_HOST_BRIDGE "gt64120"
typedef struct GT64120State GT64120State;
-#define GT64120_PCI_HOST_BRIDGE(obj) \
- OBJECT_CHECK(GT64120State, (obj), TYPE_GT64120_PCI_HOST_BRIDGE)
+DECLARE_INSTANCE_CHECKER(GT64120State, GT64120_PCI_HOST_BRIDGE,
+ TYPE_GT64120_PCI_HOST_BRIDGE)
struct GT64120State {
PCIHostState parent_obj;
diff --git a/hw/mips/malta.c b/hw/mips/malta.c
index 86ae544104..5b73ea4692 100644
--- a/hw/mips/malta.c
+++ b/hw/mips/malta.c
@@ -90,7 +90,8 @@ typedef struct {
#define TYPE_MIPS_MALTA "mips-malta"
typedef struct MaltaState MaltaState;
-#define MIPS_MALTA(obj) OBJECT_CHECK(MaltaState, (obj), TYPE_MIPS_MALTA)
+DECLARE_INSTANCE_CHECKER(MaltaState, MIPS_MALTA,
+ TYPE_MIPS_MALTA)
struct MaltaState {
SysBusDevice parent_obj;
diff --git a/hw/misc/applesmc.c b/hw/misc/applesmc.c
index e3c7b1765c..dca3fba028 100644
--- a/hw/misc/applesmc.c
+++ b/hw/misc/applesmc.c
@@ -91,7 +91,8 @@ struct AppleSMCData {
};
typedef struct AppleSMCState AppleSMCState;
-#define APPLE_SMC(obj) OBJECT_CHECK(AppleSMCState, (obj), TYPE_APPLE_SMC)
+DECLARE_INSTANCE_CHECKER(AppleSMCState, APPLE_SMC,
+ TYPE_APPLE_SMC)
struct AppleSMCState {
ISADevice parent_obj;
diff --git a/hw/misc/arm_integrator_debug.c b/hw/misc/arm_integrator_debug.c
index 4ad2b6a98b..822deffc0c 100644
--- a/hw/misc/arm_integrator_debug.c
+++ b/hw/misc/arm_integrator_debug.c
@@ -22,8 +22,8 @@
#include "qom/object.h"
typedef struct IntegratorDebugState IntegratorDebugState;
-#define INTEGRATOR_DEBUG(obj) \
- OBJECT_CHECK(IntegratorDebugState, (obj), TYPE_INTEGRATOR_DEBUG)
+DECLARE_INSTANCE_CHECKER(IntegratorDebugState, INTEGRATOR_DEBUG,
+ TYPE_INTEGRATOR_DEBUG)
struct IntegratorDebugState {
SysBusDevice parent_obj;
diff --git a/hw/misc/arm_l2x0.c b/hw/misc/arm_l2x0.c
index f75d7988cc..93948c3bd8 100644
--- a/hw/misc/arm_l2x0.c
+++ b/hw/misc/arm_l2x0.c
@@ -31,7 +31,8 @@
#define TYPE_ARM_L2X0 "l2x0"
typedef struct L2x0State L2x0State;
-#define ARM_L2X0(obj) OBJECT_CHECK(L2x0State, (obj), TYPE_ARM_L2X0)
+DECLARE_INSTANCE_CHECKER(L2x0State, ARM_L2X0,
+ TYPE_ARM_L2X0)
struct L2x0State {
SysBusDevice parent_obj;
diff --git a/hw/misc/arm_sysctl.c b/hw/misc/arm_sysctl.c
index a3faa516d6..f0f49e76e8 100644
--- a/hw/misc/arm_sysctl.c
+++ b/hw/misc/arm_sysctl.c
@@ -24,8 +24,8 @@
#define TYPE_ARM_SYSCTL "realview_sysctl"
typedef struct arm_sysctl_state arm_sysctl_state;
-#define ARM_SYSCTL(obj) \
- OBJECT_CHECK(arm_sysctl_state, (obj), TYPE_ARM_SYSCTL)
+DECLARE_INSTANCE_CHECKER(arm_sysctl_state, ARM_SYSCTL,
+ TYPE_ARM_SYSCTL)
struct arm_sysctl_state {
SysBusDevice parent_obj;
diff --git a/hw/misc/debugexit.c b/hw/misc/debugexit.c
index 6c1f9adc38..c6b0cffd77 100644
--- a/hw/misc/debugexit.c
+++ b/hw/misc/debugexit.c
@@ -15,8 +15,8 @@
#define TYPE_ISA_DEBUG_EXIT_DEVICE "isa-debug-exit"
typedef struct ISADebugExitState ISADebugExitState;
-#define ISA_DEBUG_EXIT_DEVICE(obj) \
- OBJECT_CHECK(ISADebugExitState, (obj), TYPE_ISA_DEBUG_EXIT_DEVICE)
+DECLARE_INSTANCE_CHECKER(ISADebugExitState, ISA_DEBUG_EXIT_DEVICE,
+ TYPE_ISA_DEBUG_EXIT_DEVICE)
struct ISADebugExitState {
ISADevice parent_obj;
diff --git a/hw/misc/eccmemctl.c b/hw/misc/eccmemctl.c
index 47bec04c8e..468c2a491d 100644
--- a/hw/misc/eccmemctl.c
+++ b/hw/misc/eccmemctl.c
@@ -128,7 +128,8 @@
#define TYPE_ECC_MEMCTL "eccmemctl"
typedef struct ECCState ECCState;
-#define ECC_MEMCTL(obj) OBJECT_CHECK(ECCState, (obj), TYPE_ECC_MEMCTL)
+DECLARE_INSTANCE_CHECKER(ECCState, ECC_MEMCTL,
+ TYPE_ECC_MEMCTL)
struct ECCState {
SysBusDevice parent_obj;
diff --git a/hw/misc/edu.c b/hw/misc/edu.c
index 2db9d63eeb..0ff9d1ac78 100644
--- a/hw/misc/edu.c
+++ b/hw/misc/edu.c
@@ -35,7 +35,8 @@
#define TYPE_PCI_EDU_DEVICE "edu"
typedef struct EduState EduState;
-#define EDU(obj) OBJECT_CHECK(EduState, obj, TYPE_PCI_EDU_DEVICE)
+DECLARE_INSTANCE_CHECKER(EduState, EDU,
+ TYPE_PCI_EDU_DEVICE)
#define FACT_IRQ 0x00000001
#define DMA_IRQ 0x00000100
diff --git a/hw/misc/empty_slot.c b/hw/misc/empty_slot.c
index ec3e510b3e..57dcdfbe14 100644
--- a/hw/misc/empty_slot.c
+++ b/hw/misc/empty_slot.c
@@ -19,7 +19,8 @@
#define TYPE_EMPTY_SLOT "empty_slot"
typedef struct EmptySlot EmptySlot;
-#define EMPTY_SLOT(obj) OBJECT_CHECK(EmptySlot, (obj), TYPE_EMPTY_SLOT)
+DECLARE_INSTANCE_CHECKER(EmptySlot, EMPTY_SLOT,
+ TYPE_EMPTY_SLOT)
struct EmptySlot {
SysBusDevice parent_obj;
diff --git a/hw/misc/exynos4210_clk.c b/hw/misc/exynos4210_clk.c
index c54f360aa8..4b469f6419 100644
--- a/hw/misc/exynos4210_clk.c
+++ b/hw/misc/exynos4210_clk.c
@@ -26,8 +26,8 @@
#define TYPE_EXYNOS4210_CLK "exynos4210.clk"
typedef struct Exynos4210ClkState Exynos4210ClkState;
-#define EXYNOS4210_CLK(obj) \
- OBJECT_CHECK(Exynos4210ClkState, (obj), TYPE_EXYNOS4210_CLK)
+DECLARE_INSTANCE_CHECKER(Exynos4210ClkState, EXYNOS4210_CLK,
+ TYPE_EXYNOS4210_CLK)
#define CLK_PLL_LOCKED BIT(29)
diff --git a/hw/misc/exynos4210_pmu.c b/hw/misc/exynos4210_pmu.c
index e6bbb1f7c8..b19b82a88c 100644
--- a/hw/misc/exynos4210_pmu.c
+++ b/hw/misc/exynos4210_pmu.c
@@ -396,8 +396,8 @@ static const Exynos4210PmuReg exynos4210_pmu_regs[] = {
#define TYPE_EXYNOS4210_PMU "exynos4210.pmu"
typedef struct Exynos4210PmuState Exynos4210PmuState;
-#define EXYNOS4210_PMU(obj) \
- OBJECT_CHECK(Exynos4210PmuState, (obj), TYPE_EXYNOS4210_PMU)
+DECLARE_INSTANCE_CHECKER(Exynos4210PmuState, EXYNOS4210_PMU,
+ TYPE_EXYNOS4210_PMU)
struct Exynos4210PmuState {
SysBusDevice parent_obj;
diff --git a/hw/misc/exynos4210_rng.c b/hw/misc/exynos4210_rng.c
index 3e2ec4f543..13ec6e188b 100644
--- a/hw/misc/exynos4210_rng.c
+++ b/hw/misc/exynos4210_rng.c
@@ -37,8 +37,8 @@
#define TYPE_EXYNOS4210_RNG "exynos4210.rng"
typedef struct Exynos4210RngState Exynos4210RngState;
-#define EXYNOS4210_RNG(obj) \
- OBJECT_CHECK(Exynos4210RngState, (obj), TYPE_EXYNOS4210_RNG)
+DECLARE_INSTANCE_CHECKER(Exynos4210RngState, EXYNOS4210_RNG,
+ TYPE_EXYNOS4210_RNG)
/*
* Exynos4220, PRNG, only polling mode is supported.
diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
index 1f65f6f2ac..e321e5cb69 100644
--- a/hw/misc/ivshmem.c
+++ b/hw/misc/ivshmem.c
@@ -59,20 +59,20 @@
#define TYPE_IVSHMEM_COMMON "ivshmem-common"
typedef struct IVShmemState IVShmemState;
-#define IVSHMEM_COMMON(obj) \
- OBJECT_CHECK(IVShmemState, (obj), TYPE_IVSHMEM_COMMON)
+DECLARE_INSTANCE_CHECKER(IVShmemState, IVSHMEM_COMMON,
+ TYPE_IVSHMEM_COMMON)
#define TYPE_IVSHMEM_PLAIN "ivshmem-plain"
-#define IVSHMEM_PLAIN(obj) \
- OBJECT_CHECK(IVShmemState, (obj), TYPE_IVSHMEM_PLAIN)
+DECLARE_INSTANCE_CHECKER(IVShmemState, IVSHMEM_PLAIN,
+ TYPE_IVSHMEM_PLAIN)
#define TYPE_IVSHMEM_DOORBELL "ivshmem-doorbell"
-#define IVSHMEM_DOORBELL(obj) \
- OBJECT_CHECK(IVShmemState, (obj), TYPE_IVSHMEM_DOORBELL)
+DECLARE_INSTANCE_CHECKER(IVShmemState, IVSHMEM_DOORBELL,
+ TYPE_IVSHMEM_DOORBELL)
#define TYPE_IVSHMEM "ivshmem"
-#define IVSHMEM(obj) \
- OBJECT_CHECK(IVShmemState, (obj), TYPE_IVSHMEM)
+DECLARE_INSTANCE_CHECKER(IVShmemState, IVSHMEM,
+ TYPE_IVSHMEM)
typedef struct Peer {
int nb_eventfds;
diff --git a/hw/misc/milkymist-hpdmc.c b/hw/misc/milkymist-hpdmc.c
index cf3ed5a49c..f25715e09e 100644
--- a/hw/misc/milkymist-hpdmc.c
+++ b/hw/misc/milkymist-hpdmc.c
@@ -45,8 +45,8 @@ enum {
#define TYPE_MILKYMIST_HPDMC "milkymist-hpdmc"
typedef struct MilkymistHpdmcState MilkymistHpdmcState;
-#define MILKYMIST_HPDMC(obj) \
- OBJECT_CHECK(MilkymistHpdmcState, (obj), TYPE_MILKYMIST_HPDMC)
+DECLARE_INSTANCE_CHECKER(MilkymistHpdmcState, MILKYMIST_HPDMC,
+ TYPE_MILKYMIST_HPDMC)
struct MilkymistHpdmcState {
SysBusDevice parent_obj;
diff --git a/hw/misc/milkymist-pfpu.c b/hw/misc/milkymist-pfpu.c
index 81251792c1..489bb8873f 100644
--- a/hw/misc/milkymist-pfpu.c
+++ b/hw/misc/milkymist-pfpu.c
@@ -122,8 +122,8 @@ static const char *opcode_to_str[] = {
#define TYPE_MILKYMIST_PFPU "milkymist-pfpu"
typedef struct MilkymistPFPUState MilkymistPFPUState;
-#define MILKYMIST_PFPU(obj) \
- OBJECT_CHECK(MilkymistPFPUState, (obj), TYPE_MILKYMIST_PFPU)
+DECLARE_INSTANCE_CHECKER(MilkymistPFPUState, MILKYMIST_PFPU,
+ TYPE_MILKYMIST_PFPU)
struct MilkymistPFPUState {
SysBusDevice parent_obj;
diff --git a/hw/misc/mst_fpga.c b/hw/misc/mst_fpga.c
index 314dd5fcbd..f74d8cdd4a 100644
--- a/hw/misc/mst_fpga.c
+++ b/hw/misc/mst_fpga.c
@@ -42,8 +42,8 @@
#define TYPE_MAINSTONE_FPGA "mainstone-fpga"
typedef struct mst_irq_state mst_irq_state;
-#define MAINSTONE_FPGA(obj) \
- OBJECT_CHECK(mst_irq_state, (obj), TYPE_MAINSTONE_FPGA)
+DECLARE_INSTANCE_CHECKER(mst_irq_state, MAINSTONE_FPGA,
+ TYPE_MAINSTONE_FPGA)
struct mst_irq_state {
SysBusDevice parent_obj;
diff --git a/hw/misc/pc-testdev.c b/hw/misc/pc-testdev.c
index b7f3fcb254..577a15bf58 100644
--- a/hw/misc/pc-testdev.c
+++ b/hw/misc/pc-testdev.c
@@ -57,8 +57,8 @@ struct PCTestdev {
typedef struct PCTestdev PCTestdev;
#define TYPE_TESTDEV "pc-testdev"
-#define TESTDEV(obj) \
- OBJECT_CHECK(PCTestdev, (obj), TYPE_TESTDEV)
+DECLARE_INSTANCE_CHECKER(PCTestdev, TESTDEV,
+ TYPE_TESTDEV)
static uint64_t test_irq_line_read(void *opaque, hwaddr addr, unsigned size)
{
diff --git a/hw/misc/pca9552.c b/hw/misc/pca9552.c
index 9cd51b1afd..b7686e27d7 100644
--- a/hw/misc/pca9552.c
+++ b/hw/misc/pca9552.c
@@ -34,10 +34,8 @@ struct PCA955xClass {
};
typedef struct PCA955xClass PCA955xClass;
-#define PCA955X_CLASS(klass) \
- OBJECT_CLASS_CHECK(PCA955xClass, (klass), TYPE_PCA955X)
-#define PCA955X_GET_CLASS(obj) \
- OBJECT_GET_CLASS(PCA955xClass, (obj), TYPE_PCA955X)
+DECLARE_CLASS_CHECKERS(PCA955xClass, PCA955X,
+ TYPE_PCA955X)
#define PCA9552_LED_ON 0x0
#define PCA9552_LED_OFF 0x1
diff --git a/hw/misc/pci-testdev.c b/hw/misc/pci-testdev.c
index db6d0d5a71..86d4816769 100644
--- a/hw/misc/pci-testdev.c
+++ b/hw/misc/pci-testdev.c
@@ -96,8 +96,8 @@ typedef struct PCITestDevState PCITestDevState;
#define TYPE_PCI_TEST_DEV "pci-testdev"
-#define PCI_TEST_DEV(obj) \
- OBJECT_CHECK(PCITestDevState, (obj), TYPE_PCI_TEST_DEV)
+DECLARE_INSTANCE_CHECKER(PCITestDevState, PCI_TEST_DEV,
+ TYPE_PCI_TEST_DEV)
#define IOTEST_IS_MEM(i) (strcmp(IOTEST_TYPE(i), "portio"))
#define IOTEST_REGION(d, i) (IOTEST_IS_MEM(i) ? &(d)->mmio : &(d)->portio)
diff --git a/hw/misc/puv3_pm.c b/hw/misc/puv3_pm.c
index e549c0ff21..cac8497f81 100644
--- a/hw/misc/puv3_pm.c
+++ b/hw/misc/puv3_pm.c
@@ -20,7 +20,8 @@
#define TYPE_PUV3_PM "puv3_pm"
typedef struct PUV3PMState PUV3PMState;
-#define PUV3_PM(obj) OBJECT_CHECK(PUV3PMState, (obj), TYPE_PUV3_PM)
+DECLARE_INSTANCE_CHECKER(PUV3PMState, PUV3_PM,
+ TYPE_PUV3_PM)
struct PUV3PMState {
SysBusDevice parent_obj;
diff --git a/hw/misc/pvpanic.c b/hw/misc/pvpanic.c
index 894c67e6cc..598d5471a4 100644
--- a/hw/misc/pvpanic.c
+++ b/hw/misc/pvpanic.c
@@ -31,8 +31,8 @@
#define PVPANIC_CRASHLOADED (1 << PVPANIC_F_CRASHLOADED)
typedef struct PVPanicState PVPanicState;
-#define ISA_PVPANIC_DEVICE(obj) \
- OBJECT_CHECK(PVPanicState, (obj), TYPE_PVPANIC)
+DECLARE_INSTANCE_CHECKER(PVPanicState, ISA_PVPANIC_DEVICE,
+ TYPE_PVPANIC)
static void handle_event(int event)
{
diff --git a/hw/misc/sga.c b/hw/misc/sga.c
index e5cc2da3d3..477f587ef3 100644
--- a/hw/misc/sga.c
+++ b/hw/misc/sga.c
@@ -35,7 +35,8 @@
#define TYPE_SGA "sga"
typedef struct ISASGAState ISASGAState;
-#define SGA(obj) OBJECT_CHECK(ISASGAState, (obj), TYPE_SGA)
+DECLARE_INSTANCE_CHECKER(ISASGAState, SGA,
+ TYPE_SGA)
struct ISASGAState {
ISADevice parent_obj;
diff --git a/hw/misc/slavio_misc.c b/hw/misc/slavio_misc.c
index f1a039b5a9..ab27ad462e 100644
--- a/hw/misc/slavio_misc.c
+++ b/hw/misc/slavio_misc.c
@@ -41,7 +41,8 @@
#define TYPE_SLAVIO_MISC "slavio_misc"
typedef struct MiscState MiscState;
-#define SLAVIO_MISC(obj) OBJECT_CHECK(MiscState, (obj), TYPE_SLAVIO_MISC)
+DECLARE_INSTANCE_CHECKER(MiscState, SLAVIO_MISC,
+ TYPE_SLAVIO_MISC)
struct MiscState {
SysBusDevice parent_obj;
@@ -65,7 +66,8 @@ struct MiscState {
#define TYPE_APC "apc"
typedef struct APCState APCState;
-#define APC(obj) OBJECT_CHECK(APCState, (obj), TYPE_APC)
+DECLARE_INSTANCE_CHECKER(APCState, APC,
+ TYPE_APC)
struct APCState {
SysBusDevice parent_obj;
diff --git a/hw/misc/tmp105.h b/hw/misc/tmp105.h
index 634bb4a0d6..7ee8a496ff 100644
--- a/hw/misc/tmp105.h
+++ b/hw/misc/tmp105.h
@@ -20,7 +20,8 @@
#define TYPE_TMP105 "tmp105"
typedef struct TMP105State TMP105State;
-#define TMP105(obj) OBJECT_CHECK(TMP105State, (obj), TYPE_TMP105)
+DECLARE_INSTANCE_CHECKER(TMP105State, TMP105,
+ TYPE_TMP105)
/**
* TMP105State:
diff --git a/hw/misc/tmp421.c b/hw/misc/tmp421.c
index a289c83360..212d6e0e83 100644
--- a/hw/misc/tmp421.c
+++ b/hw/misc/tmp421.c
@@ -74,12 +74,9 @@ struct TMP421Class {
typedef struct TMP421Class TMP421Class;
#define TYPE_TMP421 "tmp421-generic"
-#define TMP421(obj) OBJECT_CHECK(TMP421State, (obj), TYPE_TMP421)
+DECLARE_OBJ_CHECKERS(TMP421State, TMP421Class,
+ TMP421, TYPE_TMP421)
-#define TMP421_CLASS(klass) \
- OBJECT_CLASS_CHECK(TMP421Class, (klass), TYPE_TMP421)
-#define TMP421_GET_CLASS(obj) \
- OBJECT_GET_CLASS(TMP421Class, (obj), TYPE_TMP421)
/* the TMP421 registers */
#define TMP421_STATUS_REG 0x08
diff --git a/hw/misc/zynq_slcr.c b/hw/misc/zynq_slcr.c
index 223f533ce8..bedf09a6f5 100644
--- a/hw/misc/zynq_slcr.c
+++ b/hw/misc/zynq_slcr.c
@@ -184,7 +184,8 @@ REG32(DDRIOB, 0xb40)
#define TYPE_ZYNQ_SLCR "xilinx,zynq_slcr"
typedef struct ZynqSLCRState ZynqSLCRState;
-#define ZYNQ_SLCR(obj) OBJECT_CHECK(ZynqSLCRState, (obj), TYPE_ZYNQ_SLCR)
+DECLARE_INSTANCE_CHECKER(ZynqSLCRState, ZYNQ_SLCR,
+ TYPE_ZYNQ_SLCR)
struct ZynqSLCRState {
SysBusDevice parent_obj;
diff --git a/hw/net/can/can_kvaser_pci.c b/hw/net/can/can_kvaser_pci.c
index a84d98817c..168b3a620d 100644
--- a/hw/net/can/can_kvaser_pci.c
+++ b/hw/net/can/can_kvaser_pci.c
@@ -48,8 +48,8 @@
#define TYPE_CAN_PCI_DEV "kvaser_pci"
typedef struct KvaserPCIState KvaserPCIState;
-#define KVASER_PCI_DEV(obj) \
- OBJECT_CHECK(KvaserPCIState, (obj), TYPE_CAN_PCI_DEV)
+DECLARE_INSTANCE_CHECKER(KvaserPCIState, KVASER_PCI_DEV,
+ TYPE_CAN_PCI_DEV)
#ifndef KVASER_PCI_VENDOR_ID1
#define KVASER_PCI_VENDOR_ID1 0x10e8 /* the PCI device and vendor IDs */
diff --git a/hw/net/can/can_mioe3680_pci.c b/hw/net/can/can_mioe3680_pci.c
index 8ded64c9b8..7a79e2605a 100644
--- a/hw/net/can/can_mioe3680_pci.c
+++ b/hw/net/can/can_mioe3680_pci.c
@@ -44,8 +44,8 @@
#define TYPE_CAN_PCI_DEV "mioe3680_pci"
typedef struct Mioe3680PCIState Mioe3680PCIState;
-#define MIOe3680_PCI_DEV(obj) \
- OBJECT_CHECK(Mioe3680PCIState, (obj), TYPE_CAN_PCI_DEV)
+DECLARE_INSTANCE_CHECKER(Mioe3680PCIState, MIOe3680_PCI_DEV,
+ TYPE_CAN_PCI_DEV)
/* the PCI device and vendor IDs */
#ifndef MIOe3680_PCI_VENDOR_ID1
diff --git a/hw/net/can/can_pcm3680_pci.c b/hw/net/can/can_pcm3680_pci.c
index f39228da89..8ef4e74af0 100644
--- a/hw/net/can/can_pcm3680_pci.c
+++ b/hw/net/can/can_pcm3680_pci.c
@@ -44,8 +44,8 @@
#define TYPE_CAN_PCI_DEV "pcm3680_pci"
typedef struct Pcm3680iPCIState Pcm3680iPCIState;
-#define PCM3680i_PCI_DEV(obj) \
- OBJECT_CHECK(Pcm3680iPCIState, (obj), TYPE_CAN_PCI_DEV)
+DECLARE_INSTANCE_CHECKER(Pcm3680iPCIState, PCM3680i_PCI_DEV,
+ TYPE_CAN_PCI_DEV)
/* the PCI device and vendor IDs */
#ifndef PCM3680i_PCI_VENDOR_ID1
diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c
index b065d428ee..56b96e9b0f 100644
--- a/hw/net/dp8393x.c
+++ b/hw/net/dp8393x.c
@@ -152,7 +152,8 @@ do { printf("sonic ERROR: %s: " fmt, __func__ , ## __VA_ARGS__); } while (0)
#define TYPE_DP8393X "dp8393x"
typedef struct dp8393xState dp8393xState;
-#define DP8393X(obj) OBJECT_CHECK(dp8393xState, (obj), TYPE_DP8393X)
+DECLARE_INSTANCE_CHECKER(dp8393xState, DP8393X,
+ TYPE_DP8393X)
struct dp8393xState {
SysBusDevice parent_obj;
diff --git a/hw/net/e1000.c b/hw/net/e1000.c
index f8925a10e6..83347cbd87 100644
--- a/hw/net/e1000.c
+++ b/hw/net/e1000.c
@@ -151,13 +151,9 @@ typedef struct E1000BaseClass E1000BaseClass;
#define TYPE_E1000_BASE "e1000-base"
-#define E1000(obj) \
- OBJECT_CHECK(E1000State, (obj), TYPE_E1000_BASE)
+DECLARE_OBJ_CHECKERS(E1000State, E1000BaseClass,
+ E1000, TYPE_E1000_BASE)
-#define E1000_CLASS(klass) \
- OBJECT_CLASS_CHECK(E1000BaseClass, (klass), TYPE_E1000_BASE)
-#define E1000_GET_CLASS(obj) \
- OBJECT_GET_CLASS(E1000BaseClass, (obj), TYPE_E1000_BASE)
static void
e1000_link_up(E1000State *s)
diff --git a/hw/net/e1000e.c b/hw/net/e1000e.c
index d631765f2a..938d44f198 100644
--- a/hw/net/e1000e.c
+++ b/hw/net/e1000e.c
@@ -57,7 +57,8 @@
#define TYPE_E1000E "e1000e"
typedef struct E1000EState E1000EState;
-#define E1000E(obj) OBJECT_CHECK(E1000EState, (obj), TYPE_E1000E)
+DECLARE_INSTANCE_CHECKER(E1000EState, E1000E,
+ TYPE_E1000E)
struct E1000EState {
PCIDevice parent_obj;
diff --git a/hw/net/etraxfs_eth.c b/hw/net/etraxfs_eth.c
index 2bd37f6d0f..36d898ad16 100644
--- a/hw/net/etraxfs_eth.c
+++ b/hw/net/etraxfs_eth.c
@@ -325,8 +325,8 @@ static void mdio_cycle(struct qemu_mdio *bus)
#define TYPE_ETRAX_FS_ETH "etraxfs-eth"
typedef struct ETRAXFSEthState ETRAXFSEthState;
-#define ETRAX_FS_ETH(obj) \
- OBJECT_CHECK(ETRAXFSEthState, (obj), TYPE_ETRAX_FS_ETH)
+DECLARE_INSTANCE_CHECKER(ETRAXFSEthState, ETRAX_FS_ETH,
+ TYPE_ETRAX_FS_ETH)
struct ETRAXFSEthState {
SysBusDevice parent_obj;
diff --git a/hw/net/fsl_etsec/etsec.h b/hw/net/fsl_etsec/etsec.h
index 132a87b1ba..0c929d9afd 100644
--- a/hw/net/fsl_etsec/etsec.h
+++ b/hw/net/fsl_etsec/etsec.h
@@ -150,8 +150,8 @@ struct eTSEC {
typedef struct eTSEC eTSEC;
#define TYPE_ETSEC_COMMON "eTSEC"
-#define ETSEC_COMMON(obj) \
- OBJECT_CHECK(eTSEC, (obj), TYPE_ETSEC_COMMON)
+DECLARE_INSTANCE_CHECKER(eTSEC, ETSEC_COMMON,
+ TYPE_ETSEC_COMMON)
#define eTSEC_TRANSMIT 1
#define eTSEC_RECEIVE 2
diff --git a/hw/net/lan9118.c b/hw/net/lan9118.c
index 5d7f966aea..57a59accd0 100644
--- a/hw/net/lan9118.c
+++ b/hw/net/lan9118.c
@@ -182,7 +182,8 @@ static const VMStateDescription vmstate_lan9118_packet = {
};
typedef struct lan9118_state lan9118_state;
-#define LAN9118(obj) OBJECT_CHECK(lan9118_state, (obj), TYPE_LAN9118)
+DECLARE_INSTANCE_CHECKER(lan9118_state, LAN9118,
+ TYPE_LAN9118)
struct lan9118_state {
SysBusDevice parent_obj;
diff --git a/hw/net/milkymist-minimac2.c b/hw/net/milkymist-minimac2.c
index 0ed01fec90..41a8543edf 100644
--- a/hw/net/milkymist-minimac2.c
+++ b/hw/net/milkymist-minimac2.c
@@ -100,8 +100,8 @@ typedef struct MilkymistMinimac2MdioState MilkymistMinimac2MdioState;
#define TYPE_MILKYMIST_MINIMAC2 "milkymist-minimac2"
typedef struct MilkymistMinimac2State MilkymistMinimac2State;
-#define MILKYMIST_MINIMAC2(obj) \
- OBJECT_CHECK(MilkymistMinimac2State, (obj), TYPE_MILKYMIST_MINIMAC2)
+DECLARE_INSTANCE_CHECKER(MilkymistMinimac2State, MILKYMIST_MINIMAC2,
+ TYPE_MILKYMIST_MINIMAC2)
struct MilkymistMinimac2State {
SysBusDevice parent_obj;
diff --git a/hw/net/mipsnet.c b/hw/net/mipsnet.c
index 094951abb3..61dbd575da 100644
--- a/hw/net/mipsnet.c
+++ b/hw/net/mipsnet.c
@@ -26,7 +26,8 @@
#define TYPE_MIPS_NET "mipsnet"
typedef struct MIPSnetState MIPSnetState;
-#define MIPS_NET(obj) OBJECT_CHECK(MIPSnetState, (obj), TYPE_MIPS_NET)
+DECLARE_INSTANCE_CHECKER(MIPSnetState, MIPS_NET,
+ TYPE_MIPS_NET)
struct MIPSnetState {
SysBusDevice parent_obj;
diff --git a/hw/net/ne2000-isa.c b/hw/net/ne2000-isa.c
index 716f3b6618..688a0cc4f6 100644
--- a/hw/net/ne2000-isa.c
+++ b/hw/net/ne2000-isa.c
@@ -34,7 +34,8 @@
#include "qom/object.h"
typedef struct ISANE2000State ISANE2000State;
-#define ISA_NE2000(obj) OBJECT_CHECK(ISANE2000State, (obj), TYPE_ISA_NE2000)
+DECLARE_INSTANCE_CHECKER(ISANE2000State, ISA_NE2000,
+ TYPE_ISA_NE2000)
struct ISANE2000State {
ISADevice parent_obj;
diff --git a/hw/net/opencores_eth.c b/hw/net/opencores_eth.c
index 6e3257d2f7..5cd204c30c 100644
--- a/hw/net/opencores_eth.c
+++ b/hw/net/opencores_eth.c
@@ -273,7 +273,8 @@ typedef struct desc {
#define TYPE_OPEN_ETH "open_eth"
typedef struct OpenEthState OpenEthState;
-#define OPEN_ETH(obj) OBJECT_CHECK(OpenEthState, (obj), TYPE_OPEN_ETH)
+DECLARE_INSTANCE_CHECKER(OpenEthState, OPEN_ETH,
+ TYPE_OPEN_ETH)
struct OpenEthState {
SysBusDevice parent_obj;
diff --git a/hw/net/pcnet-pci.c b/hw/net/pcnet-pci.c
index 27f6566d5f..449970bc52 100644
--- a/hw/net/pcnet-pci.c
+++ b/hw/net/pcnet-pci.c
@@ -53,8 +53,8 @@
#define TYPE_PCI_PCNET "pcnet"
typedef struct PCIPCNetState PCIPCNetState;
-#define PCI_PCNET(obj) \
- OBJECT_CHECK(PCIPCNetState, (obj), TYPE_PCI_PCNET)
+DECLARE_INSTANCE_CHECKER(PCIPCNetState, PCI_PCNET,
+ TYPE_PCI_PCNET)
struct PCIPCNetState {
/*< private >*/
diff --git a/hw/net/rocker/rocker.h b/hw/net/rocker/rocker.h
index 0dd49d5f41..941c932265 100644
--- a/hw/net/rocker/rocker.h
+++ b/hw/net/rocker/rocker.h
@@ -73,8 +73,8 @@ typedef struct desc_ring DescRing;
#define TYPE_ROCKER "rocker"
typedef struct rocker Rocker;
-#define ROCKER(obj) \
- OBJECT_CHECK(Rocker, (obj), TYPE_ROCKER)
+DECLARE_INSTANCE_CHECKER(Rocker, ROCKER,
+ TYPE_ROCKER)
Rocker *rocker_find(const char *name);
uint32_t rocker_fp_ports(Rocker *r);
diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c
index 69d7f36e98..9246388f58 100644
--- a/hw/net/rtl8139.c
+++ b/hw/net/rtl8139.c
@@ -95,8 +95,8 @@ static inline GCC_FMT_ATTR(1, 2) int DPRINTF(const char *fmt, ...)
#define TYPE_RTL8139 "rtl8139"
typedef struct RTL8139State RTL8139State;
-#define RTL8139(obj) \
- OBJECT_CHECK(RTL8139State, (obj), TYPE_RTL8139)
+DECLARE_INSTANCE_CHECKER(RTL8139State, RTL8139,
+ TYPE_RTL8139)
/* Symbolic offsets to registers. */
enum RTL8139_registers {
diff --git a/hw/net/smc91c111.c b/hw/net/smc91c111.c
index 12da4b1f73..9fad904321 100644
--- a/hw/net/smc91c111.c
+++ b/hw/net/smc91c111.c
@@ -26,7 +26,8 @@
#define TYPE_SMC91C111 "smc91c111"
typedef struct smc91c111_state smc91c111_state;
-#define SMC91C111(obj) OBJECT_CHECK(smc91c111_state, (obj), TYPE_SMC91C111)
+DECLARE_INSTANCE_CHECKER(smc91c111_state, SMC91C111,
+ TYPE_SMC91C111)
struct smc91c111_state {
SysBusDevice parent_obj;
diff --git a/hw/net/spapr_llan.c b/hw/net/spapr_llan.c
index 94b61a646c..d34cb29607 100644
--- a/hw/net/spapr_llan.c
+++ b/hw/net/spapr_llan.c
@@ -86,8 +86,8 @@ typedef uint64_t vlan_bd_t;
#define TYPE_VIO_SPAPR_VLAN_DEVICE "spapr-vlan"
typedef struct SpaprVioVlan SpaprVioVlan;
-#define VIO_SPAPR_VLAN_DEVICE(obj) \
- OBJECT_CHECK(SpaprVioVlan, (obj), TYPE_VIO_SPAPR_VLAN_DEVICE)
+DECLARE_INSTANCE_CHECKER(SpaprVioVlan, VIO_SPAPR_VLAN_DEVICE,
+ TYPE_VIO_SPAPR_VLAN_DEVICE)
#define RX_POOL_MAX_BDS 4096
#define RX_MAX_POOLS 5
diff --git a/hw/net/stellaris_enet.c b/hw/net/stellaris_enet.c
index 786dc9a6c6..9f13afa4e4 100644
--- a/hw/net/stellaris_enet.c
+++ b/hw/net/stellaris_enet.c
@@ -52,8 +52,8 @@ do { fprintf(stderr, "stellaris_enet: error: " fmt , ## __VA_ARGS__);} while (0)
#define TYPE_STELLARIS_ENET "stellaris_enet"
typedef struct stellaris_enet_state stellaris_enet_state;
-#define STELLARIS_ENET(obj) \
- OBJECT_CHECK(stellaris_enet_state, (obj), TYPE_STELLARIS_ENET)
+DECLARE_INSTANCE_CHECKER(stellaris_enet_state, STELLARIS_ENET,
+ TYPE_STELLARIS_ENET)
typedef struct {
uint8_t data[2048];
diff --git a/hw/net/sungem.c b/hw/net/sungem.c
index 103a4e19d9..91753830a7 100644
--- a/hw/net/sungem.c
+++ b/hw/net/sungem.c
@@ -24,7 +24,8 @@
#define TYPE_SUNGEM "sungem"
typedef struct SunGEMState SunGEMState;
-#define SUNGEM(obj) OBJECT_CHECK(SunGEMState, (obj), TYPE_SUNGEM)
+DECLARE_INSTANCE_CHECKER(SunGEMState, SUNGEM,
+ TYPE_SUNGEM)
#define MAX_PACKET_SIZE 9016
diff --git a/hw/net/sunhme.c b/hw/net/sunhme.c
index 43fb8da97c..7364ba1019 100644
--- a/hw/net/sunhme.c
+++ b/hw/net/sunhme.c
@@ -131,7 +131,8 @@
#define TYPE_SUNHME "sunhme"
typedef struct SunHMEState SunHMEState;
-#define SUNHME(obj) OBJECT_CHECK(SunHMEState, (obj), TYPE_SUNHME)
+DECLARE_INSTANCE_CHECKER(SunHMEState, SUNHME,
+ TYPE_SUNHME)
/* Maximum size of buffer */
#define HME_FIFO_SIZE 0x800
diff --git a/hw/net/tulip.h b/hw/net/tulip.h
index 5fe4aee87d..87e3ab79bc 100644
--- a/hw/net/tulip.h
+++ b/hw/net/tulip.h
@@ -7,7 +7,8 @@
#define TYPE_TULIP "tulip"
typedef struct TULIPState TULIPState;
-#define TULIP(obj) OBJECT_CHECK(TULIPState, (obj), TYPE_TULIP)
+DECLARE_INSTANCE_CHECKER(TULIPState, TULIP,
+ TYPE_TULIP)
#define CSR(_x) ((_x) << 3)
diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
index ca3dddad92..eff299f629 100644
--- a/hw/net/vmxnet3.c
+++ b/hw/net/vmxnet3.c
@@ -135,10 +135,8 @@ struct VMXNET3Class {
};
typedef struct VMXNET3Class VMXNET3Class;
-#define VMXNET3_DEVICE_CLASS(klass) \
- OBJECT_CLASS_CHECK(VMXNET3Class, (klass), TYPE_VMXNET3)
-#define VMXNET3_DEVICE_GET_CLASS(obj) \
- OBJECT_GET_CLASS(VMXNET3Class, (obj), TYPE_VMXNET3)
+DECLARE_CLASS_CHECKERS(VMXNET3Class, VMXNET3_DEVICE,
+ TYPE_VMXNET3)
static inline void vmxnet3_ring_init(PCIDevice *d,
Vmxnet3Ring *ring,
diff --git a/hw/net/vmxnet3_defs.h b/hw/net/vmxnet3_defs.h
index 1df1e4c3a6..71440509ca 100644
--- a/hw/net/vmxnet3_defs.h
+++ b/hw/net/vmxnet3_defs.h
@@ -23,7 +23,8 @@
#define TYPE_VMXNET3 "vmxnet3"
typedef struct VMXNET3State VMXNET3State;
-#define VMXNET3(obj) OBJECT_CHECK(VMXNET3State, (obj), TYPE_VMXNET3)
+DECLARE_INSTANCE_CHECKER(VMXNET3State, VMXNET3,
+ TYPE_VMXNET3)
/* Device state and helper functions */
#define VMXNET3_RX_RINGS_PER_QUEUE (2)
diff --git a/hw/net/xgmac.c b/hw/net/xgmac.c
index 10eebebe52..a066550023 100644
--- a/hw/net/xgmac.c
+++ b/hw/net/xgmac.c
@@ -141,7 +141,8 @@ typedef struct RxTxStats {
#define TYPE_XGMAC "xgmac"
typedef struct XgmacState XgmacState;
-#define XGMAC(obj) OBJECT_CHECK(XgmacState, (obj), TYPE_XGMAC)
+DECLARE_INSTANCE_CHECKER(XgmacState, XGMAC,
+ TYPE_XGMAC)
struct XgmacState {
SysBusDevice parent_obj;
diff --git a/hw/net/xilinx_axienet.c b/hw/net/xilinx_axienet.c
index 18f28a386e..10a33cb4a5 100644
--- a/hw/net/xilinx_axienet.c
+++ b/hw/net/xilinx_axienet.c
@@ -44,17 +44,15 @@
#define TYPE_XILINX_AXI_ENET_CONTROL_STREAM "xilinx-axienet-control-stream"
typedef struct XilinxAXIEnet XilinxAXIEnet;
-#define XILINX_AXI_ENET(obj) \
- OBJECT_CHECK(XilinxAXIEnet, (obj), TYPE_XILINX_AXI_ENET)
+DECLARE_INSTANCE_CHECKER(XilinxAXIEnet, XILINX_AXI_ENET,
+ TYPE_XILINX_AXI_ENET)
typedef struct XilinxAXIEnetStreamSlave XilinxAXIEnetStreamSlave;
-#define XILINX_AXI_ENET_DATA_STREAM(obj) \
- OBJECT_CHECK(XilinxAXIEnetStreamSlave, (obj),\
- TYPE_XILINX_AXI_ENET_DATA_STREAM)
+DECLARE_INSTANCE_CHECKER(XilinxAXIEnetStreamSlave, XILINX_AXI_ENET_DATA_STREAM,
+ TYPE_XILINX_AXI_ENET_DATA_STREAM)
-#define XILINX_AXI_ENET_CONTROL_STREAM(obj) \
- OBJECT_CHECK(XilinxAXIEnetStreamSlave, (obj),\
- TYPE_XILINX_AXI_ENET_CONTROL_STREAM)
+DECLARE_INSTANCE_CHECKER(XilinxAXIEnetStreamSlave, XILINX_AXI_ENET_CONTROL_STREAM,
+ TYPE_XILINX_AXI_ENET_CONTROL_STREAM)
/* Advertisement control register. */
#define ADVERTISE_10FULL 0x0040 /* Try for 10mbps full-duplex */
diff --git a/hw/net/xilinx_ethlite.c b/hw/net/xilinx_ethlite.c
index adf477960e..6e09f7e422 100644
--- a/hw/net/xilinx_ethlite.c
+++ b/hw/net/xilinx_ethlite.c
@@ -53,8 +53,8 @@
#define CTRL_S 0x1
#define TYPE_XILINX_ETHLITE "xlnx.xps-ethernetlite"
-#define XILINX_ETHLITE(obj) \
- OBJECT_CHECK(struct xlx_ethlite, (obj), TYPE_XILINX_ETHLITE)
+DECLARE_INSTANCE_CHECKER(struct xlx_ethlite, XILINX_ETHLITE,
+ TYPE_XILINX_ETHLITE)
struct xlx_ethlite
{
diff --git a/hw/nvram/ds1225y.c b/hw/nvram/ds1225y.c
index 99e27e9174..44fb7a94d3 100644
--- a/hw/nvram/ds1225y.c
+++ b/hw/nvram/ds1225y.c
@@ -111,7 +111,8 @@ static const VMStateDescription vmstate_nvram = {
#define TYPE_DS1225Y "ds1225y"
typedef struct SysBusNvRamState SysBusNvRamState;
-#define DS1225Y(obj) OBJECT_CHECK(SysBusNvRamState, (obj), TYPE_DS1225Y)
+DECLARE_INSTANCE_CHECKER(SysBusNvRamState, DS1225Y,
+ TYPE_DS1225Y)
struct SysBusNvRamState {
SysBusDevice parent_obj;
diff --git a/hw/nvram/eeprom_at24c.c b/hw/nvram/eeprom_at24c.c
index 4bf7519bc7..3e93dbbffb 100644
--- a/hw/nvram/eeprom_at24c.c
+++ b/hw/nvram/eeprom_at24c.c
@@ -29,7 +29,8 @@
#define TYPE_AT24C_EE "at24c-eeprom"
typedef struct EEPROMState EEPROMState;
-#define AT24C_EE(obj) OBJECT_CHECK(EEPROMState, (obj), TYPE_AT24C_EE)
+DECLARE_INSTANCE_CHECKER(EEPROMState, AT24C_EE,
+ TYPE_AT24C_EE)
struct EEPROMState {
I2CSlave parent_obj;
diff --git a/hw/nvram/spapr_nvram.c b/hw/nvram/spapr_nvram.c
index b9218e0b89..57ccc174f2 100644
--- a/hw/nvram/spapr_nvram.c
+++ b/hw/nvram/spapr_nvram.c
@@ -51,8 +51,8 @@ struct SpaprNvram {
typedef struct SpaprNvram SpaprNvram;
#define TYPE_VIO_SPAPR_NVRAM "spapr-nvram"
-#define VIO_SPAPR_NVRAM(obj) \
- OBJECT_CHECK(SpaprNvram, (obj), TYPE_VIO_SPAPR_NVRAM)
+DECLARE_INSTANCE_CHECKER(SpaprNvram, VIO_SPAPR_NVRAM,
+ TYPE_VIO_SPAPR_NVRAM)
#define MIN_NVRAM_SIZE (8 * KiB)
#define DEFAULT_NVRAM_SIZE (64 * KiB)
diff --git a/hw/pci-bridge/dec.c b/hw/pci-bridge/dec.c
index b35866d8d1..e88998d88c 100644
--- a/hw/pci-bridge/dec.c
+++ b/hw/pci-bridge/dec.c
@@ -35,7 +35,8 @@
#include "qom/object.h"
typedef struct DECState DECState;
-#define DEC_21154(obj) OBJECT_CHECK(DECState, (obj), TYPE_DEC_21154)
+DECLARE_INSTANCE_CHECKER(DECState, DEC_21154,
+ TYPE_DEC_21154)
struct DECState {
PCIHostState parent_obj;
diff --git a/hw/pci-bridge/gen_pcie_root_port.c b/hw/pci-bridge/gen_pcie_root_port.c
index b62e20a648..67c71d566b 100644
--- a/hw/pci-bridge/gen_pcie_root_port.c
+++ b/hw/pci-bridge/gen_pcie_root_port.c
@@ -21,8 +21,8 @@
#define TYPE_GEN_PCIE_ROOT_PORT "pcie-root-port"
typedef struct GenPCIERootPort GenPCIERootPort;
-#define GEN_PCIE_ROOT_PORT(obj) \
- OBJECT_CHECK(GenPCIERootPort, (obj), TYPE_GEN_PCIE_ROOT_PORT)
+DECLARE_INSTANCE_CHECKER(GenPCIERootPort, GEN_PCIE_ROOT_PORT,
+ TYPE_GEN_PCIE_ROOT_PORT)
#define GEN_PCIE_ROOT_PORT_AER_OFFSET 0x100
#define GEN_PCIE_ROOT_PORT_ACS_OFFSET \
diff --git a/hw/pci-bridge/pci_bridge_dev.c b/hw/pci-bridge/pci_bridge_dev.c
index bd1b10c848..b86d76caf3 100644
--- a/hw/pci-bridge/pci_bridge_dev.c
+++ b/hw/pci-bridge/pci_bridge_dev.c
@@ -36,8 +36,8 @@
#define TYPE_PCI_BRIDGE_DEV "pci-bridge"
#define TYPE_PCI_BRIDGE_SEAT_DEV "pci-bridge-seat"
typedef struct PCIBridgeDev PCIBridgeDev;
-#define PCI_BRIDGE_DEV(obj) \
- OBJECT_CHECK(PCIBridgeDev, (obj), TYPE_PCI_BRIDGE_DEV)
+DECLARE_INSTANCE_CHECKER(PCIBridgeDev, PCI_BRIDGE_DEV,
+ TYPE_PCI_BRIDGE_DEV)
struct PCIBridgeDev {
/*< private >*/
diff --git a/hw/pci-bridge/pci_expander_bridge.c b/hw/pci-bridge/pci_expander_bridge.c
index 4a31ee3748..aedded1064 100644
--- a/hw/pci-bridge/pci_expander_bridge.c
+++ b/hw/pci-bridge/pci_expander_bridge.c
@@ -26,10 +26,12 @@
#define TYPE_PXB_BUS "pxb-bus"
typedef struct PXBBus PXBBus;
-#define PXB_BUS(obj) OBJECT_CHECK(PXBBus, (obj), TYPE_PXB_BUS)
+DECLARE_INSTANCE_CHECKER(PXBBus, PXB_BUS,
+ TYPE_PXB_BUS)
#define TYPE_PXB_PCIE_BUS "pxb-pcie-bus"
-#define PXB_PCIE_BUS(obj) OBJECT_CHECK(PXBBus, (obj), TYPE_PXB_PCIE_BUS)
+DECLARE_INSTANCE_CHECKER(PXBBus, PXB_PCIE_BUS,
+ TYPE_PXB_PCIE_BUS)
struct PXBBus {
/*< private >*/
@@ -41,10 +43,12 @@ struct PXBBus {
#define TYPE_PXB_DEVICE "pxb"
typedef struct PXBDev PXBDev;
-#define PXB_DEV(obj) OBJECT_CHECK(PXBDev, (obj), TYPE_PXB_DEVICE)
+DECLARE_INSTANCE_CHECKER(PXBDev, PXB_DEV,
+ TYPE_PXB_DEVICE)
#define TYPE_PXB_PCIE_DEVICE "pxb-pcie"
-#define PXB_PCIE_DEV(obj) OBJECT_CHECK(PXBDev, (obj), TYPE_PXB_PCIE_DEVICE)
+DECLARE_INSTANCE_CHECKER(PXBDev, PXB_PCIE_DEV,
+ TYPE_PXB_PCIE_DEVICE)
struct PXBDev {
/*< private >*/
diff --git a/hw/pci-bridge/pcie_pci_bridge.c b/hw/pci-bridge/pcie_pci_bridge.c
index 1178cd8620..abc98f8cd9 100644
--- a/hw/pci-bridge/pcie_pci_bridge.c
+++ b/hw/pci-bridge/pcie_pci_bridge.c
@@ -30,8 +30,8 @@ struct PCIEPCIBridge {
typedef struct PCIEPCIBridge PCIEPCIBridge;
#define TYPE_PCIE_PCI_BRIDGE_DEV "pcie-pci-bridge"
-#define PCIE_PCI_BRIDGE_DEV(obj) \
- OBJECT_CHECK(PCIEPCIBridge, (obj), TYPE_PCIE_PCI_BRIDGE_DEV)
+DECLARE_INSTANCE_CHECKER(PCIEPCIBridge, PCIE_PCI_BRIDGE_DEV,
+ TYPE_PCIE_PCI_BRIDGE_DEV)
static void pcie_pci_bridge_realize(PCIDevice *d, Error **errp)
{
diff --git a/hw/pci-host/bonito.c b/hw/pci-host/bonito.c
index 3b37f4f542..d10fbd39d3 100644
--- a/hw/pci-host/bonito.c
+++ b/hw/pci-host/bonito.c
@@ -240,12 +240,12 @@ struct BonitoState {
};
#define TYPE_BONITO_PCI_HOST_BRIDGE "Bonito-pcihost"
-#define BONITO_PCI_HOST_BRIDGE(obj) \
- OBJECT_CHECK(BonitoState, (obj), TYPE_BONITO_PCI_HOST_BRIDGE)
+DECLARE_INSTANCE_CHECKER(BonitoState, BONITO_PCI_HOST_BRIDGE,
+ TYPE_BONITO_PCI_HOST_BRIDGE)
#define TYPE_PCI_BONITO "Bonito"
-#define PCI_BONITO(obj) \
- OBJECT_CHECK(PCIBonitoState, (obj), TYPE_PCI_BONITO)
+DECLARE_INSTANCE_CHECKER(PCIBonitoState, PCI_BONITO,
+ TYPE_PCI_BONITO)
static void bonito_writel(void *opaque, hwaddr addr,
uint64_t val, unsigned size)
diff --git a/hw/pci-host/grackle.c b/hw/pci-host/grackle.c
index 48a16269ad..fd7d6dcc06 100644
--- a/hw/pci-host/grackle.c
+++ b/hw/pci-host/grackle.c
@@ -36,8 +36,8 @@
#include "qom/object.h"
typedef struct GrackleState GrackleState;
-#define GRACKLE_PCI_HOST_BRIDGE(obj) \
- OBJECT_CHECK(GrackleState, (obj), TYPE_GRACKLE_PCI_HOST_BRIDGE)
+DECLARE_INSTANCE_CHECKER(GrackleState, GRACKLE_PCI_HOST_BRIDGE,
+ TYPE_GRACKLE_PCI_HOST_BRIDGE)
struct GrackleState {
PCIHostState parent_obj;
diff --git a/hw/pci-host/i440fx.c b/hw/pci-host/i440fx.c
index ead7b7ef1c..93c62235ca 100644
--- a/hw/pci-host/i440fx.c
+++ b/hw/pci-host/i440fx.c
@@ -43,8 +43,8 @@
*/
typedef struct I440FXState I440FXState;
-#define I440FX_PCI_HOST_BRIDGE(obj) \
- OBJECT_CHECK(I440FXState, (obj), TYPE_I440FX_PCI_HOST_BRIDGE)
+DECLARE_INSTANCE_CHECKER(I440FXState, I440FX_PCI_HOST_BRIDGE,
+ TYPE_I440FX_PCI_HOST_BRIDGE)
struct I440FXState {
PCIHostState parent_obj;
diff --git a/hw/pci-host/pnv_phb3.c b/hw/pci-host/pnv_phb3.c
index 180a91a846..a7f9685005 100644
--- a/hw/pci-host/pnv_phb3.c
+++ b/hw/pci-host/pnv_phb3.c
@@ -878,8 +878,8 @@ static IOMMUTLBEntry pnv_phb3_translate_iommu(IOMMUMemoryRegion *iommu,
}
#define TYPE_PNV_PHB3_IOMMU_MEMORY_REGION "pnv-phb3-iommu-memory-region"
-#define PNV_PHB3_IOMMU_MEMORY_REGION(obj) \
- OBJECT_CHECK(IOMMUMemoryRegion, (obj), TYPE_PNV_PHB3_IOMMU_MEMORY_REGION)
+DECLARE_INSTANCE_CHECKER(IOMMUMemoryRegion, PNV_PHB3_IOMMU_MEMORY_REGION,
+ TYPE_PNV_PHB3_IOMMU_MEMORY_REGION)
static void pnv_phb3_iommu_memory_region_class_init(ObjectClass *klass,
void *data)
diff --git a/hw/pci-host/pnv_phb4.c b/hw/pci-host/pnv_phb4.c
index ec85de5c74..03daf40a23 100644
--- a/hw/pci-host/pnv_phb4.c
+++ b/hw/pci-host/pnv_phb4.c
@@ -1043,8 +1043,8 @@ static IOMMUTLBEntry pnv_phb4_translate_iommu(IOMMUMemoryRegion *iommu,
}
#define TYPE_PNV_PHB4_IOMMU_MEMORY_REGION "pnv-phb4-iommu-memory-region"
-#define PNV_PHB4_IOMMU_MEMORY_REGION(obj) \
- OBJECT_CHECK(IOMMUMemoryRegion, (obj), TYPE_PNV_PHB4_IOMMU_MEMORY_REGION)
+DECLARE_INSTANCE_CHECKER(IOMMUMemoryRegion, PNV_PHB4_IOMMU_MEMORY_REGION,
+ TYPE_PNV_PHB4_IOMMU_MEMORY_REGION)
static void pnv_phb4_iommu_memory_region_class_init(ObjectClass *klass,
void *data)
diff --git a/hw/pci-host/ppce500.c b/hw/pci-host/ppce500.c
index b29e2be9ae..f376374e24 100644
--- a/hw/pci-host/ppce500.c
+++ b/hw/pci-host/ppce500.c
@@ -93,8 +93,8 @@ struct pci_inbound {
#define TYPE_PPC_E500_PCI_HOST_BRIDGE "e500-pcihost"
typedef struct PPCE500PCIState PPCE500PCIState;
-#define PPC_E500_PCI_HOST_BRIDGE(obj) \
- OBJECT_CHECK(PPCE500PCIState, (obj), TYPE_PPC_E500_PCI_HOST_BRIDGE)
+DECLARE_INSTANCE_CHECKER(PPCE500PCIState, PPC_E500_PCI_HOST_BRIDGE,
+ TYPE_PPC_E500_PCI_HOST_BRIDGE)
struct PPCE500PCIState {
PCIHostState parent_obj;
@@ -117,8 +117,8 @@ struct PPCE500PCIState {
#define TYPE_PPC_E500_PCI_BRIDGE "e500-host-bridge"
typedef struct PPCE500PCIBridgeState PPCE500PCIBridgeState;
-#define PPC_E500_PCI_BRIDGE(obj) \
- OBJECT_CHECK(PPCE500PCIBridgeState, (obj), TYPE_PPC_E500_PCI_BRIDGE)
+DECLARE_INSTANCE_CHECKER(PPCE500PCIBridgeState, PPC_E500_PCI_BRIDGE,
+ TYPE_PPC_E500_PCI_BRIDGE)
struct PPCE500PCIBridgeState {
/*< private >*/
diff --git a/hw/pci-host/prep.c b/hw/pci-host/prep.c
index af0c2eb941..b234fd7c8a 100644
--- a/hw/pci-host/prep.c
+++ b/hw/pci-host/prep.c
@@ -44,8 +44,8 @@
#define TYPE_RAVEN_PCI_HOST_BRIDGE "raven-pcihost"
typedef struct RavenPCIState RavenPCIState;
-#define RAVEN_PCI_DEVICE(obj) \
- OBJECT_CHECK(RavenPCIState, (obj), TYPE_RAVEN_PCI_DEVICE)
+DECLARE_INSTANCE_CHECKER(RavenPCIState, RAVEN_PCI_DEVICE,
+ TYPE_RAVEN_PCI_DEVICE)
struct RavenPCIState {
PCIDevice dev;
@@ -56,8 +56,8 @@ struct RavenPCIState {
};
typedef struct PRePPCIState PREPPCIState;
-#define RAVEN_PCI_HOST_BRIDGE(obj) \
- OBJECT_CHECK(PREPPCIState, (obj), TYPE_RAVEN_PCI_HOST_BRIDGE)
+DECLARE_INSTANCE_CHECKER(PREPPCIState, RAVEN_PCI_HOST_BRIDGE,
+ TYPE_RAVEN_PCI_HOST_BRIDGE)
struct PRePPCIState {
PCIHostState parent_obj;
diff --git a/hw/pci-host/versatile.c b/hw/pci-host/versatile.c
index e0d00baf94..3553277f94 100644
--- a/hw/pci-host/versatile.c
+++ b/hw/pci-host/versatile.c
@@ -158,12 +158,12 @@ static const VMStateDescription pci_vpb_vmstate = {
};
#define TYPE_VERSATILE_PCI "versatile_pci"
-#define PCI_VPB(obj) \
- OBJECT_CHECK(PCIVPBState, (obj), TYPE_VERSATILE_PCI)
+DECLARE_INSTANCE_CHECKER(PCIVPBState, PCI_VPB,
+ TYPE_VERSATILE_PCI)
#define TYPE_VERSATILE_PCI_HOST "versatile_pci_host"
-#define PCI_VPB_HOST(obj) \
- OBJECT_CHECK(PCIDevice, (obj), TYPE_VERSATILE_PCI_HOST)
+DECLARE_INSTANCE_CHECKER(PCIDevice, PCI_VPB_HOST,
+ TYPE_VERSATILE_PCI_HOST)
typedef enum {
PCI_IMAP0 = 0x0,
diff --git a/hw/ppc/e500-ccsr.h b/hw/ppc/e500-ccsr.h
index f7fd73fc0d..de4b9d2bc3 100644
--- a/hw/ppc/e500-ccsr.h
+++ b/hw/ppc/e500-ccsr.h
@@ -14,6 +14,7 @@ struct PPCE500CCSRState {
typedef struct PPCE500CCSRState PPCE500CCSRState;
#define TYPE_CCSR "e500-ccsr"
-#define CCSR(obj) OBJECT_CHECK(PPCE500CCSRState, (obj), TYPE_CCSR)
+DECLARE_INSTANCE_CHECKER(PPCE500CCSRState, CCSR,
+ TYPE_CCSR)
#endif /* E500_CCSR_H */
diff --git a/hw/ppc/e500.h b/hw/ppc/e500.h
index 5773460d5e..63870751ff 100644
--- a/hw/ppc/e500.h
+++ b/hw/ppc/e500.h
@@ -46,11 +46,7 @@ void ppce500_init(MachineState *machine);
hwaddr booke206_page_size_to_tlb(uint64_t size);
#define TYPE_PPCE500_MACHINE "ppce500-base-machine"
-#define PPCE500_MACHINE(obj) \
- OBJECT_CHECK(PPCE500MachineState, (obj), TYPE_PPCE500_MACHINE)
-#define PPCE500_MACHINE_GET_CLASS(obj) \
- OBJECT_GET_CLASS(PPCE500MachineClass, obj, TYPE_PPCE500_MACHINE)
-#define PPCE500_MACHINE_CLASS(klass) \
- OBJECT_CLASS_CHECK(PPCE500MachineClass, klass, TYPE_PPCE500_MACHINE)
+DECLARE_OBJ_CHECKERS(PPCE500MachineState, PPCE500MachineClass,
+ PPCE500_MACHINE, TYPE_PPCE500_MACHINE)
#endif
diff --git a/hw/ppc/mac.h b/hw/ppc/mac.h
index f4ef3f32b0..2b6425f600 100644
--- a/hw/ppc/mac.h
+++ b/hw/ppc/mac.h
@@ -73,8 +73,8 @@
/* Core99 machine */
#define TYPE_CORE99_MACHINE MACHINE_TYPE_NAME("mac99")
typedef struct Core99MachineState Core99MachineState;
-#define CORE99_MACHINE(obj) OBJECT_CHECK(Core99MachineState, (obj), \
- TYPE_CORE99_MACHINE)
+DECLARE_INSTANCE_CHECKER(Core99MachineState, CORE99_MACHINE,
+ TYPE_CORE99_MACHINE)
#define CORE99_VIA_CONFIG_CUDA 0x0
#define CORE99_VIA_CONFIG_PMU 0x1
@@ -93,8 +93,8 @@ struct Core99MachineState {
/* Mac NVRAM */
#define TYPE_MACIO_NVRAM "macio-nvram"
typedef struct MacIONVRAMState MacIONVRAMState;
-#define MACIO_NVRAM(obj) \
- OBJECT_CHECK(MacIONVRAMState, (obj), TYPE_MACIO_NVRAM)
+DECLARE_INSTANCE_CHECKER(MacIONVRAMState, MACIO_NVRAM,
+ TYPE_MACIO_NVRAM)
struct MacIONVRAMState {
/*< private >*/
diff --git a/hw/ppc/mpc8544_guts.c b/hw/ppc/mpc8544_guts.c
index f74bcdca16..b76b5e4701 100644
--- a/hw/ppc/mpc8544_guts.c
+++ b/hw/ppc/mpc8544_guts.c
@@ -56,7 +56,8 @@
#define TYPE_MPC8544_GUTS "mpc8544-guts"
typedef struct GutsState GutsState;
-#define MPC8544_GUTS(obj) OBJECT_CHECK(GutsState, (obj), TYPE_MPC8544_GUTS)
+DECLARE_INSTANCE_CHECKER(GutsState, MPC8544_GUTS,
+ TYPE_MPC8544_GUTS)
struct GutsState {
/*< private >*/
diff --git a/hw/ppc/ppc440_pcix.c b/hw/ppc/ppc440_pcix.c
index f82d520d25..a564fcd600 100644
--- a/hw/ppc/ppc440_pcix.c
+++ b/hw/ppc/ppc440_pcix.c
@@ -47,8 +47,8 @@ struct PLBInMap {
#define TYPE_PPC440_PCIX_HOST_BRIDGE "ppc440-pcix-host"
typedef struct PPC440PCIXState PPC440PCIXState;
-#define PPC440_PCIX_HOST_BRIDGE(obj) \
- OBJECT_CHECK(PPC440PCIXState, (obj), TYPE_PPC440_PCIX_HOST_BRIDGE)
+DECLARE_INSTANCE_CHECKER(PPC440PCIXState, PPC440_PCIX_HOST_BRIDGE,
+ TYPE_PPC440_PCIX_HOST_BRIDGE)
#define PPC440_PCIX_NR_POMS 3
#define PPC440_PCIX_NR_PIMS 3
diff --git a/hw/ppc/ppc440_uc.c b/hw/ppc/ppc440_uc.c
index 73cb93a3a5..d9ca6bba9b 100644
--- a/hw/ppc/ppc440_uc.c
+++ b/hw/ppc/ppc440_uc.c
@@ -1034,8 +1034,8 @@ void ppc4xx_dma_init(CPUPPCState *env, int dcr_base)
#define TYPE_PPC460EX_PCIE_HOST "ppc460ex-pcie-host"
typedef struct PPC460EXPCIEState PPC460EXPCIEState;
-#define PPC460EX_PCIE_HOST(obj) \
- OBJECT_CHECK(PPC460EXPCIEState, (obj), TYPE_PPC460EX_PCIE_HOST)
+DECLARE_INSTANCE_CHECKER(PPC460EXPCIEState, PPC460EX_PCIE_HOST,
+ TYPE_PPC460EX_PCIE_HOST)
struct PPC460EXPCIEState {
PCIExpressHost host;
diff --git a/hw/ppc/ppc4xx_pci.c b/hw/ppc/ppc4xx_pci.c
index 6ee7eeed98..c24bac96c3 100644
--- a/hw/ppc/ppc4xx_pci.c
+++ b/hw/ppc/ppc4xx_pci.c
@@ -45,8 +45,8 @@ struct PCITargetMap {
};
typedef struct PPC4xxPCIState PPC4xxPCIState;
-#define PPC4xx_PCI_HOST_BRIDGE(obj) \
- OBJECT_CHECK(PPC4xxPCIState, (obj), TYPE_PPC4xx_PCI_HOST_BRIDGE)
+DECLARE_INSTANCE_CHECKER(PPC4xxPCIState, PPC4xx_PCI_HOST_BRIDGE,
+ TYPE_PPC4xx_PCI_HOST_BRIDGE)
#define PPC4xx_PCI_NR_PMMS 3
#define PPC4xx_PCI_NR_PTMS 2
diff --git a/hw/ppc/ppce500_spin.c b/hw/ppc/ppce500_spin.c
index b1b6d559c4..cd8000ad73 100644
--- a/hw/ppc/ppce500_spin.c
+++ b/hw/ppc/ppce500_spin.c
@@ -48,7 +48,8 @@ typedef struct spin_info {
#define TYPE_E500_SPIN "e500-spin"
typedef struct SpinState SpinState;
-#define E500_SPIN(obj) OBJECT_CHECK(SpinState, (obj), TYPE_E500_SPIN)
+DECLARE_INSTANCE_CHECKER(SpinState, E500_SPIN,
+ TYPE_E500_SPIN)
struct SpinState {
SysBusDevice parent_obj;
diff --git a/hw/ppc/prep_systemio.c b/hw/ppc/prep_systemio.c
index d13044acce..d1e2fb3f8b 100644
--- a/hw/ppc/prep_systemio.c
+++ b/hw/ppc/prep_systemio.c
@@ -37,8 +37,8 @@
#define TYPE_PREP_SYSTEMIO "prep-systemio"
typedef struct PrepSystemIoState PrepSystemIoState;
-#define PREP_SYSTEMIO(obj) \
- OBJECT_CHECK(PrepSystemIoState, (obj), TYPE_PREP_SYSTEMIO)
+DECLARE_INSTANCE_CHECKER(PrepSystemIoState, PREP_SYSTEMIO,
+ TYPE_PREP_SYSTEMIO)
/* Bit as defined in PowerPC Reference Plaform v1.1, sect. 6.1.5, p. 132 */
#define PREP_BIT(n) (1 << (7 - (n)))
diff --git a/hw/ppc/rs6000_mc.c b/hw/ppc/rs6000_mc.c
index ec25a701dc..56e96010b8 100644
--- a/hw/ppc/rs6000_mc.c
+++ b/hw/ppc/rs6000_mc.c
@@ -30,8 +30,8 @@
#define TYPE_RS6000MC "rs6000-mc"
typedef struct RS6000MCState RS6000MCState;
-#define RS6000MC_DEVICE(obj) \
- OBJECT_CHECK(RS6000MCState, (obj), TYPE_RS6000MC)
+DECLARE_INSTANCE_CHECKER(RS6000MCState, RS6000MC_DEVICE,
+ TYPE_RS6000MC)
struct RS6000MCState {
ISADevice parent_obj;
diff --git a/hw/ppc/spapr_rng.c b/hw/ppc/spapr_rng.c
index b400438394..6c99633faa 100644
--- a/hw/ppc/spapr_rng.c
+++ b/hw/ppc/spapr_rng.c
@@ -31,8 +31,8 @@
#include "qom/object.h"
typedef struct SpaprRngState SpaprRngState;
-#define SPAPR_RNG(obj) \
- OBJECT_CHECK(SpaprRngState, (obj), TYPE_SPAPR_RNG)
+DECLARE_INSTANCE_CHECKER(SpaprRngState, SPAPR_RNG,
+ TYPE_SPAPR_RNG)
struct SpaprRngState {
/*< private >*/
diff --git a/hw/rdma/vmw/pvrdma.h b/hw/rdma/vmw/pvrdma.h
index db9d9e2c73..1d36a76f1e 100644
--- a/hw/rdma/vmw/pvrdma.h
+++ b/hw/rdma/vmw/pvrdma.h
@@ -101,7 +101,8 @@ struct PVRDMADev {
PVRDMADevStats stats;
};
typedef struct PVRDMADev PVRDMADev;
-#define PVRDMA_DEV(dev) OBJECT_CHECK(PVRDMADev, (dev), PVRDMA_HW_NAME)
+DECLARE_INSTANCE_CHECKER(PVRDMADev, PVRDMA_DEV,
+ PVRDMA_HW_NAME)
static inline int get_reg_val(PVRDMADev *dev, hwaddr addr, uint32_t *val)
{
diff --git a/hw/rtc/ds1338.c b/hw/rtc/ds1338.c
index 8b2b7973d8..10fac3d9c9 100644
--- a/hw/rtc/ds1338.c
+++ b/hw/rtc/ds1338.c
@@ -31,7 +31,8 @@
#define TYPE_DS1338 "ds1338"
typedef struct DS1338State DS1338State;
-#define DS1338(obj) OBJECT_CHECK(DS1338State, (obj), TYPE_DS1338)
+DECLARE_INSTANCE_CHECKER(DS1338State, DS1338,
+ TYPE_DS1338)
struct DS1338State {
I2CSlave parent_obj;
diff --git a/hw/rtc/exynos4210_rtc.c b/hw/rtc/exynos4210_rtc.c
index a95f07ef0b..f8a4fe8a47 100644
--- a/hw/rtc/exynos4210_rtc.c
+++ b/hw/rtc/exynos4210_rtc.c
@@ -86,8 +86,8 @@
#define TYPE_EXYNOS4210_RTC "exynos4210.rtc"
typedef struct Exynos4210RTCState Exynos4210RTCState;
-#define EXYNOS4210_RTC(obj) \
- OBJECT_CHECK(Exynos4210RTCState, (obj), TYPE_EXYNOS4210_RTC)
+DECLARE_INSTANCE_CHECKER(Exynos4210RTCState, EXYNOS4210_RTC,
+ TYPE_EXYNOS4210_RTC)
struct Exynos4210RTCState {
SysBusDevice parent_obj;
diff --git a/hw/rtc/m41t80.c b/hw/rtc/m41t80.c
index 31445e9691..0b7048c3f4 100644
--- a/hw/rtc/m41t80.c
+++ b/hw/rtc/m41t80.c
@@ -18,7 +18,8 @@
#define TYPE_M41T80 "m41t80"
typedef struct M41t80State M41t80State;
-#define M41T80(obj) OBJECT_CHECK(M41t80State, (obj), TYPE_M41T80)
+DECLARE_INSTANCE_CHECKER(M41t80State, M41T80,
+ TYPE_M41T80)
struct M41t80State {
I2CSlave parent_obj;
diff --git a/hw/rtc/m48t59-isa.c b/hw/rtc/m48t59-isa.c
index dc608e0b02..cae315e488 100644
--- a/hw/rtc/m48t59-isa.c
+++ b/hw/rtc/m48t59-isa.c
@@ -35,12 +35,8 @@
#define TYPE_M48TXX_ISA "isa-m48txx"
typedef struct M48txxISADeviceClass M48txxISADeviceClass;
typedef struct M48txxISAState M48txxISAState;
-#define M48TXX_ISA_GET_CLASS(obj) \
- OBJECT_GET_CLASS(M48txxISADeviceClass, (obj), TYPE_M48TXX_ISA)
-#define M48TXX_ISA_CLASS(klass) \
- OBJECT_CLASS_CHECK(M48txxISADeviceClass, (klass), TYPE_M48TXX_ISA)
-#define M48TXX_ISA(obj) \
- OBJECT_CHECK(M48txxISAState, (obj), TYPE_M48TXX_ISA)
+DECLARE_OBJ_CHECKERS(M48txxISAState, M48txxISADeviceClass,
+ M48TXX_ISA, TYPE_M48TXX_ISA)
struct M48txxISAState {
ISADevice parent_obj;
diff --git a/hw/rtc/m48t59.c b/hw/rtc/m48t59.c
index 9f5a96af82..6525206976 100644
--- a/hw/rtc/m48t59.c
+++ b/hw/rtc/m48t59.c
@@ -45,12 +45,8 @@
#define TYPE_M48TXX_SYS_BUS "sysbus-m48txx"
typedef struct M48txxSysBusDeviceClass M48txxSysBusDeviceClass;
typedef struct M48txxSysBusState M48txxSysBusState;
-#define M48TXX_SYS_BUS_GET_CLASS(obj) \
- OBJECT_GET_CLASS(M48txxSysBusDeviceClass, (obj), TYPE_M48TXX_SYS_BUS)
-#define M48TXX_SYS_BUS_CLASS(klass) \
- OBJECT_CLASS_CHECK(M48txxSysBusDeviceClass, (klass), TYPE_M48TXX_SYS_BUS)
-#define M48TXX_SYS_BUS(obj) \
- OBJECT_CHECK(M48txxSysBusState, (obj), TYPE_M48TXX_SYS_BUS)
+DECLARE_OBJ_CHECKERS(M48txxSysBusState, M48txxSysBusDeviceClass,
+ M48TXX_SYS_BUS, TYPE_M48TXX_SYS_BUS)
/*
* Chipset docs:
diff --git a/hw/rtc/sun4v-rtc.c b/hw/rtc/sun4v-rtc.c
index b5ebefd1b2..18979d25d0 100644
--- a/hw/rtc/sun4v-rtc.c
+++ b/hw/rtc/sun4v-rtc.c
@@ -21,7 +21,8 @@
#define TYPE_SUN4V_RTC "sun4v_rtc"
typedef struct Sun4vRtc Sun4vRtc;
-#define SUN4V_RTC(obj) OBJECT_CHECK(Sun4vRtc, (obj), TYPE_SUN4V_RTC)
+DECLARE_INSTANCE_CHECKER(Sun4vRtc, SUN4V_RTC,
+ TYPE_SUN4V_RTC)
struct Sun4vRtc {
SysBusDevice parent_obj;
diff --git a/hw/rtc/twl92230.c b/hw/rtc/twl92230.c
index d46f21430c..4f83eff5c3 100644
--- a/hw/rtc/twl92230.c
+++ b/hw/rtc/twl92230.c
@@ -35,7 +35,8 @@
#define TYPE_TWL92230 "twl92230"
typedef struct MenelausState MenelausState;
-#define TWL92230(obj) OBJECT_CHECK(MenelausState, (obj), TYPE_TWL92230)
+DECLARE_INSTANCE_CHECKER(MenelausState, TWL92230,
+ TYPE_TWL92230)
struct MenelausState {
I2CSlave parent_obj;
diff --git a/hw/rx/rx-gdbsim.c b/hw/rx/rx-gdbsim.c
index ed7f695c2a..417ec0564b 100644
--- a/hw/rx/rx-gdbsim.c
+++ b/hw/rx/rx-gdbsim.c
@@ -54,13 +54,9 @@ typedef struct RxGdbSimMachineState RxGdbSimMachineState;
#define TYPE_RX_GDBSIM_MACHINE MACHINE_TYPE_NAME("rx62n-common")
-#define RX_GDBSIM_MACHINE(obj) \
- OBJECT_CHECK(RxGdbSimMachineState, (obj), TYPE_RX_GDBSIM_MACHINE)
+DECLARE_OBJ_CHECKERS(RxGdbSimMachineState, RxGdbSimMachineClass,
+ RX_GDBSIM_MACHINE, TYPE_RX_GDBSIM_MACHINE)
-#define RX_GDBSIM_MACHINE_CLASS(klass) \
- OBJECT_CLASS_CHECK(RxGdbSimMachineClass, (klass), TYPE_RX_GDBSIM_MACHINE)
-#define RX_GDBSIM_MACHINE_GET_CLASS(obj) \
- OBJECT_GET_CLASS(RxGdbSimMachineClass, (obj), TYPE_RX_GDBSIM_MACHINE)
static void rx_load_image(RXCPU *cpu, const char *filename,
uint32_t start, uint32_t size)
diff --git a/hw/rx/rx62n.c b/hw/rx/rx62n.c
index d2935c5429..6eb4eea700 100644
--- a/hw/rx/rx62n.c
+++ b/hw/rx/rx62n.c
@@ -72,10 +72,8 @@ struct RX62NClass {
};
typedef struct RX62NClass RX62NClass;
-#define RX62N_MCU_CLASS(klass) \
- OBJECT_CLASS_CHECK(RX62NClass, (klass), TYPE_RX62N_MCU)
-#define RX62N_MCU_GET_CLASS(obj) \
- OBJECT_GET_CLASS(RX62NClass, (obj), TYPE_RX62N_MCU)
+DECLARE_CLASS_CHECKERS(RX62NClass, RX62N_MCU,
+ TYPE_RX62N_MCU)
/*
* IRQ -> IPR mapping table
diff --git a/hw/s390x/ccw-device.h b/hw/s390x/ccw-device.h
index 867547b4eb..cf7d492084 100644
--- a/hw/s390x/ccw-device.h
+++ b/hw/s390x/ccw-device.h
@@ -47,10 +47,7 @@ static inline CcwDevice *to_ccw_dev_fast(DeviceState *d)
#define TYPE_CCW_DEVICE "ccw-device"
-#define CCW_DEVICE(obj) OBJECT_CHECK(CcwDevice, (obj), TYPE_CCW_DEVICE)
-#define CCW_DEVICE_GET_CLASS(obj) \
- OBJECT_GET_CLASS(CCWDeviceClass, (obj), TYPE_CCW_DEVICE)
-#define CCW_DEVICE_CLASS(klass) \
- OBJECT_CLASS_CHECK(CCWDeviceClass, (klass), TYPE_CCW_DEVICE)
+DECLARE_OBJ_CHECKERS(CcwDevice, CCWDeviceClass,
+ CCW_DEVICE, TYPE_CCW_DEVICE)
#endif
diff --git a/hw/s390x/ipl.h b/hw/s390x/ipl.h
index 282b22cc4f..9e6061a043 100644
--- a/hw/s390x/ipl.h
+++ b/hw/s390x/ipl.h
@@ -154,7 +154,8 @@ typedef struct QemuIplParameters QemuIplParameters;
#define TYPE_S390_IPL "s390-ipl"
typedef struct S390IPLState S390IPLState;
-#define S390_IPL(obj) OBJECT_CHECK(S390IPLState, (obj), TYPE_S390_IPL)
+DECLARE_INSTANCE_CHECKER(S390IPLState, S390_IPL,
+ TYPE_S390_IPL)
struct S390IPLState {
/*< private >*/
diff --git a/hw/s390x/s390-pci-bus.h b/hw/s390x/s390-pci-bus.h
index 06f046e73a..045805980f 100644
--- a/hw/s390x/s390-pci-bus.h
+++ b/hw/s390x/s390-pci-bus.h
@@ -38,17 +38,17 @@
#define UID_CHECKING_ENABLED 0x01
typedef struct S390pciState S390pciState;
-#define S390_PCI_HOST_BRIDGE(obj) \
- OBJECT_CHECK(S390pciState, (obj), TYPE_S390_PCI_HOST_BRIDGE)
+DECLARE_INSTANCE_CHECKER(S390pciState, S390_PCI_HOST_BRIDGE,
+ TYPE_S390_PCI_HOST_BRIDGE)
typedef struct S390PCIBus S390PCIBus;
-#define S390_PCI_BUS(obj) \
- OBJECT_CHECK(S390PCIBus, (obj), TYPE_S390_PCI_BUS)
+DECLARE_INSTANCE_CHECKER(S390PCIBus, S390_PCI_BUS,
+ TYPE_S390_PCI_BUS)
typedef struct S390PCIBusDevice S390PCIBusDevice;
-#define S390_PCI_DEVICE(obj) \
- OBJECT_CHECK(S390PCIBusDevice, (obj), TYPE_S390_PCI_DEVICE)
+DECLARE_INSTANCE_CHECKER(S390PCIBusDevice, S390_PCI_DEVICE,
+ TYPE_S390_PCI_DEVICE)
typedef struct S390PCIIOMMU S390PCIIOMMU;
-#define S390_PCI_IOMMU(obj) \
- OBJECT_CHECK(S390PCIIOMMU, (obj), TYPE_S390_PCI_IOMMU)
+DECLARE_INSTANCE_CHECKER(S390PCIIOMMU, S390_PCI_IOMMU,
+ TYPE_S390_PCI_IOMMU)
#define HP_EVENT_TO_CONFIGURED 0x0301
#define HP_EVENT_RESERVED_TO_STANDBY 0x0302
diff --git a/hw/s390x/virtio-ccw.h b/hw/s390x/virtio-ccw.h
index c046c816c9..cea259685d 100644
--- a/hw/s390x/virtio-ccw.h
+++ b/hw/s390x/virtio-ccw.h
@@ -56,23 +56,15 @@
#define TYPE_VIRTIO_CCW_DEVICE "virtio-ccw-device"
typedef struct VirtIOCCWDeviceClass VirtIOCCWDeviceClass;
typedef struct VirtioCcwDevice VirtioCcwDevice;
-#define VIRTIO_CCW_DEVICE(obj) \
- OBJECT_CHECK(VirtioCcwDevice, (obj), TYPE_VIRTIO_CCW_DEVICE)
-#define VIRTIO_CCW_DEVICE_CLASS(klass) \
- OBJECT_CLASS_CHECK(VirtIOCCWDeviceClass, (klass), TYPE_VIRTIO_CCW_DEVICE)
-#define VIRTIO_CCW_DEVICE_GET_CLASS(obj) \
- OBJECT_GET_CLASS(VirtIOCCWDeviceClass, (obj), TYPE_VIRTIO_CCW_DEVICE)
+DECLARE_OBJ_CHECKERS(VirtioCcwDevice, VirtIOCCWDeviceClass,
+ VIRTIO_CCW_DEVICE, TYPE_VIRTIO_CCW_DEVICE)
typedef struct VirtioBusState VirtioCcwBusState;
typedef struct VirtioBusClass VirtioCcwBusClass;
#define TYPE_VIRTIO_CCW_BUS "virtio-ccw-bus"
-#define VIRTIO_CCW_BUS(obj) \
- OBJECT_CHECK(VirtioCcwBusState, (obj), TYPE_VIRTIO_CCW_BUS)
-#define VIRTIO_CCW_BUS_GET_CLASS(obj) \
- OBJECT_GET_CLASS(VirtioCcwBusClass, (obj), TYPE_VIRTIO_CCW_BUS)
-#define VIRTIO_CCW_BUS_CLASS(klass) \
- OBJECT_CLASS_CHECK(VirtioCcwBusClass, klass, TYPE_VIRTIO_CCW_BUS)
+DECLARE_OBJ_CHECKERS(VirtioCcwBusState, VirtioCcwBusClass,
+ VIRTIO_CCW_BUS, TYPE_VIRTIO_CCW_BUS)
struct VirtIOCCWDeviceClass {
@@ -114,8 +106,8 @@ static inline int virtio_ccw_rev_max(VirtioCcwDevice *dev)
#define TYPE_VIRTIO_SCSI_CCW "virtio-scsi-ccw"
typedef struct VirtIOSCSICcw VirtIOSCSICcw;
-#define VIRTIO_SCSI_CCW(obj) \
- OBJECT_CHECK(VirtIOSCSICcw, (obj), TYPE_VIRTIO_SCSI_CCW)
+DECLARE_INSTANCE_CHECKER(VirtIOSCSICcw, VIRTIO_SCSI_CCW,
+ TYPE_VIRTIO_SCSI_CCW)
struct VirtIOSCSICcw {
VirtioCcwDevice parent_obj;
@@ -127,8 +119,8 @@ struct VirtIOSCSICcw {
#define TYPE_VHOST_SCSI_CCW "vhost-scsi-ccw"
typedef struct VHostSCSICcw VHostSCSICcw;
-#define VHOST_SCSI_CCW(obj) \
- OBJECT_CHECK(VHostSCSICcw, (obj), TYPE_VHOST_SCSI_CCW)
+DECLARE_INSTANCE_CHECKER(VHostSCSICcw, VHOST_SCSI_CCW,
+ TYPE_VHOST_SCSI_CCW)
struct VHostSCSICcw {
VirtioCcwDevice parent_obj;
@@ -140,8 +132,8 @@ struct VHostSCSICcw {
#define TYPE_VIRTIO_BLK_CCW "virtio-blk-ccw"
typedef struct VirtIOBlkCcw VirtIOBlkCcw;
-#define VIRTIO_BLK_CCW(obj) \
- OBJECT_CHECK(VirtIOBlkCcw, (obj), TYPE_VIRTIO_BLK_CCW)
+DECLARE_INSTANCE_CHECKER(VirtIOBlkCcw, VIRTIO_BLK_CCW,
+ TYPE_VIRTIO_BLK_CCW)
struct VirtIOBlkCcw {
VirtioCcwDevice parent_obj;
@@ -152,8 +144,8 @@ struct VirtIOBlkCcw {
#define TYPE_VIRTIO_BALLOON_CCW "virtio-balloon-ccw"
typedef struct VirtIOBalloonCcw VirtIOBalloonCcw;
-#define VIRTIO_BALLOON_CCW(obj) \
- OBJECT_CHECK(VirtIOBalloonCcw, (obj), TYPE_VIRTIO_BALLOON_CCW)
+DECLARE_INSTANCE_CHECKER(VirtIOBalloonCcw, VIRTIO_BALLOON_CCW,
+ TYPE_VIRTIO_BALLOON_CCW)
struct VirtIOBalloonCcw {
VirtioCcwDevice parent_obj;
@@ -164,8 +156,8 @@ struct VirtIOBalloonCcw {
#define TYPE_VIRTIO_SERIAL_CCW "virtio-serial-ccw"
typedef struct VirtioSerialCcw VirtioSerialCcw;
-#define VIRTIO_SERIAL_CCW(obj) \
- OBJECT_CHECK(VirtioSerialCcw, (obj), TYPE_VIRTIO_SERIAL_CCW)
+DECLARE_INSTANCE_CHECKER(VirtioSerialCcw, VIRTIO_SERIAL_CCW,
+ TYPE_VIRTIO_SERIAL_CCW)
struct VirtioSerialCcw {
VirtioCcwDevice parent_obj;
@@ -176,8 +168,8 @@ struct VirtioSerialCcw {
#define TYPE_VIRTIO_NET_CCW "virtio-net-ccw"
typedef struct VirtIONetCcw VirtIONetCcw;
-#define VIRTIO_NET_CCW(obj) \
- OBJECT_CHECK(VirtIONetCcw, (obj), TYPE_VIRTIO_NET_CCW)
+DECLARE_INSTANCE_CHECKER(VirtIONetCcw, VIRTIO_NET_CCW,
+ TYPE_VIRTIO_NET_CCW)
struct VirtIONetCcw {
VirtioCcwDevice parent_obj;
@@ -188,8 +180,8 @@ struct VirtIONetCcw {
#define TYPE_VIRTIO_RNG_CCW "virtio-rng-ccw"
typedef struct VirtIORNGCcw VirtIORNGCcw;
-#define VIRTIO_RNG_CCW(obj) \
- OBJECT_CHECK(VirtIORNGCcw, (obj), TYPE_VIRTIO_RNG_CCW)
+DECLARE_INSTANCE_CHECKER(VirtIORNGCcw, VIRTIO_RNG_CCW,
+ TYPE_VIRTIO_RNG_CCW)
struct VirtIORNGCcw {
VirtioCcwDevice parent_obj;
@@ -200,8 +192,8 @@ struct VirtIORNGCcw {
#define TYPE_VIRTIO_CRYPTO_CCW "virtio-crypto-ccw"
typedef struct VirtIOCryptoCcw VirtIOCryptoCcw;
-#define VIRTIO_CRYPTO_CCW(obj) \
- OBJECT_CHECK(VirtIOCryptoCcw, (obj), TYPE_VIRTIO_CRYPTO_CCW)
+DECLARE_INSTANCE_CHECKER(VirtIOCryptoCcw, VIRTIO_CRYPTO_CCW,
+ TYPE_VIRTIO_CRYPTO_CCW)
struct VirtIOCryptoCcw {
VirtioCcwDevice parent_obj;
@@ -215,8 +207,8 @@ VirtIODevice *virtio_ccw_get_vdev(SubchDev *sch);
#define TYPE_VIRTIO_9P_CCW "virtio-9p-ccw"
typedef struct V9fsCCWState V9fsCCWState;
-#define VIRTIO_9P_CCW(obj) \
- OBJECT_CHECK(V9fsCCWState, (obj), TYPE_VIRTIO_9P_CCW)
+DECLARE_INSTANCE_CHECKER(V9fsCCWState, VIRTIO_9P_CCW,
+ TYPE_VIRTIO_9P_CCW)
struct V9fsCCWState {
VirtioCcwDevice parent_obj;
@@ -228,8 +220,8 @@ struct V9fsCCWState {
#ifdef CONFIG_VHOST_VSOCK
#define TYPE_VHOST_VSOCK_CCW "vhost-vsock-ccw"
typedef struct VHostVSockCCWState VHostVSockCCWState;
-#define VHOST_VSOCK_CCW(obj) \
- OBJECT_CHECK(VHostVSockCCWState, (obj), TYPE_VHOST_VSOCK_CCW)
+DECLARE_INSTANCE_CHECKER(VHostVSockCCWState, VHOST_VSOCK_CCW,
+ TYPE_VHOST_VSOCK_CCW)
struct VHostVSockCCWState {
VirtioCcwDevice parent_obj;
@@ -240,8 +232,8 @@ struct VHostVSockCCWState {
#define TYPE_VIRTIO_GPU_CCW "virtio-gpu-ccw"
typedef struct VirtIOGPUCcw VirtIOGPUCcw;
-#define VIRTIO_GPU_CCW(obj) \
- OBJECT_CHECK(VirtIOGPUCcw, (obj), TYPE_VIRTIO_GPU_CCW)
+DECLARE_INSTANCE_CHECKER(VirtIOGPUCcw, VIRTIO_GPU_CCW,
+ TYPE_VIRTIO_GPU_CCW)
struct VirtIOGPUCcw {
VirtioCcwDevice parent_obj;
@@ -250,8 +242,8 @@ struct VirtIOGPUCcw {
#define TYPE_VIRTIO_INPUT_CCW "virtio-input-ccw"
typedef struct VirtIOInputCcw VirtIOInputCcw;
-#define VIRTIO_INPUT_CCW(obj) \
- OBJECT_CHECK(VirtIOInputCcw, (obj), TYPE_VIRTIO_INPUT_CCW)
+DECLARE_INSTANCE_CHECKER(VirtIOInputCcw, VIRTIO_INPUT_CCW,
+ TYPE_VIRTIO_INPUT_CCW)
struct VirtIOInputCcw {
VirtioCcwDevice parent_obj;
@@ -263,8 +255,8 @@ struct VirtIOInputCcw {
#define TYPE_VIRTIO_MOUSE_CCW "virtio-mouse-ccw"
#define TYPE_VIRTIO_TABLET_CCW "virtio-tablet-ccw"
typedef struct VirtIOInputHIDCcw VirtIOInputHIDCcw;
-#define VIRTIO_INPUT_HID_CCW(obj) \
- OBJECT_CHECK(VirtIOInputHIDCcw, (obj), TYPE_VIRTIO_INPUT_HID_CCW)
+DECLARE_INSTANCE_CHECKER(VirtIOInputHIDCcw, VIRTIO_INPUT_HID_CCW,
+ TYPE_VIRTIO_INPUT_HID_CCW)
struct VirtIOInputHIDCcw {
VirtioCcwDevice parent_obj;
diff --git a/hw/scsi/esp-pci.c b/hw/scsi/esp-pci.c
index 544f5f19b3..2ce96dc56e 100644
--- a/hw/scsi/esp-pci.c
+++ b/hw/scsi/esp-pci.c
@@ -38,8 +38,8 @@
#define TYPE_AM53C974_DEVICE "am53c974"
typedef struct PCIESPState PCIESPState;
-#define PCI_ESP(obj) \
- OBJECT_CHECK(PCIESPState, (obj), TYPE_AM53C974_DEVICE)
+DECLARE_INSTANCE_CHECKER(PCIESPState, PCI_ESP,
+ TYPE_AM53C974_DEVICE)
#define DMA_CMD 0x0
#define DMA_STC 0x1
@@ -417,8 +417,8 @@ struct DC390State {
typedef struct DC390State DC390State;
#define TYPE_DC390_DEVICE "dc390"
-#define DC390(obj) \
- OBJECT_CHECK(DC390State, obj, TYPE_DC390_DEVICE)
+DECLARE_INSTANCE_CHECKER(DC390State, DC390,
+ TYPE_DC390_DEVICE)
#define EE_ADAPT_SCSI_ID 64
#define EE_MODE2 65
diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c
index 0e40587c18..e8354a47da 100644
--- a/hw/scsi/lsi53c895a.c
+++ b/hw/scsi/lsi53c895a.c
@@ -310,8 +310,8 @@ typedef struct LSIState LSIState;
#define TYPE_LSI53C810 "lsi53c810"
#define TYPE_LSI53C895A "lsi53c895a"
-#define LSI53C895A(obj) \
- OBJECT_CHECK(LSIState, (obj), TYPE_LSI53C895A)
+DECLARE_INSTANCE_CHECKER(LSIState, LSI53C895A,
+ TYPE_LSI53C895A)
static const char *scsi_phases[] = {
"DOUT",
diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
index aab0b36598..e90c00823a 100644
--- a/hw/scsi/megasas.c
+++ b/hw/scsi/megasas.c
@@ -134,13 +134,9 @@ typedef struct MegasasBaseClass MegasasBaseClass;
#define TYPE_MEGASAS_GEN1 "megasas"
#define TYPE_MEGASAS_GEN2 "megasas-gen2"
-#define MEGASAS(obj) \
- OBJECT_CHECK(MegasasState, (obj), TYPE_MEGASAS_BASE)
+DECLARE_OBJ_CHECKERS(MegasasState, MegasasBaseClass,
+ MEGASAS, TYPE_MEGASAS_BASE)
-#define MEGASAS_CLASS(oc) \
- OBJECT_CLASS_CHECK(MegasasBaseClass, (oc), TYPE_MEGASAS_BASE)
-#define MEGASAS_GET_CLASS(oc) \
- OBJECT_GET_CLASS(MegasasBaseClass, (oc), TYPE_MEGASAS_BASE)
#define MEGASAS_INTR_DISABLED_MASK 0xFFFFFFFF
diff --git a/hw/scsi/mptsas.h b/hw/scsi/mptsas.h
index 2e76bda79e..b85ac1a5fc 100644
--- a/hw/scsi/mptsas.h
+++ b/hw/scsi/mptsas.h
@@ -16,8 +16,8 @@ typedef struct MPTSASRequest MPTSASRequest;
#define TYPE_MPTSAS1068 "mptsas1068"
typedef struct MPTSASState MPTSASState;
-#define MPT_SAS(obj) \
- OBJECT_CHECK(MPTSASState, (obj), TYPE_MPTSAS1068)
+DECLARE_INSTANCE_CHECKER(MPTSASState, MPT_SAS,
+ TYPE_MPTSAS1068)
enum {
DOORBELL_NONE,
diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c
index ea66422c2b..1f0388a755 100644
--- a/hw/scsi/scsi-disk.c
+++ b/hw/scsi/scsi-disk.c
@@ -57,12 +57,8 @@
typedef struct SCSIDiskClass SCSIDiskClass;
typedef struct SCSIDiskState SCSIDiskState;
-#define SCSI_DISK_BASE(obj) \
- OBJECT_CHECK(SCSIDiskState, (obj), TYPE_SCSI_DISK_BASE)
-#define SCSI_DISK_BASE_CLASS(klass) \
- OBJECT_CLASS_CHECK(SCSIDiskClass, (klass), TYPE_SCSI_DISK_BASE)
-#define SCSI_DISK_BASE_GET_CLASS(obj) \
- OBJECT_GET_CLASS(SCSIDiskClass, (obj), TYPE_SCSI_DISK_BASE)
+DECLARE_OBJ_CHECKERS(SCSIDiskState, SCSIDiskClass,
+ SCSI_DISK_BASE, TYPE_SCSI_DISK_BASE)
struct SCSIDiskClass {
SCSIDeviceClass parent_class;
diff --git a/hw/scsi/spapr_vscsi.c b/hw/scsi/spapr_vscsi.c
index 3c64f45bdb..c3e6d1ecef 100644
--- a/hw/scsi/spapr_vscsi.c
+++ b/hw/scsi/spapr_vscsi.c
@@ -92,8 +92,8 @@ typedef struct vscsi_req {
#define TYPE_VIO_SPAPR_VSCSI_DEVICE "spapr-vscsi"
typedef struct VSCSIState VSCSIState;
-#define VIO_SPAPR_VSCSI_DEVICE(obj) \
- OBJECT_CHECK(VSCSIState, (obj), TYPE_VIO_SPAPR_VSCSI_DEVICE)
+DECLARE_INSTANCE_CHECKER(VSCSIState, VIO_SPAPR_VSCSI_DEVICE,
+ TYPE_VIO_SPAPR_VSCSI_DEVICE)
struct VSCSIState {
SpaprVioDevice vdev;
diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c
index aa0d57b970..40095bed09 100644
--- a/hw/scsi/vmw_pvscsi.c
+++ b/hw/scsi/vmw_pvscsi.c
@@ -65,12 +65,9 @@ typedef struct PVSCSIClass PVSCSIClass;
#define TYPE_PVSCSI "pvscsi"
typedef struct PVSCSIState PVSCSIState;
-#define PVSCSI(obj) OBJECT_CHECK(PVSCSIState, (obj), TYPE_PVSCSI)
+DECLARE_OBJ_CHECKERS(PVSCSIState, PVSCSIClass,
+ PVSCSI, TYPE_PVSCSI)
-#define PVSCSI_CLASS(klass) \
- OBJECT_CLASS_CHECK(PVSCSIClass, (klass), TYPE_PVSCSI)
-#define PVSCSI_GET_CLASS(obj) \
- OBJECT_GET_CLASS(PVSCSIClass, (obj), TYPE_PVSCSI)
/* Compatibility flags for migration */
#define PVSCSI_COMPAT_OLD_PCI_CONFIGURATION_BIT 0
diff --git a/hw/sd/milkymist-memcard.c b/hw/sd/milkymist-memcard.c
index 0da5b84398..4d3ec28f5d 100644
--- a/hw/sd/milkymist-memcard.c
+++ b/hw/sd/milkymist-memcard.c
@@ -65,8 +65,8 @@ enum {
#define TYPE_MILKYMIST_MEMCARD "milkymist-memcard"
typedef struct MilkymistMemcardState MilkymistMemcardState;
-#define MILKYMIST_MEMCARD(obj) \
- OBJECT_CHECK(MilkymistMemcardState, (obj), TYPE_MILKYMIST_MEMCARD)
+DECLARE_INSTANCE_CHECKER(MilkymistMemcardState, MILKYMIST_MEMCARD,
+ TYPE_MILKYMIST_MEMCARD)
#define TYPE_MILKYMIST_SDBUS "milkymist-sdbus"
diff --git a/hw/sd/pl181.c b/hw/sd/pl181.c
index cb2ef0fb39..7829e933a5 100644
--- a/hw/sd/pl181.c
+++ b/hw/sd/pl181.c
@@ -24,7 +24,8 @@
#define TYPE_PL181 "pl181"
typedef struct PL181State PL181State;
-#define PL181(obj) OBJECT_CHECK(PL181State, (obj), TYPE_PL181)
+DECLARE_INSTANCE_CHECKER(PL181State, PL181,
+ TYPE_PL181)
#define TYPE_PL181_BUS "pl181-bus"
diff --git a/hw/sd/ssi-sd.c b/hw/sd/ssi-sd.c
index 517c17a2c4..dd07258d4e 100644
--- a/hw/sd/ssi-sd.c
+++ b/hw/sd/ssi-sd.c
@@ -55,7 +55,8 @@ struct ssi_sd_state {
typedef struct ssi_sd_state ssi_sd_state;
#define TYPE_SSI_SD "ssi-sd"
-#define SSI_SD(obj) OBJECT_CHECK(ssi_sd_state, (obj), TYPE_SSI_SD)
+DECLARE_INSTANCE_CHECKER(ssi_sd_state, SSI_SD,
+ TYPE_SSI_SD)
/* State word bits. */
#define SSI_SDR_LOCKED 0x0001
diff --git a/hw/sh4/sh_pci.c b/hw/sh4/sh_pci.c
index 378d44b946..dc73845125 100644
--- a/hw/sh4/sh_pci.c
+++ b/hw/sh4/sh_pci.c
@@ -36,8 +36,8 @@
#define TYPE_SH_PCI_HOST_BRIDGE "sh_pci"
typedef struct SHPCIState SHPCIState;
-#define SH_PCI_HOST_BRIDGE(obj) \
- OBJECT_CHECK(SHPCIState, (obj), TYPE_SH_PCI_HOST_BRIDGE)
+DECLARE_INSTANCE_CHECKER(SHPCIState, SH_PCI_HOST_BRIDGE,
+ TYPE_SH_PCI_HOST_BRIDGE)
struct SHPCIState {
PCIHostState parent_obj;
diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c
index 1bc3edec25..256033b9a0 100644
--- a/hw/sparc/sun4m.c
+++ b/hw/sparc/sun4m.c
@@ -583,8 +583,8 @@ static void idreg_init(hwaddr addr)
}
typedef struct IDRegState IDRegState;
-#define MACIO_ID_REGISTER(obj) \
- OBJECT_CHECK(IDRegState, (obj), TYPE_MACIO_ID_REGISTER)
+DECLARE_INSTANCE_CHECKER(IDRegState, MACIO_ID_REGISTER,
+ TYPE_MACIO_ID_REGISTER)
struct IDRegState {
SysBusDevice parent_obj;
@@ -626,7 +626,8 @@ static const TypeInfo idreg_info = {
#define TYPE_TCX_AFX "tcx_afx"
typedef struct AFXState AFXState;
-#define TCX_AFX(obj) OBJECT_CHECK(AFXState, (obj), TYPE_TCX_AFX)
+DECLARE_INSTANCE_CHECKER(AFXState, TCX_AFX,
+ TYPE_TCX_AFX)
struct AFXState {
SysBusDevice parent_obj;
@@ -680,7 +681,8 @@ static const TypeInfo afx_info = {
#define TYPE_OPENPROM "openprom"
typedef struct PROMState PROMState;
-#define OPENPROM(obj) OBJECT_CHECK(PROMState, (obj), TYPE_OPENPROM)
+DECLARE_INSTANCE_CHECKER(PROMState, OPENPROM,
+ TYPE_OPENPROM)
struct PROMState {
SysBusDevice parent_obj;
@@ -769,7 +771,8 @@ static const TypeInfo prom_info = {
#define TYPE_SUN4M_MEMORY "memory"
typedef struct RamDevice RamDevice;
-#define SUN4M_RAM(obj) OBJECT_CHECK(RamDevice, (obj), TYPE_SUN4M_MEMORY)
+DECLARE_INSTANCE_CHECKER(RamDevice, SUN4M_RAM,
+ TYPE_SUN4M_MEMORY)
struct RamDevice {
SysBusDevice parent_obj;
diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c
index 7aab59dea9..67985414e2 100644
--- a/hw/sparc64/sun4u.c
+++ b/hw/sparc64/sun4u.c
@@ -93,7 +93,8 @@ struct EbusState {
typedef struct EbusState EbusState;
#define TYPE_EBUS "ebus"
-#define EBUS(obj) OBJECT_CHECK(EbusState, (obj), TYPE_EBUS)
+DECLARE_INSTANCE_CHECKER(EbusState, EBUS,
+ TYPE_EBUS)
const char *fw_cfg_arch_key_name(uint16_t key)
{
@@ -229,7 +230,8 @@ typedef struct ResetData {
#define TYPE_SUN4U_POWER "power"
typedef struct PowerDevice PowerDevice;
-#define SUN4U_POWER(obj) OBJECT_CHECK(PowerDevice, (obj), TYPE_SUN4U_POWER)
+DECLARE_INSTANCE_CHECKER(PowerDevice, SUN4U_POWER,
+ TYPE_SUN4U_POWER)
struct PowerDevice {
SysBusDevice parent_obj;
@@ -403,7 +405,8 @@ static const TypeInfo ebus_info = {
#define TYPE_OPENPROM "openprom"
typedef struct PROMState PROMState;
-#define OPENPROM(obj) OBJECT_CHECK(PROMState, (obj), TYPE_OPENPROM)
+DECLARE_INSTANCE_CHECKER(PROMState, OPENPROM,
+ TYPE_OPENPROM)
struct PROMState {
SysBusDevice parent_obj;
@@ -492,7 +495,8 @@ static const TypeInfo prom_info = {
#define TYPE_SUN4U_MEMORY "memory"
typedef struct RamDevice RamDevice;
-#define SUN4U_RAM(obj) OBJECT_CHECK(RamDevice, (obj), TYPE_SUN4U_MEMORY)
+DECLARE_INSTANCE_CHECKER(RamDevice, SUN4U_RAM,
+ TYPE_SUN4U_MEMORY)
struct RamDevice {
SysBusDevice parent_obj;
diff --git a/hw/ssi/ssi.c b/hw/ssi/ssi.c
index 5366a80d45..faf7633e70 100644
--- a/hw/ssi/ssi.c
+++ b/hw/ssi/ssi.c
@@ -24,7 +24,8 @@ struct SSIBus {
};
#define TYPE_SSI_BUS "SSI"
-#define SSI_BUS(obj) OBJECT_CHECK(SSIBus, (obj), TYPE_SSI_BUS)
+DECLARE_INSTANCE_CHECKER(SSIBus, SSI_BUS,
+ TYPE_SSI_BUS)
static const TypeInfo ssi_bus_info = {
.name = TYPE_SSI_BUS,
diff --git a/hw/ssi/xilinx_spi.c b/hw/ssi/xilinx_spi.c
index 8ed83bec8a..34fc8da69a 100644
--- a/hw/ssi/xilinx_spi.c
+++ b/hw/ssi/xilinx_spi.c
@@ -80,7 +80,8 @@
#define TYPE_XILINX_SPI "xlnx.xps-spi"
typedef struct XilinxSPI XilinxSPI;
-#define XILINX_SPI(obj) OBJECT_CHECK(XilinxSPI, (obj), TYPE_XILINX_SPI)
+DECLARE_INSTANCE_CHECKER(XilinxSPI, XILINX_SPI,
+ TYPE_XILINX_SPI)
struct XilinxSPI {
SysBusDevice parent_obj;
diff --git a/hw/timer/altera_timer.c b/hw/timer/altera_timer.c
index 93bd5b9587..c694c98d08 100644
--- a/hw/timer/altera_timer.c
+++ b/hw/timer/altera_timer.c
@@ -46,8 +46,8 @@
#define TYPE_ALTERA_TIMER "ALTR.timer"
typedef struct AlteraTimer AlteraTimer;
-#define ALTERA_TIMER(obj) \
- OBJECT_CHECK(AlteraTimer, (obj), TYPE_ALTERA_TIMER)
+DECLARE_INSTANCE_CHECKER(AlteraTimer, ALTERA_TIMER,
+ TYPE_ALTERA_TIMER)
struct AlteraTimer {
SysBusDevice busdev;
diff --git a/hw/timer/arm_timer.c b/hw/timer/arm_timer.c
index d728a80937..79117f45b0 100644
--- a/hw/timer/arm_timer.c
+++ b/hw/timer/arm_timer.c
@@ -192,7 +192,8 @@ static arm_timer_state *arm_timer_init(uint32_t freq)
#define TYPE_SP804 "sp804"
typedef struct SP804State SP804State;
-#define SP804(obj) OBJECT_CHECK(SP804State, (obj), TYPE_SP804)
+DECLARE_INSTANCE_CHECKER(SP804State, SP804,
+ TYPE_SP804)
struct SP804State {
SysBusDevice parent_obj;
@@ -313,8 +314,8 @@ static void sp804_realize(DeviceState *dev, Error **errp)
#define TYPE_INTEGRATOR_PIT "integrator_pit"
typedef struct icp_pit_state icp_pit_state;
-#define INTEGRATOR_PIT(obj) \
- OBJECT_CHECK(icp_pit_state, (obj), TYPE_INTEGRATOR_PIT)
+DECLARE_INSTANCE_CHECKER(icp_pit_state, INTEGRATOR_PIT,
+ TYPE_INTEGRATOR_PIT)
struct icp_pit_state {
SysBusDevice parent_obj;
diff --git a/hw/timer/cadence_ttc.c b/hw/timer/cadence_ttc.c
index 24de679d9c..52e637545a 100644
--- a/hw/timer/cadence_ttc.c
+++ b/hw/timer/cadence_ttc.c
@@ -71,8 +71,8 @@ typedef struct {
#define TYPE_CADENCE_TTC "cadence_ttc"
typedef struct CadenceTTCState CadenceTTCState;
-#define CADENCE_TTC(obj) \
- OBJECT_CHECK(CadenceTTCState, (obj), TYPE_CADENCE_TTC)
+DECLARE_INSTANCE_CHECKER(CadenceTTCState, CADENCE_TTC,
+ TYPE_CADENCE_TTC)
struct CadenceTTCState {
SysBusDevice parent_obj;
diff --git a/hw/timer/etraxfs_timer.c b/hw/timer/etraxfs_timer.c
index 92b8999b79..48f2e3ade2 100644
--- a/hw/timer/etraxfs_timer.c
+++ b/hw/timer/etraxfs_timer.c
@@ -50,8 +50,8 @@
#define TYPE_ETRAX_FS_TIMER "etraxfs,timer"
typedef struct ETRAXTimerState ETRAXTimerState;
-#define ETRAX_TIMER(obj) \
- OBJECT_CHECK(ETRAXTimerState, (obj), TYPE_ETRAX_FS_TIMER)
+DECLARE_INSTANCE_CHECKER(ETRAXTimerState, ETRAX_TIMER,
+ TYPE_ETRAX_FS_TIMER)
struct ETRAXTimerState {
SysBusDevice parent_obj;
diff --git a/hw/timer/exynos4210_mct.c b/hw/timer/exynos4210_mct.c
index aa8753ded8..0329cae3d9 100644
--- a/hw/timer/exynos4210_mct.c
+++ b/hw/timer/exynos4210_mct.c
@@ -244,8 +244,8 @@ typedef struct {
#define TYPE_EXYNOS4210_MCT "exynos4210.mct"
typedef struct Exynos4210MCTState Exynos4210MCTState;
-#define EXYNOS4210_MCT(obj) \
- OBJECT_CHECK(Exynos4210MCTState, (obj), TYPE_EXYNOS4210_MCT)
+DECLARE_INSTANCE_CHECKER(Exynos4210MCTState, EXYNOS4210_MCT,
+ TYPE_EXYNOS4210_MCT)
struct Exynos4210MCTState {
SysBusDevice parent_obj;
diff --git a/hw/timer/exynos4210_pwm.c b/hw/timer/exynos4210_pwm.c
index 34224020c0..5340fc0425 100644
--- a/hw/timer/exynos4210_pwm.c
+++ b/hw/timer/exynos4210_pwm.c
@@ -104,8 +104,8 @@ typedef struct {
#define TYPE_EXYNOS4210_PWM "exynos4210.pwm"
typedef struct Exynos4210PWMState Exynos4210PWMState;
-#define EXYNOS4210_PWM(obj) \
- OBJECT_CHECK(Exynos4210PWMState, (obj), TYPE_EXYNOS4210_PWM)
+DECLARE_INSTANCE_CHECKER(Exynos4210PWMState, EXYNOS4210_PWM,
+ TYPE_EXYNOS4210_PWM)
struct Exynos4210PWMState {
SysBusDevice parent_obj;
diff --git a/hw/timer/grlib_gptimer.c b/hw/timer/grlib_gptimer.c
index 91d42837c9..e539fc24f0 100644
--- a/hw/timer/grlib_gptimer.c
+++ b/hw/timer/grlib_gptimer.c
@@ -57,8 +57,8 @@
#define TIMER_BASE 0x10
typedef struct GPTimerUnit GPTimerUnit;
-#define GRLIB_GPTIMER(obj) \
- OBJECT_CHECK(GPTimerUnit, (obj), TYPE_GRLIB_GPTIMER)
+DECLARE_INSTANCE_CHECKER(GPTimerUnit, GRLIB_GPTIMER,
+ TYPE_GRLIB_GPTIMER)
typedef struct GPTimer GPTimer;
diff --git a/hw/timer/hpet.c b/hw/timer/hpet.c
index 07b3c0f9be..44bbe3a536 100644
--- a/hw/timer/hpet.c
+++ b/hw/timer/hpet.c
@@ -49,7 +49,8 @@
#define HPET_MSI_SUPPORT 0
typedef struct HPETState HPETState;
-#define HPET(obj) OBJECT_CHECK(HPETState, (obj), TYPE_HPET)
+DECLARE_INSTANCE_CHECKER(HPETState, HPET,
+ TYPE_HPET)
struct HPETState;
typedef struct HPETTimer { /* timers */
diff --git a/hw/timer/i8254.c b/hw/timer/i8254.c
index 54639d13d8..c01ee2c72a 100644
--- a/hw/timer/i8254.c
+++ b/hw/timer/i8254.c
@@ -38,8 +38,8 @@
#define RW_STATE_WORD1 4
typedef struct PITClass PITClass;
-#define PIT_CLASS(class) OBJECT_CLASS_CHECK(PITClass, (class), TYPE_I8254)
-#define PIT_GET_CLASS(obj) OBJECT_GET_CLASS(PITClass, (obj), TYPE_I8254)
+DECLARE_CLASS_CHECKERS(PITClass, PIT,
+ TYPE_I8254)
struct PITClass {
PITCommonClass parent_class;
diff --git a/hw/timer/lm32_timer.c b/hw/timer/lm32_timer.c
index 807ceb514c..93ecb51a97 100644
--- a/hw/timer/lm32_timer.c
+++ b/hw/timer/lm32_timer.c
@@ -57,7 +57,8 @@ enum {
#define TYPE_LM32_TIMER "lm32-timer"
typedef struct LM32TimerState LM32TimerState;
-#define LM32_TIMER(obj) OBJECT_CHECK(LM32TimerState, (obj), TYPE_LM32_TIMER)
+DECLARE_INSTANCE_CHECKER(LM32TimerState, LM32_TIMER,
+ TYPE_LM32_TIMER)
struct LM32TimerState {
SysBusDevice parent_obj;
diff --git a/hw/timer/milkymist-sysctl.c b/hw/timer/milkymist-sysctl.c
index 3667a09c99..29500e0457 100644
--- a/hw/timer/milkymist-sysctl.c
+++ b/hw/timer/milkymist-sysctl.c
@@ -64,8 +64,8 @@ enum {
#define TYPE_MILKYMIST_SYSCTL "milkymist-sysctl"
typedef struct MilkymistSysctlState MilkymistSysctlState;
-#define MILKYMIST_SYSCTL(obj) \
- OBJECT_CHECK(MilkymistSysctlState, (obj), TYPE_MILKYMIST_SYSCTL)
+DECLARE_INSTANCE_CHECKER(MilkymistSysctlState, MILKYMIST_SYSCTL,
+ TYPE_MILKYMIST_SYSCTL)
struct MilkymistSysctlState {
SysBusDevice parent_obj;
diff --git a/hw/timer/puv3_ost.c b/hw/timer/puv3_ost.c
index 8d61c670de..3a35ac2b0a 100644
--- a/hw/timer/puv3_ost.c
+++ b/hw/timer/puv3_ost.c
@@ -22,7 +22,8 @@
#define TYPE_PUV3_OST "puv3_ost"
typedef struct PUV3OSTState PUV3OSTState;
-#define PUV3_OST(obj) OBJECT_CHECK(PUV3OSTState, (obj), TYPE_PUV3_OST)
+DECLARE_INSTANCE_CHECKER(PUV3OSTState, PUV3_OST,
+ TYPE_PUV3_OST)
/* puv3 ostimer implementation. */
struct PUV3OSTState {
diff --git a/hw/timer/pxa2xx_timer.c b/hw/timer/pxa2xx_timer.c
index c73cc721e1..8c3a1f5489 100644
--- a/hw/timer/pxa2xx_timer.c
+++ b/hw/timer/pxa2xx_timer.c
@@ -68,8 +68,8 @@ static int pxa2xx_timer4_freq[8] = {
#define TYPE_PXA2XX_TIMER "pxa2xx-timer"
typedef struct PXA2xxTimerInfo PXA2xxTimerInfo;
-#define PXA2XX_TIMER(obj) \
- OBJECT_CHECK(PXA2xxTimerInfo, (obj), TYPE_PXA2XX_TIMER)
+DECLARE_INSTANCE_CHECKER(PXA2xxTimerInfo, PXA2XX_TIMER,
+ TYPE_PXA2XX_TIMER)
typedef struct {
diff --git a/hw/timer/slavio_timer.c b/hw/timer/slavio_timer.c
index 28d612372b..08d6888015 100644
--- a/hw/timer/slavio_timer.c
+++ b/hw/timer/slavio_timer.c
@@ -61,8 +61,8 @@ typedef struct CPUTimerState {
#define TYPE_SLAVIO_TIMER "slavio_timer"
typedef struct SLAVIO_TIMERState SLAVIO_TIMERState;
-#define SLAVIO_TIMER(obj) \
- OBJECT_CHECK(SLAVIO_TIMERState, (obj), TYPE_SLAVIO_TIMER)
+DECLARE_INSTANCE_CHECKER(SLAVIO_TIMERState, SLAVIO_TIMER,
+ TYPE_SLAVIO_TIMER)
struct SLAVIO_TIMERState {
SysBusDevice parent_obj;
diff --git a/hw/timer/xilinx_timer.c b/hw/timer/xilinx_timer.c
index c262f6d96f..1eb927eb84 100644
--- a/hw/timer/xilinx_timer.c
+++ b/hw/timer/xilinx_timer.c
@@ -62,8 +62,8 @@ struct xlx_timer
};
#define TYPE_XILINX_TIMER "xlnx.xps-timer"
-#define XILINX_TIMER(obj) \
- OBJECT_CHECK(struct timerblock, (obj), TYPE_XILINX_TIMER)
+DECLARE_INSTANCE_CHECKER(struct timerblock, XILINX_TIMER,
+ TYPE_XILINX_TIMER)
struct timerblock
{
diff --git a/hw/tpm/tpm_crb.c b/hw/tpm/tpm_crb.c
index 53e89b43e5..aa9c00aad3 100644
--- a/hw/tpm/tpm_crb.c
+++ b/hw/tpm/tpm_crb.c
@@ -47,7 +47,8 @@ struct CRBState {
};
typedef struct CRBState CRBState;
-#define CRB(obj) OBJECT_CHECK(CRBState, (obj), TYPE_TPM_CRB)
+DECLARE_INSTANCE_CHECKER(CRBState, CRB,
+ TYPE_TPM_CRB)
#define CRB_INTF_TYPE_CRB_ACTIVE 0b1
#define CRB_INTF_VERSION_CRB 0b1
diff --git a/hw/tpm/tpm_spapr.c b/hw/tpm/tpm_spapr.c
index 08db85baea..e3775adc57 100644
--- a/hw/tpm/tpm_spapr.c
+++ b/hw/tpm/tpm_spapr.c
@@ -31,8 +31,8 @@
#define DEBUG_SPAPR 0
typedef struct SpaprTpmState SpaprTpmState;
-#define VIO_SPAPR_VTPM(obj) \
- OBJECT_CHECK(SpaprTpmState, (obj), TYPE_TPM_SPAPR)
+DECLARE_INSTANCE_CHECKER(SpaprTpmState, VIO_SPAPR_VTPM,
+ TYPE_TPM_SPAPR)
typedef struct TpmCrq {
uint8_t valid; /* 0x80: cmd; 0xc0: init crq */
diff --git a/hw/tpm/tpm_tis_isa.c b/hw/tpm/tpm_tis_isa.c
index 9a0ab24a27..fafdcffa9c 100644
--- a/hw/tpm/tpm_tis_isa.c
+++ b/hw/tpm/tpm_tis_isa.c
@@ -40,7 +40,8 @@ struct TPMStateISA {
};
typedef struct TPMStateISA TPMStateISA;
-#define TPM_TIS_ISA(obj) OBJECT_CHECK(TPMStateISA, (obj), TYPE_TPM_TIS_ISA)
+DECLARE_INSTANCE_CHECKER(TPMStateISA, TPM_TIS_ISA,
+ TYPE_TPM_TIS_ISA)
static int tpm_tis_pre_save_isa(void *opaque)
{
diff --git a/hw/tpm/tpm_tis_sysbus.c b/hw/tpm/tpm_tis_sysbus.c
index 46a92182fc..20b28eeb28 100644
--- a/hw/tpm/tpm_tis_sysbus.c
+++ b/hw/tpm/tpm_tis_sysbus.c
@@ -40,7 +40,8 @@ struct TPMStateSysBus {
};
typedef struct TPMStateSysBus TPMStateSysBus;
-#define TPM_TIS_SYSBUS(obj) OBJECT_CHECK(TPMStateSysBus, (obj), TYPE_TPM_TIS_SYSBUS)
+DECLARE_INSTANCE_CHECKER(TPMStateSysBus, TPM_TIS_SYSBUS,
+ TYPE_TPM_TIS_SYSBUS)
static int tpm_tis_pre_save_sysbus(void *opaque)
{
diff --git a/hw/usb/ccid-card-emulated.c b/hw/usb/ccid-card-emulated.c
index a84f5783dc..5e4649d367 100644
--- a/hw/usb/ccid-card-emulated.c
+++ b/hw/usb/ccid-card-emulated.c
@@ -47,8 +47,8 @@ do {\
#define TYPE_EMULATED_CCID "ccid-card-emulated"
typedef struct EmulatedState EmulatedState;
-#define EMULATED_CCID_CARD(obj) \
- OBJECT_CHECK(EmulatedState, (obj), TYPE_EMULATED_CCID)
+DECLARE_INSTANCE_CHECKER(EmulatedState, EMULATED_CCID_CARD,
+ TYPE_EMULATED_CCID)
#define BACKEND_NSS_EMULATED_NAME "nss-emulated"
#define BACKEND_CERTIFICATES_NAME "certificates"
diff --git a/hw/usb/ccid-card-passthru.c b/hw/usb/ccid-card-passthru.c
index 9c9d6857da..e8e9d37e88 100644
--- a/hw/usb/ccid-card-passthru.c
+++ b/hw/usb/ccid-card-passthru.c
@@ -65,8 +65,8 @@ struct PassthruState {
};
#define TYPE_CCID_PASSTHRU "ccid-card-passthru"
-#define PASSTHRU_CCID_CARD(obj) \
- OBJECT_CHECK(PassthruState, (obj), TYPE_CCID_PASSTHRU)
+DECLARE_INSTANCE_CHECKER(PassthruState, PASSTHRU_CCID_CARD,
+ TYPE_CCID_PASSTHRU)
/*
* VSCard protocol over chardev
diff --git a/hw/usb/ccid.h b/hw/usb/ccid.h
index b992d2ccf8..ef2bb3462d 100644
--- a/hw/usb/ccid.h
+++ b/hw/usb/ccid.h
@@ -18,12 +18,8 @@ typedef struct CCIDCardInfo CCIDCardInfo;
#define TYPE_CCID_CARD "ccid-card"
typedef struct CCIDCardClass CCIDCardClass;
-#define CCID_CARD(obj) \
- OBJECT_CHECK(CCIDCardState, (obj), TYPE_CCID_CARD)
-#define CCID_CARD_CLASS(klass) \
- OBJECT_CLASS_CHECK(CCIDCardClass, (klass), TYPE_CCID_CARD)
-#define CCID_CARD_GET_CLASS(obj) \
- OBJECT_GET_CLASS(CCIDCardClass, (obj), TYPE_CCID_CARD)
+DECLARE_OBJ_CHECKERS(CCIDCardState, CCIDCardClass,
+ CCID_CARD, TYPE_CCID_CARD)
/*
* callbacks to be used by the CCID device (hw/usb-ccid.c) to call
diff --git a/hw/usb/dev-audio.c b/hw/usb/dev-audio.c
index 3fc8addae1..65247ca799 100644
--- a/hw/usb/dev-audio.c
+++ b/hw/usb/dev-audio.c
@@ -657,7 +657,8 @@ struct USBAudioState {
typedef struct USBAudioState USBAudioState;
#define TYPE_USB_AUDIO "usb-audio"
-#define USB_AUDIO(obj) OBJECT_CHECK(USBAudioState, (obj), TYPE_USB_AUDIO)
+DECLARE_INSTANCE_CHECKER(USBAudioState, USB_AUDIO,
+ TYPE_USB_AUDIO)
static void output_callback(void *opaque, int avail)
{
diff --git a/hw/usb/dev-hid.c b/hw/usb/dev-hid.c
index 4d1de647bc..05cfe6baca 100644
--- a/hw/usb/dev-hid.c
+++ b/hw/usb/dev-hid.c
@@ -47,7 +47,8 @@ struct USBHIDState {
typedef struct USBHIDState USBHIDState;
#define TYPE_USB_HID "usb-hid"
-#define USB_HID(obj) OBJECT_CHECK(USBHIDState, (obj), TYPE_USB_HID)
+DECLARE_INSTANCE_CHECKER(USBHIDState, USB_HID,
+ TYPE_USB_HID)
enum {
STR_MANUFACTURER = 1,
diff --git a/hw/usb/dev-hub.c b/hw/usb/dev-hub.c
index 07e395aa5f..7a182f9bec 100644
--- a/hw/usb/dev-hub.c
+++ b/hw/usb/dev-hub.c
@@ -53,7 +53,8 @@ struct USBHubState {
typedef struct USBHubState USBHubState;
#define TYPE_USB_HUB "usb-hub"
-#define USB_HUB(obj) OBJECT_CHECK(USBHubState, (obj), TYPE_USB_HUB)
+DECLARE_INSTANCE_CHECKER(USBHubState, USB_HUB,
+ TYPE_USB_HUB)
#define ClearHubFeature (0x2000 | USB_REQ_CLEAR_FEATURE)
#define ClearPortFeature (0x2300 | USB_REQ_CLEAR_FEATURE)
diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c
index 6df70a0844..c61c0e0878 100644
--- a/hw/usb/dev-mtp.c
+++ b/hw/usb/dev-mtp.c
@@ -238,7 +238,8 @@ typedef struct {
} QEMU_PACKED ObjectInfo;
#define TYPE_USB_MTP "usb-mtp"
-#define USB_MTP(obj) OBJECT_CHECK(MTPState, (obj), TYPE_USB_MTP)
+DECLARE_INSTANCE_CHECKER(MTPState, USB_MTP,
+ TYPE_USB_MTP)
#define QEMU_STORAGE_ID 0x00010001
diff --git a/hw/usb/dev-network.c b/hw/usb/dev-network.c
index b60f8e52f5..cd32f57685 100644
--- a/hw/usb/dev-network.c
+++ b/hw/usb/dev-network.c
@@ -656,7 +656,8 @@ struct USBNetState {
typedef struct USBNetState USBNetState;
#define TYPE_USB_NET "usb-net"
-#define USB_NET(obj) OBJECT_CHECK(USBNetState, (obj), TYPE_USB_NET)
+DECLARE_INSTANCE_CHECKER(USBNetState, USB_NET,
+ TYPE_USB_NET)
static int is_rndis(USBNetState *s)
{
diff --git a/hw/usb/dev-serial.c b/hw/usb/dev-serial.c
index 8f13f2fd31..1a58851d4b 100644
--- a/hw/usb/dev-serial.c
+++ b/hw/usb/dev-serial.c
@@ -113,7 +113,8 @@ struct USBSerialState {
typedef struct USBSerialState USBSerialState;
#define TYPE_USB_SERIAL "usb-serial-dev"
-#define USB_SERIAL_DEV(obj) OBJECT_CHECK(USBSerialState, (obj), TYPE_USB_SERIAL)
+DECLARE_INSTANCE_CHECKER(USBSerialState, USB_SERIAL_DEV,
+ TYPE_USB_SERIAL)
enum {
STR_MANUFACTURER = 1,
diff --git a/hw/usb/dev-smartcard-reader.c b/hw/usb/dev-smartcard-reader.c
index a9898187b8..432508c478 100644
--- a/hw/usb/dev-smartcard-reader.c
+++ b/hw/usb/dev-smartcard-reader.c
@@ -62,7 +62,8 @@ do { \
#define CCID_DEV_NAME "usb-ccid"
typedef struct USBCCIDState USBCCIDState;
-#define USB_CCID_DEV(obj) OBJECT_CHECK(USBCCIDState, (obj), CCID_DEV_NAME)
+DECLARE_INSTANCE_CHECKER(USBCCIDState, USB_CCID_DEV,
+ CCID_DEV_NAME)
/*
* The two options for variable sized buffers:
* make them constant size, for large enough constant,
@@ -1176,7 +1177,8 @@ static Property ccid_props[] = {
};
#define TYPE_CCID_BUS "ccid-bus"
-#define CCID_BUS(obj) OBJECT_CHECK(CCIDBus, (obj), TYPE_CCID_BUS)
+DECLARE_INSTANCE_CHECKER(CCIDBus, CCID_BUS,
+ TYPE_CCID_BUS)
static const TypeInfo ccid_bus_info = {
.name = TYPE_CCID_BUS,
diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c
index 55a04293a4..648340323f 100644
--- a/hw/usb/dev-storage.c
+++ b/hw/usb/dev-storage.c
@@ -70,7 +70,8 @@ struct MSDState {
typedef struct MSDState MSDState;
#define TYPE_USB_STORAGE "usb-storage-dev"
-#define USB_STORAGE_DEV(obj) OBJECT_CHECK(MSDState, (obj), TYPE_USB_STORAGE)
+DECLARE_INSTANCE_CHECKER(MSDState, USB_STORAGE_DEV,
+ TYPE_USB_STORAGE)
struct usb_msd_cbw {
uint32_t sig;
diff --git a/hw/usb/dev-uas.c b/hw/usb/dev-uas.c
index 1d27bb942b..c36c8e7820 100644
--- a/hw/usb/dev-uas.c
+++ b/hw/usb/dev-uas.c
@@ -133,7 +133,8 @@ struct UASDevice {
};
#define TYPE_USB_UAS "usb-uas"
-#define USB_UAS(obj) OBJECT_CHECK(UASDevice, (obj), TYPE_USB_UAS)
+DECLARE_INSTANCE_CHECKER(UASDevice, USB_UAS,
+ TYPE_USB_UAS)
struct UASRequest {
uint16_t tag;
diff --git a/hw/usb/dev-wacom.c b/hw/usb/dev-wacom.c
index e2dae6a86d..85c4d827bf 100644
--- a/hw/usb/dev-wacom.c
+++ b/hw/usb/dev-wacom.c
@@ -56,7 +56,8 @@ struct USBWacomState {
typedef struct USBWacomState USBWacomState;
#define TYPE_USB_WACOM "usb-wacom-tablet"
-#define USB_WACOM(obj) OBJECT_CHECK(USBWacomState, (obj), TYPE_USB_WACOM)
+DECLARE_INSTANCE_CHECKER(USBWacomState, USB_WACOM,
+ TYPE_USB_WACOM)
enum {
STR_MANUFACTURER = 1,
diff --git a/hw/usb/hcd-dwc2.h b/hw/usb/hcd-dwc2.h
index 71b40f0d8a..919e3e43b1 100644
--- a/hw/usb/hcd-dwc2.h
+++ b/hw/usb/hcd-dwc2.h
@@ -181,11 +181,7 @@ struct DWC2Class {
};
#define TYPE_DWC2_USB "dwc2-usb"
-#define DWC2_USB(obj) \
- OBJECT_CHECK(DWC2State, (obj), TYPE_DWC2_USB)
-#define DWC2_USB_CLASS(klass) \
- OBJECT_CLASS_CHECK(DWC2Class, (klass), TYPE_DWC2_USB)
-#define DWC2_USB_GET_CLASS(obj) \
- OBJECT_GET_CLASS(DWC2Class, (obj), TYPE_DWC2_USB)
+DECLARE_OBJ_CHECKERS(DWC2State, DWC2Class,
+ DWC2_USB, TYPE_DWC2_USB)
#endif
diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h
index c12c9bae46..1301ce0be7 100644
--- a/hw/usb/hcd-ehci.h
+++ b/hw/usb/hcd-ehci.h
@@ -330,7 +330,8 @@ void ehci_reset(void *opaque);
#define TYPE_PCI_EHCI "pci-ehci-usb"
typedef struct EHCIPCIState EHCIPCIState;
-#define PCI_EHCI(obj) OBJECT_CHECK(EHCIPCIState, (obj), TYPE_PCI_EHCI)
+DECLARE_INSTANCE_CHECKER(EHCIPCIState, PCI_EHCI,
+ TYPE_PCI_EHCI)
struct EHCIPCIState {
/*< private >*/
@@ -351,12 +352,8 @@ struct EHCIPCIState {
typedef struct EHCISysBusState EHCISysBusState;
typedef struct SysBusEHCIClass SysBusEHCIClass;
-#define SYS_BUS_EHCI(obj) \
- OBJECT_CHECK(EHCISysBusState, (obj), TYPE_SYS_BUS_EHCI)
-#define SYS_BUS_EHCI_CLASS(class) \
- OBJECT_CLASS_CHECK(SysBusEHCIClass, (class), TYPE_SYS_BUS_EHCI)
-#define SYS_BUS_EHCI_GET_CLASS(obj) \
- OBJECT_GET_CLASS(SysBusEHCIClass, (obj), TYPE_SYS_BUS_EHCI)
+DECLARE_OBJ_CHECKERS(EHCISysBusState, SysBusEHCIClass,
+ SYS_BUS_EHCI, TYPE_SYS_BUS_EHCI)
struct EHCISysBusState {
/*< private >*/
@@ -378,8 +375,8 @@ struct SysBusEHCIClass {
};
typedef struct FUSBH200EHCIState FUSBH200EHCIState;
-#define FUSBH200_EHCI(obj) \
- OBJECT_CHECK(FUSBH200EHCIState, (obj), TYPE_FUSBH200_EHCI)
+DECLARE_INSTANCE_CHECKER(FUSBH200EHCIState, FUSBH200_EHCI,
+ TYPE_FUSBH200_EHCI)
struct FUSBH200EHCIState {
/*< private >*/
diff --git a/hw/usb/hcd-ohci-pci.c b/hw/usb/hcd-ohci-pci.c
index 82fe967196..f8168a06a3 100644
--- a/hw/usb/hcd-ohci-pci.c
+++ b/hw/usb/hcd-ohci-pci.c
@@ -33,7 +33,8 @@
#define TYPE_PCI_OHCI "pci-ohci"
typedef struct OHCIPCIState OHCIPCIState;
-#define PCI_OHCI(obj) OBJECT_CHECK(OHCIPCIState, (obj), TYPE_PCI_OHCI)
+DECLARE_INSTANCE_CHECKER(OHCIPCIState, PCI_OHCI,
+ TYPE_PCI_OHCI)
struct OHCIPCIState {
/*< private >*/
diff --git a/hw/usb/hcd-ohci.h b/hw/usb/hcd-ohci.h
index 3e9053fb26..6e28e97839 100644
--- a/hw/usb/hcd-ohci.h
+++ b/hw/usb/hcd-ohci.h
@@ -94,7 +94,8 @@ typedef struct OHCIState {
#define TYPE_SYSBUS_OHCI "sysbus-ohci"
typedef struct OHCISysBusState OHCISysBusState;
-#define SYSBUS_OHCI(obj) OBJECT_CHECK(OHCISysBusState, (obj), TYPE_SYSBUS_OHCI)
+DECLARE_INSTANCE_CHECKER(OHCISysBusState, SYSBUS_OHCI,
+ TYPE_SYSBUS_OHCI)
struct OHCISysBusState {
/*< private >*/
diff --git a/hw/usb/hcd-uhci.c b/hw/usb/hcd-uhci.c
index 31ec5f4702..27ca237d71 100644
--- a/hw/usb/hcd-uhci.c
+++ b/hw/usb/hcd-uhci.c
@@ -161,7 +161,8 @@ static void uhci_queue_fill(UHCIQueue *q, UHCI_TD *td);
static void uhci_resume(void *opaque);
#define TYPE_UHCI "pci-uhci-usb"
-#define UHCI(obj) OBJECT_CHECK(UHCIState, (obj), TYPE_UHCI)
+DECLARE_INSTANCE_CHECKER(UHCIState, UHCI,
+ TYPE_UHCI)
static inline int32_t uhci_queue_token(UHCI_TD *td)
{
diff --git a/hw/usb/hcd-xhci.h b/hw/usb/hcd-xhci.h
index 867388a061..2110c0399e 100644
--- a/hw/usb/hcd-xhci.h
+++ b/hw/usb/hcd-xhci.h
@@ -28,8 +28,8 @@
#define TYPE_QEMU_XHCI "qemu-xhci"
typedef struct XHCIState XHCIState;
-#define XHCI(obj) \
- OBJECT_CHECK(XHCIState, (obj), TYPE_XHCI)
+DECLARE_INSTANCE_CHECKER(XHCIState, XHCI,
+ TYPE_XHCI)
#define MAXPORTS_2 15
#define MAXPORTS_3 15
diff --git a/hw/usb/host-libusb.c b/hw/usb/host-libusb.c
index 30779c8ff4..2ba1de68df 100644
--- a/hw/usb/host-libusb.c
+++ b/hw/usb/host-libusb.c
@@ -62,8 +62,8 @@
#define TYPE_USB_HOST_DEVICE "usb-host"
typedef struct USBHostDevice USBHostDevice;
-#define USB_HOST_DEVICE(obj) \
- OBJECT_CHECK(USBHostDevice, (obj), TYPE_USB_HOST_DEVICE)
+DECLARE_INSTANCE_CHECKER(USBHostDevice, USB_HOST_DEVICE,
+ TYPE_USB_HOST_DEVICE)
typedef struct USBHostRequest USBHostRequest;
typedef struct USBHostIsoXfer USBHostIsoXfer;
diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
index 344fdc3d66..a079ecd50c 100644
--- a/hw/usb/redirect.c
+++ b/hw/usb/redirect.c
@@ -145,7 +145,8 @@ struct USBRedirDevice {
};
#define TYPE_USB_REDIR "usb-redir"
-#define USB_REDIRECT(obj) OBJECT_CHECK(USBRedirDevice, (obj), TYPE_USB_REDIR)
+DECLARE_INSTANCE_CHECKER(USBRedirDevice, USB_REDIRECT,
+ TYPE_USB_REDIR)
static void usbredir_hello(void *priv, struct usb_redir_hello_header *h);
static void usbredir_device_connect(void *priv,
diff --git a/hw/usb/tusb6010.c b/hw/usb/tusb6010.c
index a15ee515d7..2bee3ae59f 100644
--- a/hw/usb/tusb6010.c
+++ b/hw/usb/tusb6010.c
@@ -32,7 +32,8 @@
#define TYPE_TUSB6010 "tusb6010"
typedef struct TUSBState TUSBState;
-#define TUSB(obj) OBJECT_CHECK(TUSBState, (obj), TYPE_TUSB6010)
+DECLARE_INSTANCE_CHECKER(TUSBState, TUSB,
+ TYPE_TUSB6010)
struct TUSBState {
SysBusDevice parent_obj;
diff --git a/hw/vfio/ap.c b/hw/vfio/ap.c
index eb74e57b23..f399ec0a31 100644
--- a/hw/vfio/ap.c
+++ b/hw/vfio/ap.c
@@ -38,8 +38,8 @@ struct VFIOAPDevice {
};
typedef struct VFIOAPDevice VFIOAPDevice;
-#define VFIO_AP_DEVICE(obj) \
- OBJECT_CHECK(VFIOAPDevice, (obj), VFIO_AP_DEVICE_TYPE)
+DECLARE_INSTANCE_CHECKER(VFIOAPDevice, VFIO_AP_DEVICE,
+ VFIO_AP_DEVICE_TYPE)
static void vfio_ap_compute_needs_reset(VFIODevice *vdev)
{
diff --git a/hw/vfio/pci.h b/hw/vfio/pci.h
index 8c1f94118a..846d60e56c 100644
--- a/hw/vfio/pci.h
+++ b/hw/vfio/pci.h
@@ -116,7 +116,8 @@ typedef struct VFIOMSIXInfo {
#define TYPE_VFIO_PCI "vfio-pci"
typedef struct VFIOPCIDevice VFIOPCIDevice;
-#define PCI_VFIO(obj) OBJECT_CHECK(VFIOPCIDevice, obj, TYPE_VFIO_PCI)
+DECLARE_INSTANCE_CHECKER(VFIOPCIDevice, PCI_VFIO,
+ TYPE_VFIO_PCI)
struct VFIOPCIDevice {
PCIDevice pdev;
diff --git a/hw/virtio/vhost-scsi-pci.c b/hw/virtio/vhost-scsi-pci.c
index b30a04d7cd..cb71a294fa 100644
--- a/hw/virtio/vhost-scsi-pci.c
+++ b/hw/virtio/vhost-scsi-pci.c
@@ -30,8 +30,8 @@ typedef struct VHostSCSIPCI VHostSCSIPCI;
* vhost-scsi-pci: This extends VirtioPCIProxy.
*/
#define TYPE_VHOST_SCSI_PCI "vhost-scsi-pci-base"
-#define VHOST_SCSI_PCI(obj) \
- OBJECT_CHECK(VHostSCSIPCI, (obj), TYPE_VHOST_SCSI_PCI)
+DECLARE_INSTANCE_CHECKER(VHostSCSIPCI, VHOST_SCSI_PCI,
+ TYPE_VHOST_SCSI_PCI)
struct VHostSCSIPCI {
VirtIOPCIProxy parent_obj;
diff --git a/hw/virtio/vhost-user-blk-pci.c b/hw/virtio/vhost-user-blk-pci.c
index 51d0858281..33b404d8a2 100644
--- a/hw/virtio/vhost-user-blk-pci.c
+++ b/hw/virtio/vhost-user-blk-pci.c
@@ -35,8 +35,8 @@ typedef struct VHostUserBlkPCI VHostUserBlkPCI;
* vhost-user-blk-pci: This extends VirtioPCIProxy.
*/
#define TYPE_VHOST_USER_BLK_PCI "vhost-user-blk-pci-base"
-#define VHOST_USER_BLK_PCI(obj) \
- OBJECT_CHECK(VHostUserBlkPCI, (obj), TYPE_VHOST_USER_BLK_PCI)
+DECLARE_INSTANCE_CHECKER(VHostUserBlkPCI, VHOST_USER_BLK_PCI,
+ TYPE_VHOST_USER_BLK_PCI)
struct VHostUserBlkPCI {
VirtIOPCIProxy parent_obj;
diff --git a/hw/virtio/vhost-user-fs-pci.c b/hw/virtio/vhost-user-fs-pci.c
index 6b01561c2f..8bb389bd28 100644
--- a/hw/virtio/vhost-user-fs-pci.c
+++ b/hw/virtio/vhost-user-fs-pci.c
@@ -26,8 +26,8 @@ typedef struct VHostUserFSPCI VHostUserFSPCI;
#define TYPE_VHOST_USER_FS_PCI "vhost-user-fs-pci-base"
-#define VHOST_USER_FS_PCI(obj) \
- OBJECT_CHECK(VHostUserFSPCI, (obj), TYPE_VHOST_USER_FS_PCI)
+DECLARE_INSTANCE_CHECKER(VHostUserFSPCI, VHOST_USER_FS_PCI,
+ TYPE_VHOST_USER_FS_PCI)
static Property vhost_user_fs_pci_properties[] = {
DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors,
diff --git a/hw/virtio/vhost-user-input-pci.c b/hw/virtio/vhost-user-input-pci.c
index b072fb576a..c9d3e9113a 100644
--- a/hw/virtio/vhost-user-input-pci.c
+++ b/hw/virtio/vhost-user-input-pci.c
@@ -16,8 +16,8 @@ typedef struct VHostUserInputPCI VHostUserInputPCI;
#define TYPE_VHOST_USER_INPUT_PCI "vhost-user-input-pci"
-#define VHOST_USER_INPUT_PCI(obj) \
- OBJECT_CHECK(VHostUserInputPCI, (obj), TYPE_VHOST_USER_INPUT_PCI)
+DECLARE_INSTANCE_CHECKER(VHostUserInputPCI, VHOST_USER_INPUT_PCI,
+ TYPE_VHOST_USER_INPUT_PCI)
struct VHostUserInputPCI {
VirtIOPCIProxy parent_obj;
diff --git a/hw/virtio/vhost-user-scsi-pci.c b/hw/virtio/vhost-user-scsi-pci.c
index 773104e351..d5343412a1 100644
--- a/hw/virtio/vhost-user-scsi-pci.c
+++ b/hw/virtio/vhost-user-scsi-pci.c
@@ -36,8 +36,8 @@
typedef struct VHostUserSCSIPCI VHostUserSCSIPCI;
#define TYPE_VHOST_USER_SCSI_PCI "vhost-user-scsi-pci-base"
-#define VHOST_USER_SCSI_PCI(obj) \
- OBJECT_CHECK(VHostUserSCSIPCI, (obj), TYPE_VHOST_USER_SCSI_PCI)
+DECLARE_INSTANCE_CHECKER(VHostUserSCSIPCI, VHOST_USER_SCSI_PCI,
+ TYPE_VHOST_USER_SCSI_PCI)
struct VHostUserSCSIPCI {
VirtIOPCIProxy parent_obj;
diff --git a/hw/virtio/vhost-user-vsock-pci.c b/hw/virtio/vhost-user-vsock-pci.c
index 65bfc91d2d..763f89984e 100644
--- a/hw/virtio/vhost-user-vsock-pci.c
+++ b/hw/virtio/vhost-user-vsock-pci.c
@@ -21,8 +21,8 @@ typedef struct VHostUserVSockPCI VHostUserVSockPCI;
* vhost-user-vsock-pci: This extends VirtioPCIProxy.
*/
#define TYPE_VHOST_USER_VSOCK_PCI "vhost-user-vsock-pci-base"
-#define VHOST_USER_VSOCK_PCI(obj) \
- OBJECT_CHECK(VHostUserVSockPCI, (obj), TYPE_VHOST_USER_VSOCK_PCI)
+DECLARE_INSTANCE_CHECKER(VHostUserVSockPCI, VHOST_USER_VSOCK_PCI,
+ TYPE_VHOST_USER_VSOCK_PCI)
struct VHostUserVSockPCI {
VirtIOPCIProxy parent_obj;
diff --git a/hw/virtio/vhost-vsock-pci.c b/hw/virtio/vhost-vsock-pci.c
index 49fcddcb5a..e56067b427 100644
--- a/hw/virtio/vhost-vsock-pci.c
+++ b/hw/virtio/vhost-vsock-pci.c
@@ -25,8 +25,8 @@ typedef struct VHostVSockPCI VHostVSockPCI;
* vhost-vsock-pci: This extends VirtioPCIProxy.
*/
#define TYPE_VHOST_VSOCK_PCI "vhost-vsock-pci-base"
-#define VHOST_VSOCK_PCI(obj) \
- OBJECT_CHECK(VHostVSockPCI, (obj), TYPE_VHOST_VSOCK_PCI)
+DECLARE_INSTANCE_CHECKER(VHostVSockPCI, VHOST_VSOCK_PCI,
+ TYPE_VHOST_VSOCK_PCI)
struct VHostVSockPCI {
VirtIOPCIProxy parent_obj;
diff --git a/hw/virtio/virtio-9p-pci.c b/hw/virtio/virtio-9p-pci.c
index 8ea357b868..e07adcd9ea 100644
--- a/hw/virtio/virtio-9p-pci.c
+++ b/hw/virtio/virtio-9p-pci.c
@@ -27,8 +27,8 @@
#define TYPE_VIRTIO_9P_PCI "virtio-9p-pci-base"
typedef struct V9fsPCIState V9fsPCIState;
-#define VIRTIO_9P_PCI(obj) \
- OBJECT_CHECK(V9fsPCIState, (obj), TYPE_VIRTIO_9P_PCI)
+DECLARE_INSTANCE_CHECKER(V9fsPCIState, VIRTIO_9P_PCI,
+ TYPE_VIRTIO_9P_PCI)
struct V9fsPCIState {
VirtIOPCIProxy parent_obj;
diff --git a/hw/virtio/virtio-balloon-pci.c b/hw/virtio/virtio-balloon-pci.c
index 35378c7309..a2c5cc7207 100644
--- a/hw/virtio/virtio-balloon-pci.c
+++ b/hw/virtio/virtio-balloon-pci.c
@@ -27,8 +27,8 @@ typedef struct VirtIOBalloonPCI VirtIOBalloonPCI;
* virtio-balloon-pci: This extends VirtioPCIProxy.
*/
#define TYPE_VIRTIO_BALLOON_PCI "virtio-balloon-pci-base"
-#define VIRTIO_BALLOON_PCI(obj) \
- OBJECT_CHECK(VirtIOBalloonPCI, (obj), TYPE_VIRTIO_BALLOON_PCI)
+DECLARE_INSTANCE_CHECKER(VirtIOBalloonPCI, VIRTIO_BALLOON_PCI,
+ TYPE_VIRTIO_BALLOON_PCI)
struct VirtIOBalloonPCI {
VirtIOPCIProxy parent_obj;
diff --git a/hw/virtio/virtio-blk-pci.c b/hw/virtio/virtio-blk-pci.c
index a2aa614ef4..9d5795810c 100644
--- a/hw/virtio/virtio-blk-pci.c
+++ b/hw/virtio/virtio-blk-pci.c
@@ -30,8 +30,8 @@ typedef struct VirtIOBlkPCI VirtIOBlkPCI;
* virtio-blk-pci: This extends VirtioPCIProxy.
*/
#define TYPE_VIRTIO_BLK_PCI "virtio-blk-pci-base"
-#define VIRTIO_BLK_PCI(obj) \
- OBJECT_CHECK(VirtIOBlkPCI, (obj), TYPE_VIRTIO_BLK_PCI)
+DECLARE_INSTANCE_CHECKER(VirtIOBlkPCI, VIRTIO_BLK_PCI,
+ TYPE_VIRTIO_BLK_PCI)
struct VirtIOBlkPCI {
VirtIOPCIProxy parent_obj;
diff --git a/hw/virtio/virtio-crypto-pci.c b/hw/virtio/virtio-crypto-pci.c
index 518a87a36e..0783dc2f7e 100644
--- a/hw/virtio/virtio-crypto-pci.c
+++ b/hw/virtio/virtio-crypto-pci.c
@@ -29,8 +29,8 @@ typedef struct VirtIOCryptoPCI VirtIOCryptoPCI;
* virtio-crypto-pci: This extends VirtioPCIProxy.
*/
#define TYPE_VIRTIO_CRYPTO_PCI "virtio-crypto-pci"
-#define VIRTIO_CRYPTO_PCI(obj) \
- OBJECT_CHECK(VirtIOCryptoPCI, (obj), TYPE_VIRTIO_CRYPTO_PCI)
+DECLARE_INSTANCE_CHECKER(VirtIOCryptoPCI, VIRTIO_CRYPTO_PCI,
+ TYPE_VIRTIO_CRYPTO_PCI)
struct VirtIOCryptoPCI {
VirtIOPCIProxy parent_obj;
diff --git a/hw/virtio/virtio-input-host-pci.c b/hw/virtio/virtio-input-host-pci.c
index 4d8479c92e..0ac360de4f 100644
--- a/hw/virtio/virtio-input-host-pci.c
+++ b/hw/virtio/virtio-input-host-pci.c
@@ -16,8 +16,8 @@
typedef struct VirtIOInputHostPCI VirtIOInputHostPCI;
#define TYPE_VIRTIO_INPUT_HOST_PCI "virtio-input-host-pci"
-#define VIRTIO_INPUT_HOST_PCI(obj) \
- OBJECT_CHECK(VirtIOInputHostPCI, (obj), TYPE_VIRTIO_INPUT_HOST_PCI)
+DECLARE_INSTANCE_CHECKER(VirtIOInputHostPCI, VIRTIO_INPUT_HOST_PCI,
+ TYPE_VIRTIO_INPUT_HOST_PCI)
struct VirtIOInputHostPCI {
VirtIOPCIProxy parent_obj;
diff --git a/hw/virtio/virtio-input-pci.c b/hw/virtio/virtio-input-pci.c
index 429dd4d7ab..85acd3d2eb 100644
--- a/hw/virtio/virtio-input-pci.c
+++ b/hw/virtio/virtio-input-pci.c
@@ -20,8 +20,8 @@ typedef struct VirtIOInputHIDPCI VirtIOInputHIDPCI;
/*
* virtio-input-pci: This extends VirtioPCIProxy.
*/
-#define VIRTIO_INPUT_PCI(obj) \
- OBJECT_CHECK(VirtIOInputPCI, (obj), TYPE_VIRTIO_INPUT_PCI)
+DECLARE_INSTANCE_CHECKER(VirtIOInputPCI, VIRTIO_INPUT_PCI,
+ TYPE_VIRTIO_INPUT_PCI)
struct VirtIOInputPCI {
VirtIOPCIProxy parent_obj;
@@ -32,8 +32,8 @@ struct VirtIOInputPCI {
#define TYPE_VIRTIO_KEYBOARD_PCI "virtio-keyboard-pci"
#define TYPE_VIRTIO_MOUSE_PCI "virtio-mouse-pci"
#define TYPE_VIRTIO_TABLET_PCI "virtio-tablet-pci"
-#define VIRTIO_INPUT_HID_PCI(obj) \
- OBJECT_CHECK(VirtIOInputHIDPCI, (obj), TYPE_VIRTIO_INPUT_HID_PCI)
+DECLARE_INSTANCE_CHECKER(VirtIOInputHIDPCI, VIRTIO_INPUT_HID_PCI,
+ TYPE_VIRTIO_INPUT_HID_PCI)
struct VirtIOInputHIDPCI {
VirtIOPCIProxy parent_obj;
diff --git a/hw/virtio/virtio-iommu-pci.c b/hw/virtio/virtio-iommu-pci.c
index 17451f5a78..76540e57b1 100644
--- a/hw/virtio/virtio-iommu-pci.c
+++ b/hw/virtio/virtio-iommu-pci.c
@@ -24,8 +24,8 @@ typedef struct VirtIOIOMMUPCI VirtIOIOMMUPCI;
* virtio-iommu-pci: This extends VirtioPCIProxy.
*
*/
-#define VIRTIO_IOMMU_PCI(obj) \
- OBJECT_CHECK(VirtIOIOMMUPCI, (obj), TYPE_VIRTIO_IOMMU_PCI)
+DECLARE_INSTANCE_CHECKER(VirtIOIOMMUPCI, VIRTIO_IOMMU_PCI,
+ TYPE_VIRTIO_IOMMU_PCI)
struct VirtIOIOMMUPCI {
VirtIOPCIProxy parent_obj;
diff --git a/hw/virtio/virtio-mem-pci.h b/hw/virtio/virtio-mem-pci.h
index 65b86beac7..e636e1a48d 100644
--- a/hw/virtio/virtio-mem-pci.h
+++ b/hw/virtio/virtio-mem-pci.h
@@ -23,8 +23,8 @@ typedef struct VirtIOMEMPCI VirtIOMEMPCI;
* virtio-mem-pci: This extends VirtioPCIProxy.
*/
#define TYPE_VIRTIO_MEM_PCI "virtio-mem-pci-base"
-#define VIRTIO_MEM_PCI(obj) \
- OBJECT_CHECK(VirtIOMEMPCI, (obj), TYPE_VIRTIO_MEM_PCI)
+DECLARE_INSTANCE_CHECKER(VirtIOMEMPCI, VIRTIO_MEM_PCI,
+ TYPE_VIRTIO_MEM_PCI)
struct VirtIOMEMPCI {
VirtIOPCIProxy parent_obj;
diff --git a/hw/virtio/virtio-net-pci.c b/hw/virtio/virtio-net-pci.c
index 498fc02d8f..292d13d278 100644
--- a/hw/virtio/virtio-net-pci.c
+++ b/hw/virtio/virtio-net-pci.c
@@ -30,8 +30,8 @@ typedef struct VirtIONetPCI VirtIONetPCI;
* virtio-net-pci: This extends VirtioPCIProxy.
*/
#define TYPE_VIRTIO_NET_PCI "virtio-net-pci-base"
-#define VIRTIO_NET_PCI(obj) \
- OBJECT_CHECK(VirtIONetPCI, (obj), TYPE_VIRTIO_NET_PCI)
+DECLARE_INSTANCE_CHECKER(VirtIONetPCI, VIRTIO_NET_PCI,
+ TYPE_VIRTIO_NET_PCI)
struct VirtIONetPCI {
VirtIOPCIProxy parent_obj;
diff --git a/hw/virtio/virtio-pci.h b/hw/virtio/virtio-pci.h
index d59ac97430..47b6bb4e26 100644
--- a/hw/virtio/virtio-pci.h
+++ b/hw/virtio/virtio-pci.h
@@ -27,12 +27,8 @@ typedef struct VirtioBusState VirtioPCIBusState;
typedef struct VirtioBusClass VirtioPCIBusClass;
#define TYPE_VIRTIO_PCI_BUS "virtio-pci-bus"
-#define VIRTIO_PCI_BUS(obj) \
- OBJECT_CHECK(VirtioPCIBusState, (obj), TYPE_VIRTIO_PCI_BUS)
-#define VIRTIO_PCI_BUS_GET_CLASS(obj) \
- OBJECT_GET_CLASS(VirtioPCIBusClass, obj, TYPE_VIRTIO_PCI_BUS)
-#define VIRTIO_PCI_BUS_CLASS(klass) \
- OBJECT_CLASS_CHECK(VirtioPCIBusClass, klass, TYPE_VIRTIO_PCI_BUS)
+DECLARE_OBJ_CHECKERS(VirtioPCIBusState, VirtioPCIBusClass,
+ VIRTIO_PCI_BUS, TYPE_VIRTIO_PCI_BUS)
enum {
VIRTIO_PCI_FLAG_BUS_MASTER_BUG_MIGRATION_BIT,
@@ -96,12 +92,8 @@ typedef struct {
*/
#define TYPE_VIRTIO_PCI "virtio-pci"
typedef struct VirtioPCIClass VirtioPCIClass;
-#define VIRTIO_PCI_GET_CLASS(obj) \
- OBJECT_GET_CLASS(VirtioPCIClass, obj, TYPE_VIRTIO_PCI)
-#define VIRTIO_PCI_CLASS(klass) \
- OBJECT_CLASS_CHECK(VirtioPCIClass, klass, TYPE_VIRTIO_PCI)
-#define VIRTIO_PCI(obj) \
- OBJECT_CHECK(VirtIOPCIProxy, (obj), TYPE_VIRTIO_PCI)
+DECLARE_OBJ_CHECKERS(VirtIOPCIProxy, VirtioPCIClass,
+ VIRTIO_PCI, TYPE_VIRTIO_PCI)
struct VirtioPCIClass {
PCIDeviceClass parent_class;
diff --git a/hw/virtio/virtio-pmem-pci.h b/hw/virtio/virtio-pmem-pci.h
index 5ac8099637..63cfe727f7 100644
--- a/hw/virtio/virtio-pmem-pci.h
+++ b/hw/virtio/virtio-pmem-pci.h
@@ -24,8 +24,8 @@ typedef struct VirtIOPMEMPCI VirtIOPMEMPCI;
* virtio-pmem-pci: This extends VirtioPCIProxy.
*/
#define TYPE_VIRTIO_PMEM_PCI "virtio-pmem-pci-base"
-#define VIRTIO_PMEM_PCI(obj) \
- OBJECT_CHECK(VirtIOPMEMPCI, (obj), TYPE_VIRTIO_PMEM_PCI)
+DECLARE_INSTANCE_CHECKER(VirtIOPMEMPCI, VIRTIO_PMEM_PCI,
+ TYPE_VIRTIO_PMEM_PCI)
struct VirtIOPMEMPCI {
VirtIOPCIProxy parent_obj;
diff --git a/hw/virtio/virtio-rng-pci.c b/hw/virtio/virtio-rng-pci.c
index 8f953dff83..c1f916268b 100644
--- a/hw/virtio/virtio-rng-pci.c
+++ b/hw/virtio/virtio-rng-pci.c
@@ -23,8 +23,8 @@ typedef struct VirtIORngPCI VirtIORngPCI;
* virtio-rng-pci: This extends VirtioPCIProxy.
*/
#define TYPE_VIRTIO_RNG_PCI "virtio-rng-pci-base"
-#define VIRTIO_RNG_PCI(obj) \
- OBJECT_CHECK(VirtIORngPCI, (obj), TYPE_VIRTIO_RNG_PCI)
+DECLARE_INSTANCE_CHECKER(VirtIORngPCI, VIRTIO_RNG_PCI,
+ TYPE_VIRTIO_RNG_PCI)
struct VirtIORngPCI {
VirtIOPCIProxy parent_obj;
diff --git a/hw/virtio/virtio-scsi-pci.c b/hw/virtio/virtio-scsi-pci.c
index 7a7ffa43f8..97fab74236 100644
--- a/hw/virtio/virtio-scsi-pci.c
+++ b/hw/virtio/virtio-scsi-pci.c
@@ -27,8 +27,8 @@ typedef struct VirtIOSCSIPCI VirtIOSCSIPCI;
* virtio-scsi-pci: This extends VirtioPCIProxy.
*/
#define TYPE_VIRTIO_SCSI_PCI "virtio-scsi-pci-base"
-#define VIRTIO_SCSI_PCI(obj) \
- OBJECT_CHECK(VirtIOSCSIPCI, (obj), TYPE_VIRTIO_SCSI_PCI)
+DECLARE_INSTANCE_CHECKER(VirtIOSCSIPCI, VIRTIO_SCSI_PCI,
+ TYPE_VIRTIO_SCSI_PCI)
struct VirtIOSCSIPCI {
VirtIOPCIProxy parent_obj;
diff --git a/hw/virtio/virtio-serial-pci.c b/hw/virtio/virtio-serial-pci.c
index 1bd769e88d..35bcd961c9 100644
--- a/hw/virtio/virtio-serial-pci.c
+++ b/hw/virtio/virtio-serial-pci.c
@@ -29,8 +29,8 @@ typedef struct VirtIOSerialPCI VirtIOSerialPCI;
* virtio-serial-pci: This extends VirtioPCIProxy.
*/
#define TYPE_VIRTIO_SERIAL_PCI "virtio-serial-pci-base"
-#define VIRTIO_SERIAL_PCI(obj) \
- OBJECT_CHECK(VirtIOSerialPCI, (obj), TYPE_VIRTIO_SERIAL_PCI)
+DECLARE_INSTANCE_CHECKER(VirtIOSerialPCI, VIRTIO_SERIAL_PCI,
+ TYPE_VIRTIO_SERIAL_PCI)
struct VirtIOSerialPCI {
VirtIOPCIProxy parent_obj;
diff --git a/hw/watchdog/wdt_i6300esb.c b/hw/watchdog/wdt_i6300esb.c
index eaa2b39ab8..4f64899a56 100644
--- a/hw/watchdog/wdt_i6300esb.c
+++ b/hw/watchdog/wdt_i6300esb.c
@@ -105,8 +105,8 @@ struct I6300State {
typedef struct I6300State I6300State;
#define TYPE_WATCHDOG_I6300ESB_DEVICE "i6300esb"
-#define WATCHDOG_I6300ESB_DEVICE(obj) \
- OBJECT_CHECK(I6300State, (obj), TYPE_WATCHDOG_I6300ESB_DEVICE)
+DECLARE_INSTANCE_CHECKER(I6300State, WATCHDOG_I6300ESB_DEVICE,
+ TYPE_WATCHDOG_I6300ESB_DEVICE)
/* This function is called when the watchdog has either been enabled
* (hence it starts counting down) or has been keep-alived.
diff --git a/hw/watchdog/wdt_ib700.c b/hw/watchdog/wdt_ib700.c
index 1a7a8f695f..177aaa503f 100644
--- a/hw/watchdog/wdt_ib700.c
+++ b/hw/watchdog/wdt_ib700.c
@@ -38,7 +38,8 @@
#define TYPE_IB700 "ib700"
typedef struct IB700state IB700State;
-#define IB700(obj) OBJECT_CHECK(IB700State, (obj), TYPE_IB700)
+DECLARE_INSTANCE_CHECKER(IB700State, IB700,
+ TYPE_IB700)
struct IB700state {
ISADevice parent_obj;
diff --git a/hw/xen/xen_pt.h b/hw/xen/xen_pt.h
index c367c7da27..f46971eac6 100644
--- a/hw/xen/xen_pt.h
+++ b/hw/xen/xen_pt.h
@@ -40,8 +40,8 @@ typedef struct XenPTReg XenPTReg;
typedef struct XenPCIPassthroughState XenPCIPassthroughState;
#define TYPE_XEN_PT_DEVICE "xen-pci-passthrough"
-#define XEN_PT_DEVICE(obj) \
- OBJECT_CHECK(XenPCIPassthroughState, (obj), TYPE_XEN_PT_DEVICE)
+DECLARE_INSTANCE_CHECKER(XenPCIPassthroughState, XEN_PT_DEVICE,
+ TYPE_XEN_PT_DEVICE)
uint32_t igd_read_opregion(XenPCIPassthroughState *s);
void igd_write_opregion(XenPCIPassthroughState *s, uint32_t val);