Use DECLARE_*CHECKER* macros
authorEduardo Habkost <ehabkost@redhat.com>
Mon, 31 Aug 2020 21:07:33 +0000 (17:07 -0400)
committerEduardo Habkost <ehabkost@redhat.com>
Wed, 9 Sep 2020 13:27:09 +0000 (09:27 -0400)
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>
791 files changed:
accel/tcg/tcg-all.c
backends/cryptodev-builtin.c
backends/cryptodev-vhost-user.c
backends/dbus-vmstate.c
backends/hostmem-file.c
backends/hostmem-memfd.c
backends/rng-builtin.c
backends/rng-egd.c
backends/tpm/tpm_emulator.c
backends/tpm/tpm_passthrough.c
chardev/baum.c
chardev/char-pty.c
chardev/char-ringbuf.c
chardev/char-socket.c
chardev/char-udp.c
chardev/char-win-stdio.c
chardev/chardev-internal.h
chardev/msmouse.c
chardev/testdev.c
chardev/wctablet.c
hw/9pfs/virtio-9p.h
hw/acpi/piix4.c
hw/alpha/typhoon.c
hw/arm/collie.c
hw/arm/highbank.c
hw/arm/integratorcp.c
hw/arm/microbit.c
hw/arm/mps2-tz.c
hw/arm/mps2.c
hw/arm/musca.c
hw/arm/musicpal.c
hw/arm/palm.c
hw/arm/pxa2xx.c
hw/arm/pxa2xx_gpio.c
hw/arm/pxa2xx_pic.c
hw/arm/raspi.c
hw/arm/sbsa-ref.c
hw/arm/spitz.c
hw/arm/stellaris.c
hw/arm/strongarm.c
hw/arm/tosa.c
hw/arm/versatilepb.c
hw/arm/vexpress.c
hw/arm/xilinx_zynq.c
hw/arm/xlnx-versal-virt.c
hw/arm/xlnx-zcu102.c
hw/arm/z2.c
hw/audio/ac97.c
hw/audio/adlib.c
hw/audio/cs4231.c
hw/audio/cs4231a.c
hw/audio/es1370.c
hw/audio/gus.c
hw/audio/hda-codec.c
hw/audio/intel-hda.c
hw/audio/intel-hda.h
hw/audio/marvell_88w8618.c
hw/audio/milkymist-ac97.c
hw/audio/pcspk.c
hw/audio/pl041.c
hw/audio/sb16.c
hw/audio/wm8750.c
hw/avr/arduino.c
hw/avr/atmega.c
hw/avr/atmega.h
hw/block/fdc.c
hw/block/m25p80.c
hw/block/nand.c
hw/block/onenand.c
hw/char/debugcon.c
hw/char/etraxfs_ser.c
hw/char/exynos4210_uart.c
hw/char/grlib_apbuart.c
hw/char/ipoctal232.c
hw/char/lm32_juart.c
hw/char/lm32_uart.c
hw/char/mcf_uart.c
hw/char/milkymist-uart.c
hw/char/parallel.c
hw/char/sclpconsole-lm.c
hw/char/sclpconsole.c
hw/char/serial-isa.c
hw/char/serial-pci.c
hw/char/spapr_vty.c
hw/char/terminal3270.c
hw/char/virtio-console.c
hw/char/xilinx_uartlite.c
hw/core/irq.c
hw/cpu/realview_mpcore.c
hw/display/ads7846.c
hw/display/artist.c
hw/display/ati_int.h
hw/display/bochs-display.c
hw/display/cg3.c
hw/display/cirrus_vga.c
hw/display/cirrus_vga_isa.c
hw/display/exynos4210_fimd.c
hw/display/g364fb.c
hw/display/jazz_led.c
hw/display/milkymist-tmu2.c
hw/display/milkymist-vgafb.c
hw/display/next-fb.c
hw/display/pl110.c
hw/display/qxl.h
hw/display/ramfb-standalone.c
hw/display/sii9022.c
hw/display/sm501.c
hw/display/ssd0303.c
hw/display/ssd0323.c
hw/display/tcx.c
hw/display/vga-isa.c
hw/display/vga-pci.c
hw/display/vhost-user-gpu-pci.c
hw/display/vhost-user-vga.c
hw/display/virtio-gpu-pci.c
hw/display/virtio-vga.c
hw/display/virtio-vga.h
hw/display/vmware_vga.c
hw/dma/i82374.c
hw/dma/pl330.c
hw/dma/puv3_dma.c
hw/dma/pxa2xx_dma.c
hw/dma/rc4030.c
hw/dma/xilinx_axidma.c
hw/gpio/gpio_key.c
hw/gpio/max7310.c
hw/gpio/mpc8xxx.c
hw/gpio/pl061.c
hw/gpio/puv3_gpio.c
hw/gpio/zaurus.c
hw/hppa/dino.c
hw/hppa/lasi.c
hw/hyperv/hyperv.c
hw/hyperv/hyperv_testdev.c
hw/i2c/bitbang_i2c.c
hw/i2c/exynos4210_i2c.c
hw/i2c/mpc_i2c.c
hw/i2c/smbus_eeprom.c
hw/i2c/smbus_ich9.c
hw/i2c/versatile_i2c.c
hw/i386/amd_iommu.h
hw/i386/kvm/clock.c
hw/i386/kvm/i8254.c
hw/i386/kvm/i8259.c
hw/i386/kvmvapic.c
hw/i386/port92.c
hw/i386/vmmouse.c
hw/i386/vmport.c
hw/i386/xen/xen_platform.c
hw/i386/xen/xen_pvdevice.c
hw/ide/isa.c
hw/ide/microdrive.c
hw/ide/mmio.c
hw/ide/sii3112.c
hw/input/adb-kbd.c
hw/input/adb-mouse.c
hw/input/lm832x.c
hw/input/milkymist-softusb.c
hw/input/pl050.c
hw/intc/arm_gicv2m.c
hw/intc/etraxfs_pic.c
hw/intc/exynos4210_combiner.c
hw/intc/exynos4210_gic.c
hw/intc/grlib_irqmp.c
hw/intc/i8259.c
hw/intc/lm32_pic.c
hw/intc/loongson_liointc.c
hw/intc/nios2_iic.c
hw/intc/ompic.c
hw/intc/openpic_kvm.c
hw/intc/pl190.c
hw/intc/puv3_intc.c
hw/intc/s390_flic_kvm.c
hw/intc/slavio_intctl.c
hw/intc/xilinx_intc.c
hw/ipack/tpci200.c
hw/ipmi/ipmi_bmc_extern.c
hw/ipmi/isa_ipmi_bt.c
hw/ipmi/isa_ipmi_kcs.c
hw/ipmi/pci_ipmi_bt.c
hw/ipmi/pci_ipmi_kcs.c
hw/ipmi/smbus_ipmi.c
hw/isa/i82378.c
hw/isa/piix4.c
hw/isa/vt82c686.c
hw/m68k/mcf_intc.c
hw/m68k/next-cube.c
hw/m68k/next-kbd.c
hw/microblaze/xlnx-zynqmp-pmu.c
hw/mips/boston.c
hw/mips/gt64xxx_pci.c
hw/mips/malta.c
hw/misc/applesmc.c
hw/misc/arm_integrator_debug.c
hw/misc/arm_l2x0.c
hw/misc/arm_sysctl.c
hw/misc/debugexit.c
hw/misc/eccmemctl.c
hw/misc/edu.c
hw/misc/empty_slot.c
hw/misc/exynos4210_clk.c
hw/misc/exynos4210_pmu.c
hw/misc/exynos4210_rng.c
hw/misc/ivshmem.c
hw/misc/milkymist-hpdmc.c
hw/misc/milkymist-pfpu.c
hw/misc/mst_fpga.c
hw/misc/pc-testdev.c
hw/misc/pca9552.c
hw/misc/pci-testdev.c
hw/misc/puv3_pm.c
hw/misc/pvpanic.c
hw/misc/sga.c
hw/misc/slavio_misc.c
hw/misc/tmp105.h
hw/misc/tmp421.c
hw/misc/zynq_slcr.c
hw/net/can/can_kvaser_pci.c
hw/net/can/can_mioe3680_pci.c
hw/net/can/can_pcm3680_pci.c
hw/net/dp8393x.c
hw/net/e1000.c
hw/net/e1000e.c
hw/net/etraxfs_eth.c
hw/net/fsl_etsec/etsec.h
hw/net/lan9118.c
hw/net/milkymist-minimac2.c
hw/net/mipsnet.c
hw/net/ne2000-isa.c
hw/net/opencores_eth.c
hw/net/pcnet-pci.c
hw/net/rocker/rocker.h
hw/net/rtl8139.c
hw/net/smc91c111.c
hw/net/spapr_llan.c
hw/net/stellaris_enet.c
hw/net/sungem.c
hw/net/sunhme.c
hw/net/tulip.h
hw/net/vmxnet3.c
hw/net/vmxnet3_defs.h
hw/net/xgmac.c
hw/net/xilinx_axienet.c
hw/net/xilinx_ethlite.c
hw/nvram/ds1225y.c
hw/nvram/eeprom_at24c.c
hw/nvram/spapr_nvram.c
hw/pci-bridge/dec.c
hw/pci-bridge/gen_pcie_root_port.c
hw/pci-bridge/pci_bridge_dev.c
hw/pci-bridge/pci_expander_bridge.c
hw/pci-bridge/pcie_pci_bridge.c
hw/pci-host/bonito.c
hw/pci-host/grackle.c
hw/pci-host/i440fx.c
hw/pci-host/pnv_phb3.c
hw/pci-host/pnv_phb4.c
hw/pci-host/ppce500.c
hw/pci-host/prep.c
hw/pci-host/versatile.c
hw/ppc/e500-ccsr.h
hw/ppc/e500.h
hw/ppc/mac.h
hw/ppc/mpc8544_guts.c
hw/ppc/ppc440_pcix.c
hw/ppc/ppc440_uc.c
hw/ppc/ppc4xx_pci.c
hw/ppc/ppce500_spin.c
hw/ppc/prep_systemio.c
hw/ppc/rs6000_mc.c
hw/ppc/spapr_rng.c
hw/rdma/vmw/pvrdma.h
hw/rtc/ds1338.c
hw/rtc/exynos4210_rtc.c
hw/rtc/m41t80.c
hw/rtc/m48t59-isa.c
hw/rtc/m48t59.c
hw/rtc/sun4v-rtc.c
hw/rtc/twl92230.c
hw/rx/rx-gdbsim.c
hw/rx/rx62n.c
hw/s390x/ccw-device.h
hw/s390x/ipl.h
hw/s390x/s390-pci-bus.h
hw/s390x/virtio-ccw.h
hw/scsi/esp-pci.c
hw/scsi/lsi53c895a.c
hw/scsi/megasas.c
hw/scsi/mptsas.h
hw/scsi/scsi-disk.c
hw/scsi/spapr_vscsi.c
hw/scsi/vmw_pvscsi.c
hw/sd/milkymist-memcard.c
hw/sd/pl181.c
hw/sd/ssi-sd.c
hw/sh4/sh_pci.c
hw/sparc/sun4m.c
hw/sparc64/sun4u.c
hw/ssi/ssi.c
hw/ssi/xilinx_spi.c
hw/timer/altera_timer.c
hw/timer/arm_timer.c
hw/timer/cadence_ttc.c
hw/timer/etraxfs_timer.c
hw/timer/exynos4210_mct.c
hw/timer/exynos4210_pwm.c
hw/timer/grlib_gptimer.c
hw/timer/hpet.c
hw/timer/i8254.c
hw/timer/lm32_timer.c
hw/timer/milkymist-sysctl.c
hw/timer/puv3_ost.c
hw/timer/pxa2xx_timer.c
hw/timer/slavio_timer.c
hw/timer/xilinx_timer.c
hw/tpm/tpm_crb.c
hw/tpm/tpm_spapr.c
hw/tpm/tpm_tis_isa.c
hw/tpm/tpm_tis_sysbus.c
hw/usb/ccid-card-emulated.c
hw/usb/ccid-card-passthru.c
hw/usb/ccid.h
hw/usb/dev-audio.c
hw/usb/dev-hid.c
hw/usb/dev-hub.c
hw/usb/dev-mtp.c
hw/usb/dev-network.c
hw/usb/dev-serial.c
hw/usb/dev-smartcard-reader.c
hw/usb/dev-storage.c
hw/usb/dev-uas.c
hw/usb/dev-wacom.c
hw/usb/hcd-dwc2.h
hw/usb/hcd-ehci.h
hw/usb/hcd-ohci-pci.c
hw/usb/hcd-ohci.h
hw/usb/hcd-uhci.c
hw/usb/hcd-xhci.h
hw/usb/host-libusb.c
hw/usb/redirect.c
hw/usb/tusb6010.c
hw/vfio/ap.c
hw/vfio/pci.h
hw/virtio/vhost-scsi-pci.c
hw/virtio/vhost-user-blk-pci.c
hw/virtio/vhost-user-fs-pci.c
hw/virtio/vhost-user-input-pci.c
hw/virtio/vhost-user-scsi-pci.c
hw/virtio/vhost-user-vsock-pci.c
hw/virtio/vhost-vsock-pci.c
hw/virtio/virtio-9p-pci.c
hw/virtio/virtio-balloon-pci.c
hw/virtio/virtio-blk-pci.c
hw/virtio/virtio-crypto-pci.c
hw/virtio/virtio-input-host-pci.c
hw/virtio/virtio-input-pci.c
hw/virtio/virtio-iommu-pci.c
hw/virtio/virtio-mem-pci.h
hw/virtio/virtio-net-pci.c
hw/virtio/virtio-pci.h
hw/virtio/virtio-pmem-pci.h
hw/virtio/virtio-rng-pci.c
hw/virtio/virtio-scsi-pci.c
hw/virtio/virtio-serial-pci.c
hw/watchdog/wdt_i6300esb.c
hw/watchdog/wdt_ib700.c
hw/xen/xen_pt.h
include/authz/base.h
include/authz/list.h
include/authz/listfile.h
include/authz/pamacct.h
include/authz/simple.h
include/block/throttle-groups.h
include/chardev/char-fd.h
include/chardev/char-win.h
include/chardev/char.h
include/chardev/spice.h
include/crypto/secret.h
include/crypto/secret_common.h
include/crypto/secret_keyring.h
include/crypto/tls-cipher-suites.h
include/crypto/tlscreds.h
include/crypto/tlscredsanon.h
include/crypto/tlscredspsk.h
include/crypto/tlscredsx509.h
include/exec/memory.h
include/hw/acpi/acpi_dev_interface.h
include/hw/acpi/generic_event_device.h
include/hw/acpi/vmgenid.h
include/hw/adc/stm32f2xx_adc.h
include/hw/arm/allwinner-a10.h
include/hw/arm/allwinner-h3.h
include/hw/arm/armsse.h
include/hw/arm/armv7m.h
include/hw/arm/aspeed.h
include/hw/arm/aspeed_soc.h
include/hw/arm/bcm2835_peripherals.h
include/hw/arm/bcm2836.h
include/hw/arm/digic.h
include/hw/arm/exynos4210.h
include/hw/arm/fsl-imx25.h
include/hw/arm/fsl-imx31.h
include/hw/arm/fsl-imx6.h
include/hw/arm/fsl-imx6ul.h
include/hw/arm/fsl-imx7.h
include/hw/arm/linux-boot-if.h
include/hw/arm/msf2-soc.h
include/hw/arm/nrf51_soc.h
include/hw/arm/omap.h
include/hw/arm/pxa.h
include/hw/arm/smmu-common.h
include/hw/arm/smmuv3.h
include/hw/arm/stm32f205_soc.h
include/hw/arm/stm32f405_soc.h
include/hw/arm/virt.h
include/hw/arm/xlnx-versal.h
include/hw/arm/xlnx-zynqmp.h
include/hw/block/flash.h
include/hw/block/swim.h
include/hw/boards.h
include/hw/char/avr_usart.h
include/hw/char/bcm2835_aux.h
include/hw/char/cadence_uart.h
include/hw/char/cmsdk-apb-uart.h
include/hw/char/digic-uart.h
include/hw/char/escc.h
include/hw/char/ibex_uart.h
include/hw/char/imx_serial.h
include/hw/char/nrf51_uart.h
include/hw/char/pl011.h
include/hw/char/renesas_sci.h
include/hw/char/serial.h
include/hw/char/stm32f2xx_usart.h
include/hw/clock.h
include/hw/core/cpu.h
include/hw/core/generic-loader.h
include/hw/core/split-irq.h
include/hw/cpu/a15mpcore.h
include/hw/cpu/a9mpcore.h
include/hw/cpu/arm11mpcore.h
include/hw/cpu/cluster.h
include/hw/cpu/core.h
include/hw/display/bcm2835_fb.h
include/hw/display/dpcd.h
include/hw/display/i2c-ddc.h
include/hw/display/macfb.h
include/hw/display/xlnx_dp.h
include/hw/dma/bcm2835_dma.h
include/hw/dma/i8257.h
include/hw/dma/pl080.h
include/hw/dma/xlnx-zdma.h
include/hw/dma/xlnx-zynq-devcfg.h
include/hw/dma/xlnx_dpdma.h
include/hw/fw-path-provider.h
include/hw/gpio/aspeed_gpio.h
include/hw/gpio/bcm2835_gpio.h
include/hw/gpio/imx_gpio.h
include/hw/gpio/nrf51_gpio.h
include/hw/hotplug.h
include/hw/hyperv/vmbus-bridge.h
include/hw/hyperv/vmbus.h
include/hw/i2c/arm_sbcon_i2c.h
include/hw/i2c/aspeed_i2c.h
include/hw/i2c/i2c.h
include/hw/i2c/imx_i2c.h
include/hw/i2c/microbit_i2c.h
include/hw/i2c/ppc4xx_i2c.h
include/hw/i2c/smbus_slave.h
include/hw/i386/apic_internal.h
include/hw/i386/ich9.h
include/hw/i386/intel_iommu.h
include/hw/i386/ioapic_internal.h
include/hw/i386/microvm.h
include/hw/i386/pc.h
include/hw/i386/x86-iommu.h
include/hw/i386/x86.h
include/hw/ide/ahci.h
include/hw/ide/internal.h
include/hw/ide/pci.h
include/hw/input/adb.h
include/hw/input/i8042.h
include/hw/intc/allwinner-a10-pic.h
include/hw/intc/arm_gic_common.h
include/hw/intc/arm_gicv3_common.h
include/hw/intc/arm_gicv3_its_common.h
include/hw/intc/armv7m_nvic.h
include/hw/intc/aspeed_vic.h
include/hw/intc/bcm2835_ic.h
include/hw/intc/bcm2836_control.h
include/hw/intc/heathrow_pic.h
include/hw/intc/ibex_plic.h
include/hw/intc/imx_avic.h
include/hw/intc/imx_gpcv2.h
include/hw/intc/intc.h
include/hw/intc/mips_gic.h
include/hw/intc/realview_gic.h
include/hw/intc/rx_icu.h
include/hw/intc/xlnx-pmu-iomod-intc.h
include/hw/intc/xlnx-zynqmp-ipi.h
include/hw/ipack/ipack.h
include/hw/ipmi/ipmi.h
include/hw/isa/i8259_internal.h
include/hw/isa/isa.h
include/hw/isa/pc87312.h
include/hw/isa/superio.h
include/hw/m68k/mcf_fec.h
include/hw/mem/memory-device.h
include/hw/mem/nvdimm.h
include/hw/mem/pc-dimm.h
include/hw/mips/cps.h
include/hw/misc/a9scu.h
include/hw/misc/allwinner-cpucfg.h
include/hw/misc/allwinner-h3-ccu.h
include/hw/misc/allwinner-h3-dramc.h
include/hw/misc/allwinner-h3-sysctrl.h
include/hw/misc/allwinner-sid.h
include/hw/misc/arm11scu.h
include/hw/misc/armsse-cpuid.h
include/hw/misc/armsse-mhu.h
include/hw/misc/aspeed_scu.h
include/hw/misc/aspeed_sdmc.h
include/hw/misc/aspeed_xdma.h
include/hw/misc/auxbus.h
include/hw/misc/avr_power.h
include/hw/misc/bcm2835_mbox.h
include/hw/misc/bcm2835_mphi.h
include/hw/misc/bcm2835_property.h
include/hw/misc/bcm2835_rng.h
include/hw/misc/bcm2835_thermal.h
include/hw/misc/grlib_ahb_apb_pnp.h
include/hw/misc/imx25_ccm.h
include/hw/misc/imx31_ccm.h
include/hw/misc/imx6_ccm.h
include/hw/misc/imx6_src.h
include/hw/misc/imx6ul_ccm.h
include/hw/misc/imx7_ccm.h
include/hw/misc/imx7_gpr.h
include/hw/misc/imx7_snvs.h
include/hw/misc/imx_ccm.h
include/hw/misc/imx_rngc.h
include/hw/misc/iotkit-secctl.h
include/hw/misc/iotkit-sysctl.h
include/hw/misc/iotkit-sysinfo.h
include/hw/misc/mac_via.h
include/hw/misc/macio/cuda.h
include/hw/misc/macio/gpio.h
include/hw/misc/macio/macio.h
include/hw/misc/macio/pmu.h
include/hw/misc/max111x.h
include/hw/misc/mips_cmgcr.h
include/hw/misc/mips_cpc.h
include/hw/misc/mips_itu.h
include/hw/misc/mos6522.h
include/hw/misc/mps2-fpgaio.h
include/hw/misc/mps2-scc.h
include/hw/misc/msf2-sysreg.h
include/hw/misc/nrf51_rng.h
include/hw/misc/pca9552.h
include/hw/misc/stm32f2xx_syscfg.h
include/hw/misc/stm32f4xx_exti.h
include/hw/misc/stm32f4xx_syscfg.h
include/hw/misc/tz-mpc.h
include/hw/misc/tz-msc.h
include/hw/misc/tz-ppc.h
include/hw/misc/unimp.h
include/hw/misc/vmcoreinfo.h
include/hw/misc/zynq-xadc.h
include/hw/net/allwinner-sun8i-emac.h
include/hw/net/allwinner_emac.h
include/hw/net/cadence_gem.h
include/hw/net/ftgmac100.h
include/hw/net/imx_fec.h
include/hw/net/lance.h
include/hw/net/lasi_82596.h
include/hw/net/msf2-emac.h
include/hw/nmi.h
include/hw/nubus/mac-nubus-bridge.h
include/hw/nubus/nubus.h
include/hw/nvram/fw_cfg.h
include/hw/nvram/nrf51_nvm.h
include/hw/or-irq.h
include/hw/pci-bridge/simba.h
include/hw/pci-host/designware.h
include/hw/pci-host/gpex.h
include/hw/pci-host/i440fx.h
include/hw/pci-host/pnv_phb3.h
include/hw/pci-host/pnv_phb4.h
include/hw/pci-host/q35.h
include/hw/pci-host/sabre.h
include/hw/pci-host/spapr.h
include/hw/pci-host/uninorth.h
include/hw/pci-host/xilinx-pcie.h
include/hw/pci/pci.h
include/hw/pci/pci_bridge.h
include/hw/pci/pci_host.h
include/hw/pci/pcie_host.h
include/hw/pci/pcie_port.h
include/hw/pcmcia.h
include/hw/platform-bus.h
include/hw/ppc/mac_dbdma.h
include/hw/ppc/openpic.h
include/hw/ppc/pnv.h
include/hw/ppc/pnv_core.h
include/hw/ppc/pnv_homer.h
include/hw/ppc/pnv_lpc.h
include/hw/ppc/pnv_occ.h
include/hw/ppc/pnv_pnor.h
include/hw/ppc/pnv_psi.h
include/hw/ppc/pnv_xive.h
include/hw/ppc/pnv_xscom.h
include/hw/ppc/spapr.h
include/hw/ppc/spapr_cpu_core.h
include/hw/ppc/spapr_irq.h
include/hw/ppc/spapr_tpm_proxy.h
include/hw/ppc/spapr_vio.h
include/hw/ppc/xics.h
include/hw/ppc/xive.h
include/hw/qdev-core.h
include/hw/rdma/rdma.h
include/hw/register.h
include/hw/resettable.h
include/hw/riscv/opentitan.h
include/hw/riscv/riscv_hart.h
include/hw/riscv/spike.h
include/hw/riscv/virt.h
include/hw/rtc/allwinner-rtc.h
include/hw/rtc/aspeed_rtc.h
include/hw/rtc/goldfish_rtc.h
include/hw/rtc/m48t59.h
include/hw/rtc/mc146818rtc.h
include/hw/rtc/pl031.h
include/hw/rtc/xlnx-zynqmp-rtc.h
include/hw/rx/rx62n.h
include/hw/s390x/3270-ccw.h
include/hw/s390x/ap-device.h
include/hw/s390x/css-bridge.h
include/hw/s390x/event-facility.h
include/hw/s390x/s390-ccw.h
include/hw/s390x/s390-virtio-ccw.h
include/hw/s390x/s390_flic.h
include/hw/s390x/sclp.h
include/hw/s390x/storage-attributes.h
include/hw/s390x/storage-keys.h
include/hw/s390x/tod.h
include/hw/s390x/vfio-ccw.h
include/hw/scsi/esp.h
include/hw/scsi/scsi.h
include/hw/sd/allwinner-sdhost.h
include/hw/sd/aspeed_sdhci.h
include/hw/sd/bcm2835_sdhost.h
include/hw/sd/sd.h
include/hw/sd/sdhci.h
include/hw/southbridge/piix.h
include/hw/sparc/sparc32_dma.h
include/hw/sparc/sun4m_iommu.h
include/hw/sparc/sun4u_iommu.h
include/hw/ssi/aspeed_smc.h
include/hw/ssi/imx_spi.h
include/hw/ssi/mss-spi.h
include/hw/ssi/pl022.h
include/hw/ssi/ssi.h
include/hw/ssi/stm32f2xx_spi.h
include/hw/ssi/xilinx_spips.h
include/hw/stream.h
include/hw/sysbus.h
include/hw/timer/a9gtimer.h
include/hw/timer/allwinner-a10-pit.h
include/hw/timer/arm_mptimer.h
include/hw/timer/armv7m_systick.h
include/hw/timer/aspeed_timer.h
include/hw/timer/avr_timer16.h
include/hw/timer/bcm2835_systmr.h
include/hw/timer/cmsdk-apb-dualtimer.h
include/hw/timer/cmsdk-apb-timer.h
include/hw/timer/digic-timer.h
include/hw/timer/i8254.h
include/hw/timer/imx_epit.h
include/hw/timer/imx_gpt.h
include/hw/timer/mss-timer.h
include/hw/timer/nrf51_timer.h
include/hw/timer/renesas_cmt.h
include/hw/timer/renesas_tmr.h
include/hw/timer/stm32f2xx_timer.h
include/hw/usb.h
include/hw/usb/chipidea.h
include/hw/usb/imx-usb-phy.h
include/hw/vfio/vfio-amd-xgbe.h
include/hw/vfio/vfio-calxeda-xgmac.h
include/hw/vfio/vfio-platform.h
include/hw/virtio/vhost-scsi-common.h
include/hw/virtio/vhost-scsi.h
include/hw/virtio/vhost-user-blk.h
include/hw/virtio/vhost-user-fs.h
include/hw/virtio/vhost-user-scsi.h
include/hw/virtio/vhost-user-vsock.h
include/hw/virtio/vhost-vsock-common.h
include/hw/virtio/vhost-vsock.h
include/hw/virtio/virtio-balloon.h
include/hw/virtio/virtio-blk.h
include/hw/virtio/virtio-bus.h
include/hw/virtio/virtio-crypto.h
include/hw/virtio/virtio-gpu-pci.h
include/hw/virtio/virtio-gpu.h
include/hw/virtio/virtio-input.h
include/hw/virtio/virtio-iommu.h
include/hw/virtio/virtio-mem.h
include/hw/virtio/virtio-mmio.h
include/hw/virtio/virtio-net.h
include/hw/virtio/virtio-pmem.h
include/hw/virtio/virtio-rng.h
include/hw/virtio/virtio-scsi.h
include/hw/virtio/virtio-serial.h
include/hw/virtio/virtio.h
include/hw/vmstate-if.h
include/hw/watchdog/cmsdk-apb-watchdog.h
include/hw/watchdog/wdt_aspeed.h
include/hw/watchdog/wdt_diag288.h
include/hw/watchdog/wdt_imx2.h
include/hw/xen/xen-block.h
include/hw/xen/xen-bus.h
include/hw/xen/xen-legacy-backend.h
include/io/channel-buffer.h
include/io/channel-command.h
include/io/channel-file.h
include/io/channel-socket.h
include/io/channel-tls.h
include/io/channel-websock.h
include/io/channel.h
include/io/dns-resolver.h
include/io/net-listener.h
include/net/can_emu.h
include/net/can_host.h
include/net/filter.h
include/qom/object_interfaces.h
include/scsi/pr-manager.h
include/sysemu/cryptodev.h
include/sysemu/hostmem.h
include/sysemu/hvf.h
include/sysemu/iothread.h
include/sysemu/kvm.h
include/sysemu/rng-random.h
include/sysemu/rng.h
include/sysemu/tpm.h
include/sysemu/tpm_backend.h
include/sysemu/vhost-user-backend.h
include/ui/console.h
iothread.c
migration/migration.h
migration/rdma.c
net/can/can_socketcan.c
net/colo-compare.c
net/dump.c
net/filter-buffer.c
net/filter-mirror.c
net/filter-replay.c
net/filter-rewriter.c
scsi/pr-manager-helper.c
target/alpha/cpu-qom.h
target/arm/cpu-qom.h
target/arm/idau.h
target/avr/cpu-qom.h
target/cris/cpu-qom.h
target/hppa/cpu-qom.h
target/i386/cpu-qom.h
target/i386/sev.c
target/lm32/cpu-qom.h
target/m68k/cpu-qom.h
target/microblaze/cpu-qom.h
target/mips/cpu-qom.h
target/moxie/cpu.h
target/nios2/cpu.h
target/openrisc/cpu.h
target/ppc/cpu-qom.h
target/ppc/cpu.h
target/riscv/cpu.h
target/rx/cpu-qom.h
target/s390x/cpu-qom.h
target/sh4/cpu-qom.h
target/sparc/cpu-qom.h
target/tilegx/cpu.h
target/tricore/cpu-qom.h
target/unicore32/cpu-qom.h
target/xtensa/cpu-qom.h
tests/check-qom-interface.c
tests/check-qom-proplist.c
tests/test-qdev-global-props.c
ui/console.c
ui/gtk.c
ui/input-barrier.c
ui/input-linux.c
ui/spice-app.c

index 7dba29cc48217f3caabaf87ccffc0ab80318b71d..7098ad96c3bb25e2bf02464f39c85225fb041f8e 100644 (file)
@@ -46,8 +46,8 @@ typedef struct TCGState TCGState;
 
 #define TYPE_TCG_ACCEL ACCEL_CLASS_NAME("tcg")
 
-#define TCG_STATE(obj) \
-        OBJECT_CHECK(TCGState, (obj), TYPE_TCG_ACCEL)
+DECLARE_INSTANCE_CHECKER(TCGState, TCG_STATE,
+                         TYPE_TCG_ACCEL)
 
 /* mask must never be zero, except for A20 change call */
 static void tcg_handle_interrupt(CPUState *cpu, int mask)
index 84bd84efe74a324c225cf336e1e10f02f6b04815..f047ad03625c2de1dec1a3ec5f5db98cdbe38118 100644 (file)
@@ -37,9 +37,8 @@
 
 typedef struct CryptoDevBackendBuiltin
                          CryptoDevBackendBuiltin;
-#define CRYPTODEV_BACKEND_BUILTIN(obj) \
-    OBJECT_CHECK(CryptoDevBackendBuiltin, \
-                 (obj), TYPE_CRYPTODEV_BACKEND_BUILTIN)
+DECLARE_INSTANCE_CHECKER(CryptoDevBackendBuiltin, CRYPTODEV_BACKEND_BUILTIN,
+                         TYPE_CRYPTODEV_BACKEND_BUILTIN)
 
 
 typedef struct CryptoDevBackendBuiltinSession {
index 5e903f65077e07a6e17e8064b1ea5f327a72c652..41089dede157411c3fddc40485aaabf9bf41c20a 100644 (file)
@@ -40,9 +40,8 @@
 #define TYPE_CRYPTODEV_BACKEND_VHOST_USER "cryptodev-vhost-user"
 
 typedef struct CryptoDevBackendVhostUser CryptoDevBackendVhostUser;
-#define CRYPTODEV_BACKEND_VHOST_USER(obj) \
-    OBJECT_CHECK(CryptoDevBackendVhostUser, \
-                 (obj), TYPE_CRYPTODEV_BACKEND_VHOST_USER)
+DECLARE_INSTANCE_CHECKER(CryptoDevBackendVhostUser, CRYPTODEV_BACKEND_VHOST_USER,
+                         TYPE_CRYPTODEV_BACKEND_VHOST_USER)
 
 
 struct CryptoDevBackendVhostUser {
index 0473c5c335b4f042ed9350361ebddeb3c58e4d5b..bfbd4f09f1fc44e3cc5f10e7f713b06971a10256 100644 (file)
@@ -25,12 +25,8 @@ typedef struct DBusVMState DBusVMState;
 typedef struct DBusVMStateClass DBusVMStateClass;
 
 #define TYPE_DBUS_VMSTATE "dbus-vmstate"
-#define DBUS_VMSTATE(obj)                                \
-    OBJECT_CHECK(DBusVMState, (obj), TYPE_DBUS_VMSTATE)
-#define DBUS_VMSTATE_GET_CLASS(obj)                              \
-    OBJECT_GET_CLASS(DBusVMStateClass, (obj), TYPE_DBUS_VMSTATE)
-#define DBUS_VMSTATE_CLASS(klass)                                    \
-    OBJECT_CLASS_CHECK(DBusVMStateClass, (klass), TYPE_DBUS_VMSTATE)
+DECLARE_OBJ_CHECKERS(DBusVMState, DBusVMStateClass,
+                     DBUS_VMSTATE, TYPE_DBUS_VMSTATE)
 
 struct DBusVMStateClass {
     ObjectClass parent_class;
index 2c3bcb829114694de863785f4e4caef163b77ea9..a3b2e8209e2ad976e67e4566f4bb00996f73ccf6 100644 (file)
@@ -20,8 +20,8 @@
 #include "qom/object.h"
 
 typedef struct HostMemoryBackendFile HostMemoryBackendFile;
-#define MEMORY_BACKEND_FILE(obj) \
-    OBJECT_CHECK(HostMemoryBackendFile, (obj), TYPE_MEMORY_BACKEND_FILE)
+DECLARE_INSTANCE_CHECKER(HostMemoryBackendFile, MEMORY_BACKEND_FILE,
+                         TYPE_MEMORY_BACKEND_FILE)
 
 
 struct HostMemoryBackendFile {
index 45114bd6412f1d44e3863d677d19eafd174d828d..8cf6bcbda28b0e49e9921ebd8572f4e44a6c2351 100644 (file)
@@ -22,8 +22,8 @@
 #define TYPE_MEMORY_BACKEND_MEMFD "memory-backend-memfd"
 
 typedef struct HostMemoryBackendMemfd HostMemoryBackendMemfd;
-#define MEMORY_BACKEND_MEMFD(obj)                                        \
-    OBJECT_CHECK(HostMemoryBackendMemfd, (obj), TYPE_MEMORY_BACKEND_MEMFD)
+DECLARE_INSTANCE_CHECKER(HostMemoryBackendMemfd, MEMORY_BACKEND_MEMFD,
+                         TYPE_MEMORY_BACKEND_MEMFD)
 
 
 struct HostMemoryBackendMemfd {
index 4bf073c96365c28f05a11ca044f742e2ad18676d..459be97a5a0145d59260bc277d11a6fc1cc3e83f 100644 (file)
@@ -12,7 +12,8 @@
 #include "qom/object.h"
 
 typedef struct RngBuiltin RngBuiltin;
-#define RNG_BUILTIN(obj) OBJECT_CHECK(RngBuiltin, (obj), TYPE_RNG_BUILTIN)
+DECLARE_INSTANCE_CHECKER(RngBuiltin, RNG_BUILTIN,
+                         TYPE_RNG_BUILTIN)
 
 struct RngBuiltin {
     RngBackend parent;
index ee1854f31c80c9d6e622044cb74b7f43d1d947fd..d905fe657c5da5743028a6abbf4baa24be50f39e 100644 (file)
@@ -20,7 +20,8 @@
 
 #define TYPE_RNG_EGD "rng-egd"
 typedef struct RngEgd RngEgd;
-#define RNG_EGD(obj) OBJECT_CHECK(RngEgd, (obj), TYPE_RNG_EGD)
+DECLARE_INSTANCE_CHECKER(RngEgd, RNG_EGD,
+                         TYPE_RNG_EGD)
 
 struct RngEgd {
     RngBackend parent;
index 2509c8d32747022fdc6c6f850bec423dd870cdaf..13657d9aba6c689696d2d541e0e53e56983088e5 100644 (file)
@@ -46,8 +46,8 @@
 
 #define TYPE_TPM_EMULATOR "tpm-emulator"
 typedef struct TPMEmulator TPMEmulator;
-#define TPM_EMULATOR(obj) \
-    OBJECT_CHECK(TPMEmulator, (obj), TYPE_TPM_EMULATOR)
+DECLARE_INSTANCE_CHECKER(TPMEmulator, TPM_EMULATOR,
+                         TYPE_TPM_EMULATOR)
 
 #define TPM_EMULATOR_IMPLEMENTS_ALL_CAPS(S, cap) (((S)->caps & (cap)) == (cap))
 
index b703f7e4127ab7188d619ef73b6cc4f439c816c3..10722e0a4104d8ed5bf8240a585d96a6add47235 100644 (file)
@@ -37,8 +37,8 @@
 
 #define TYPE_TPM_PASSTHROUGH "tpm-passthrough"
 typedef struct TPMPassthruState TPMPassthruState;
-#define TPM_PASSTHROUGH(obj) \
-    OBJECT_CHECK(TPMPassthruState, (obj), TYPE_TPM_PASSTHROUGH)
+DECLARE_INSTANCE_CHECKER(TPMPassthruState, TPM_PASSTHROUGH,
+                         TYPE_TPM_PASSTHROUGH)
 
 /* data structures */
 struct TPMPassthruState {
index cb906060d94cdc3d0efd8a59e428808835a774d9..5deca778bc447af946b75def9691eae1b0e613a3 100644 (file)
@@ -105,7 +105,8 @@ struct BaumChardev {
 typedef struct BaumChardev BaumChardev;
 
 #define TYPE_CHARDEV_BRAILLE "chardev-braille"
-#define BAUM_CHARDEV(obj) OBJECT_CHECK(BaumChardev, (obj), TYPE_CHARDEV_BRAILLE)
+DECLARE_INSTANCE_CHECKER(BaumChardev, BAUM_CHARDEV,
+                         TYPE_CHARDEV_BRAILLE)
 
 /* Let's assume NABCC by default */
 enum way {
index 963fe4f0caf3e13cac6e28c1cebff843e8d3cb98..a2d1e7c985bc49a76b27abb44998332df4f3da47 100644 (file)
@@ -45,7 +45,8 @@ struct PtyChardev {
 };
 typedef struct PtyChardev PtyChardev;
 
-#define PTY_CHARDEV(obj) OBJECT_CHECK(PtyChardev, (obj), TYPE_CHARDEV_PTY)
+DECLARE_INSTANCE_CHECKER(PtyChardev, PTY_CHARDEV,
+                         TYPE_CHARDEV_PTY)
 
 static void pty_chr_state(Chardev *chr, int connected);
 
index 301a5d863473f303e71dac275c76b23f1c991e73..d40d21d3cf78cb0ab5ac997909c6009b313ca41b 100644 (file)
@@ -42,8 +42,8 @@ struct RingBufChardev {
 };
 typedef struct RingBufChardev RingBufChardev;
 
-#define RINGBUF_CHARDEV(obj)                                    \
-    OBJECT_CHECK(RingBufChardev, (obj), TYPE_CHARDEV_RINGBUF)
+DECLARE_INSTANCE_CHECKER(RingBufChardev, RINGBUF_CHARDEV,
+                         TYPE_CHARDEV_RINGBUF)
 
 static size_t ringbuf_count(const Chardev *chr)
 {
index 9435b7d643a13ea543dc617420c91f77872e78d4..95e45812d5c90b66d13b4f945d79f6bec4434b37 100644 (file)
@@ -88,8 +88,8 @@ struct SocketChardev {
 };
 typedef struct SocketChardev SocketChardev;
 
-#define SOCKET_CHARDEV(obj)                                     \
-    OBJECT_CHECK(SocketChardev, (obj), TYPE_CHARDEV_SOCKET)
+DECLARE_INSTANCE_CHECKER(SocketChardev, SOCKET_CHARDEV,
+                         TYPE_CHARDEV_SOCKET)
 
 static gboolean socket_reconnect_timeout(gpointer opaque);
 static void tcp_chr_telnet_init(Chardev *chr);
index 58be3487e6dbf5e4218abc9664148b7b5b77cc92..16b5dbce5824327f649fd2a7a9890a93d3bf7402 100644 (file)
@@ -45,7 +45,8 @@ struct UdpChardev {
 };
 typedef struct UdpChardev UdpChardev;
 
-#define UDP_CHARDEV(obj) OBJECT_CHECK(UdpChardev, (obj), TYPE_CHARDEV_UDP)
+DECLARE_INSTANCE_CHECKER(UdpChardev, UDP_CHARDEV,
+                         TYPE_CHARDEV_UDP)
 
 /* Called with chr_write_lock held.  */
 static int udp_chr_write(Chardev *chr, const uint8_t *buf, int len)
index 980e0d1356d9e82944f970627663b545dc7d2385..a4771ab82e64d69bd2baee76e4c8ac4179b4a009 100644 (file)
@@ -40,8 +40,8 @@ struct WinStdioChardev {
 };
 typedef struct WinStdioChardev WinStdioChardev;
 
-#define WIN_STDIO_CHARDEV(obj)                                          \
-    OBJECT_CHECK(WinStdioChardev, (obj), TYPE_CHARDEV_WIN_STDIO)
+DECLARE_INSTANCE_CHECKER(WinStdioChardev, WIN_STDIO_CHARDEV,
+                         TYPE_CHARDEV_WIN_STDIO)
 
 static void win_stdio_wait_func(void *opaque)
 {
index 2926a326e0d1c280a08ee33b565883769539f6b9..aba0240759ebf938cf391d89edb88f84f94fa641 100644 (file)
@@ -54,7 +54,8 @@ struct MuxChardev {
 };
 typedef struct MuxChardev MuxChardev;
 
-#define MUX_CHARDEV(obj) OBJECT_CHECK(MuxChardev, (obj), TYPE_CHARDEV_MUX)
+DECLARE_INSTANCE_CHECKER(MuxChardev, MUX_CHARDEV,
+                         TYPE_CHARDEV_MUX)
 #define CHARDEV_IS_MUX(chr)                             \
     object_dynamic_cast(OBJECT(chr), TYPE_CHARDEV_MUX)
 
index 0a7926697caed364603541336b9c6f865008786c..eb9231dcdb988fa9c0ca2d61f2ae5ebfd932ab43 100644 (file)
@@ -45,8 +45,8 @@ struct MouseChardev {
 typedef struct MouseChardev MouseChardev;
 
 #define TYPE_CHARDEV_MSMOUSE "chardev-msmouse"
-#define MOUSE_CHARDEV(obj)                                      \
-    OBJECT_CHECK(MouseChardev, (obj), TYPE_CHARDEV_MSMOUSE)
+DECLARE_INSTANCE_CHECKER(MouseChardev, MOUSE_CHARDEV,
+                         TYPE_CHARDEV_MSMOUSE)
 
 static void msmouse_chr_accept_input(Chardev *chr)
 {
index bbae59c941e39a271dc5d6fa7dae7eb0c9010ec0..a92caca3c3392ca7faae224fb62f0c397d1c0516 100644 (file)
@@ -40,8 +40,8 @@ struct TestdevChardev {
 typedef struct TestdevChardev TestdevChardev;
 
 #define TYPE_CHARDEV_TESTDEV "chardev-testdev"
-#define TESTDEV_CHARDEV(obj)                                    \
-    OBJECT_CHECK(TestdevChardev, (obj), TYPE_CHARDEV_TESTDEV)
+DECLARE_INSTANCE_CHECKER(TestdevChardev, TESTDEV_CHARDEV,
+                         TYPE_CHARDEV_TESTDEV)
 
 /* Try to interpret a whole incoming packet */
 static int testdev_eat_packet(TestdevChardev *testdev)
index 361a12fdd4880dee24813dc3e183fe114a769335..95e005f5a5639f055070456e418c0a83363badf2 100644 (file)
@@ -86,8 +86,8 @@ struct TabletChardev {
 typedef struct TabletChardev TabletChardev;
 
 #define TYPE_CHARDEV_WCTABLET "chardev-wctablet"
-#define WCTABLET_CHARDEV(obj)                                      \
-    OBJECT_CHECK(TabletChardev, (obj), TYPE_CHARDEV_WCTABLET)
+DECLARE_INSTANCE_CHECKER(TabletChardev, WCTABLET_CHARDEV,
+                         TYPE_CHARDEV_WCTABLET)
 
 
 static void wctablet_chr_accept_input(Chardev *chr);
index 6dd945ecda8f12e17026e1d76c10e726a275bf9f..ff70c5a97123358b5df416b751a77d86148f7551 100644 (file)
@@ -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
index ba39184650e9a522c4ae8bae0246eb87191760a2..1574f7db3ece0c9ca6053bd5a669b8a9fc0394d6 100644 (file)
@@ -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);
index bd484e42bda064b27d28a979052bdd7e5ad936d1..d02b14d89fe65125a0c1fb3fc9e11311b5a6eb80 100644 (file)
@@ -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;
index 82ffc82dc7e963c518fdb01ed9233c679f0bb1c7..a49f4a1c7cb0988504f58a81cd4a07c432af9764 100644 (file)
@@ -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,
index cbf6e72ad623ccbcf84fac6dcc5df519f3c8f6b3..e2ace803eff8d5d35b71d77aa9b09f81cd032d86 100644 (file)
@@ -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 >*/
index 75e608e68e3b5ba02aa8ff875499bdf65ed34c78..19989b61b9e0b44fe228c978f4fceefa8d14f170 100644 (file)
@@ -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 >*/
index e94f711e89f71a7f5cc6af7173957485405c7f00..9a4a3d357a04ee1231e580a9880a895f216c6537 100644 (file)
@@ -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)
 {
index 8870aea814ba0f0789504b580e0e8be89bf4aabb..dbf7d63dc83f71446151c156fcd2cadc76be7c1a 100644 (file)
@@ -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
index b5173e398de874ea04eb89e8abdd3db6ec76665b..4ee5c38459e6863bdb7e9102d1f22f8de2f8d16f 100644 (file)
@@ -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
index 7fd8634ac51f785cef4bc9d61fbf54fde696c20c..16015255c8990fbd8f3dcad409175df42d4fee1a 100644 (file)
@@ -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
index 695699e01e81a0b96334d7d2878488ea8872e4d0..2117a041714dd71d939bf9938d354c31b10ddfe0 100644 (file)
@@ -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 >*/
index ddabb0e2d6a3f43c9c79bbe7db7f630fbf08002e..abc64954897557f47c9b333efaf241c5572954b4 100644 (file)
@@ -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;
index a48a32ee0954616989d6ec2d4973c491e726a99c..701baa84ca243c8fa884ab0f03ca83bda8e61c47 100644 (file)
@@ -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;
index 2cd6dd929e33eee1cc5ba46381dcf1f12e7fd0b6..16bbe4fb708940413a24fc4d7f690fb3e8943fde 100644 (file)
@@ -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 >*/
index 00e72fde4e6351cfebf74d0230611161b538f648..cb52a9dff3d95b47968e32e55834e707f0e44633 100644 (file)
@@ -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 >*/
index d9f7eeb06b492b4a773924a4d1212a4e24bb27a4..d2f674587d32845be75aeb17557f64357b5aa0e9 100644 (file)
@@ -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:
index a638fb369ea66fe17c7868d22622bbc55d1ea571..ac68b4640d0da6ac8295d79f4067d304c09de819 100644 (file)
@@ -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 */
index 0bf5745eb252f46d36ef235c67de204305b2c9fd..a7ad667f06b52c80e495f2c366e73ef72bea714e 100644 (file)
@@ -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;
index d8d7d3a43bd43db186be671bbe30165f3e088f69..d6fc4a46814cafe45d54ff38953e33e9132c1dff 100644 (file)
@@ -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;
index 8faeaf807977e9ba15ce0ebb3b414c2d43229a7c..0fe829b868635fc46147a60c2caf9678baac1dcd 100644 (file)
@@ -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;
index 6ec83a2e2d2a84ebb75404400c5dc4eb2fcf0c79..2ef6c7b2883afb444ccade21216d830b93db5ab4 100644 (file)
@@ -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;
index 0e2d74cef272fa5cc2be5562dcb3043c9908d89c..2ba69f24b7832d9d361eea7345af5b5685c04827 100644 (file)
@@ -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;
index 4c2c3778237e7203986e0b4df91ea478f51a36c4..01bb4bba1ec05362c1cf717cdf7a1df92b594044 100644 (file)
@@ -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,
index bce99ef7bea22aacf9983f0c08d2e367308bbc21..9eb9cea8d4dce23a39232214e1321208c524a206 100644 (file)
@@ -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)
index ffa9dd476beb470de69b26f84c337742b40a89d2..5a01e856fd94d8b1b8ecb9017278dc7b2f825b11 100644 (file)
@@ -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;
index 74f48325acb762e236e9c61e8b839302f3de221b..19d5a4d4e0e6849061ef780f7643b6807b9c0fe6 100644 (file)
@@ -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)
index 9c694812693052027a4945dd905e893a3e4d9b44..72ecb6df296b3bb54519db2c2cba0ef60e7e3506 100644 (file)
@@ -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;
index 9614419b7a4438c9a61261fb0f3ad11851c83c13..eb8a7f032d0b5d5d54520e040a67017c5a53fc93 100644 (file)
@@ -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 {
index a216fe1925f07743858c8c39dd1b648e427cd612..870116e3249105433ed70e9f37d81736afa91040 100644 (file)
@@ -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;
index 2b868051c3b60f965770da484f920980713584ce..8e9554ce9bcd4f9f0cdb8ffec0c2a8865c2b1fa5 100644 (file)
@@ -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;
index fc064a93d775ce77103ee787c2c532d64cc72e79..7d60ce6f0ef34e919b5adfbfcac3ed288bfe50ef 100644 (file)
@@ -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;
index bd620d5ee28c3c457b1cc36a513291164280e2e5..a824f8949ea49ee079e8828c8a60d5551a5ff1b5 100644 (file)
@@ -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);
index 3cd62d43d7705a130ad02b22011c59dbb3b93884..307fd48315aaa2c5f76c15ba60b518383f3760ca 100644 (file)
@@ -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;
index 8dee2915be39eb4c481a6661506a6553b9d56438..77d31b91a497d7afeb72f8fd5252e8814e133f5b 100644 (file)
@@ -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;
index de30443c2e807945b262c81ed8195d1ba6a8b47c..4330213fff167071800216c49607c5f18022cc20 100644 (file)
@@ -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 */
index 44a2897ffff94415633db64feff60f82c8dda3eb..813a7a357df2729270990fe1556dd327733f3567 100644 (file)
 #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,
index 5f2e7f3b737a0c083f9a7297368f8dc484146c7e..c8641562cc4f1a4f8234226602a3d014e891af81 100644 (file)
@@ -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;
index 4eacd4071ade56152a66a7b7c343521eb280becb..7893539019a1d9d82e8ef9996dbf6d7edcaec2b1 100644 (file)
@@ -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;
index 57edbe652c4d02c834a04af3fda866eeb7a94ecc..cbee8855fb1896f43b21fa2d7a48b3464a2e9ce4 100644 (file)
@@ -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;
index e514a8cd70231f4d0308a05c5e645d454e02ea2b..570a234b72e00035f41c6767a1c216662c8f20e6 100644 (file)
@@ -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;
index 840f743e4174bd719dcf908619feca59605f3fc7..6aa2c0fb93aa6d64e2899572ed112c53b6c42a6b 100644 (file)
@@ -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;
index dae23f43a416a1c9da70c9ec08384303602f135c..7d6fcfec03261e756355e14d92d874095f98f1f7 100644 (file)
@@ -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;
index c24183c07f0244e8a888d2e34858e23c88ce5657..3c8388490d668b4d7f7c980a10ade9b71926e481 100644 (file)
@@ -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)
 {
index c3b8e0511076ff0918d76722ac93ce6bea973f8b..44c6afebbb66f2aa0d7248f7f4666a493bedacc5 100644 (file)
@@ -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 },
index 2c46ecb904ffe17aa46b6dd4d901ca985edfa3d4..a99ee15c7e18c601d99614813af13eb55d6681d8 100644 (file)
@@ -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
index 70bfb136e494a8ae74df1054fa2fd6bd63036331..224bac504f4d11da4eff66d16ca4bca32909c176 100644 (file)
@@ -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;
index 9de4f9b2746b2723e13c378bad911b871bcd145e..8dae779c76dec1df4b25e78af0d50887deb5300d 100644 (file)
@@ -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)
 {
index 7c7a08b7aa52082f83221ab4c0db639bb4a1c9b1..5c8112ed5a45833232afb36e014bec2c4da96388 100644 (file)
@@ -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)
 {
index 5fe235d11d6aece9e7d6c4975277df989718cda5..19f55aba662c8de751b0f6a67cdfc106bcf2a369 100644 (file)
@@ -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;
index 219e88efee281816ee5aafd7ffaf351b5eee5610..daaaca0f394c63aa394bc416adccc92999f142d1 100644 (file)
@@ -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
 
index 9ca9f21c4dd249369a203babff3f16df3f9064ec..d9fba2ae6cb5dbe1844bb2b6a24b6ca607f1b8f9 100644 (file)
@@ -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;
index e3a21dfdb89549f8bfa6b3b231d9ab5f446a7489..b8ea34edbd5c354461b8328eb5b79a8f4ae42ed2 100644 (file)
@@ -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;
index f48ad21c7c5e4b57fd8b3a72f3f063d79a5362ba..6fd88d83ad5748e527c57f0ad1a64b8e0f12954e 100644 (file)
@@ -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;
index c7ea7f8da90cec63565b071335383ae7c9b60c04..2c987df8ad8a1397ed09073c1a60f79cf997317d 100644 (file)
@@ -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",
index e7af76ad1aa9e65644d579e328686504dd62f10d..5723f2e189ff6d0d1662500830e4b7ff9f142dd7 100644 (file)
@@ -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;
index 8aff78592b1b7e5835dedd52d13ff579e07d36bd..624bc83c5f864797f0b741c89a48eb1b3f5b5207 100644 (file)
@@ -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;
index d6745da72ae1a1c93355b39fcdd1d3b9f3a00672..f6baa3ce770796dfb246ec2c1046af7b35f1b8d7 100644 (file)
@@ -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
index 300a9150cfde31b1d2dc2c8a81bff5bcfdd2c294..41204a0e286facd10aacefc438425178b3b367c6 100644 (file)
@@ -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;
index 73ac5ee9e31bd4de752bdca5fa5538e900b8c88b..ddb14f319740edb526f614d9bc6d7abaf1eaeca4 100644 (file)
@@ -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;
index 0b77af68a4c8d7c3bde0da9110f131b6503a7035..81f6d0ed4f903ec4203f5b691bbb88a028d5d249 100644 (file)
@@ -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
index 3919368570eaf4d944c6fbb1142393b7a4ca4045..aa72ab40b92cc74c4c6464426bc698f846cf6aed 100644 (file)
@@ -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 */
 
index 3d1c9a2d75eeed0aed022270c0eec11d8dfc0316..d4aad81a85c9cddece7378012d3536ce6fd44db1 100644 (file)
@@ -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;
index 649f08c20e92f383146d1cfb6864159d92f1b1b9..f68948154e0b3da65fac6858b6bffe66cbe20380 100644 (file)
@@ -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)
 {
index 9944933c16a602a0f88fdef8f5fa98652a84911b..dd6dd2d8c337b3f55eb2f0ec1eda315040314895 100644 (file)
@@ -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)
 {
index 4efd6a94330503d3a85086e673d189f673e3eb92..d77981bb6d52a2af651bfa2b6ecbd454cf76a085 100644 (file)
@@ -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)
 {
index 31144c68b6d3caab79678bfd0461f5d867c2ee13..bc752cf90f36fb4a1196c28c5e316c11ff7cdda8 100644 (file)
@@ -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;
index e7ab97d58dcac1d98951b3f1b4c816ed6ee72d98..8e9f9cd9ec470d88fd0e76b7a0255bc022dfd26a 100644 (file)
@@ -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;
index fb3045b912e9b6af659a602aeff3bba8244339ee..8a9cbdd5561a0d0c35b5139df51ec980ac4c9d21 100644 (file)
@@ -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;
index 1f1df08cfad5f8646319b54cffcf7d19a004f42b..fb547aceef679afaef0468d316560400795e76e3 100644 (file)
@@ -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
index 59bbce397933f28f1d24f42d403c7b2e9c185a31..4b87ee7135a3345fa2c6a092fecd78e8ab699cc1 100644 (file)
@@ -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)
index c030894e7bb3242a9d5d852c676f6e0efac83c64..80cd66e41dcd4454f7aff0c665a8c1efd238f468 100644 (file)
@@ -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))
index 2a8a3306da9fc3987d3f97feccb91bf1d80c9b87..714005447dc8d3bb5a79254ab8d35914709b6706 100644 (file)
@@ -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;
index ef92f3a4e7df3e24422071630d67f75556428fa8..41587388c42dc156c30cc170e21795956a9110cd 100644 (file)
@@ -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",
index 49d7e777f91cd8763ae1c146a89ae55709f312a1..d66ba9ad6a649839b443d1ce79fb8d33fca5fe49 100644 (file)
@@ -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;
index 9602cea4cce5f6a3bda639b74d8161af51b0f6f3..c088f38cf8ffd3aab9f0c6a722a8f66384b534d1 100644 (file)
@@ -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];
 
index 28d1fa41e7ecdb4632a60777717522f857da9ae0..e6adee1df43705f66691df718659d8ec049c5de7 100644 (file)
@@ -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;
index 993b7e9dae42c61d842c60c882e74d0eaeb9a93f..3ef8698eb7baa393e80c5bac6389b88ff1fa2a8b 100644 (file)
@@ -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;
index df674c3c01cbbaa23e8e218a4c09cbd834ebc5a2..4a32fe4c94149fee2602a9a91101686626a4e312 100644 (file)
@@ -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;
index 97ec36878b5353bd765bf4f7bf09ce34dfd5ba2b..647d05f602fbef0e221d180dece5387b14f15ac2 100644 (file)
@@ -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;
index 66cb8e6a604b41cbe3a41791c89830fb0874fe48..8a9e7c23fba94f3af514ae1bade949658d23a27b 100644 (file)
@@ -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;
index bbf412d9a0eaedd5cb2c888599c1fcfef402fea1..2c879129fbf37af2dc062438bf95990fa23065d5 100644 (file)
@@ -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;
index 068dc0656f18bd3f9c172f4fa0e6914462b8d9eb..94db0202a323a9d0b78cb6067dfe6f3cd184d360 100644 (file)
@@ -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;
index 4cf953c2f4635b9264114cdc1473a907ab084fb5..af51a2b9e78ce4910caad0301925d092c1847b5e 100644 (file)
@@ -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;
index 4ecb6b293451a77a15ecb1855c601cfad9532ef1..714cd01b630da9ff6e93a7e2cbc54555d653ea64 100644 (file)
@@ -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); \
index dae32b9fda9c19fbc05993f62e3de52277f87135..8c0094397f5b384df94cafa87cc854d4353e19f4 100644 (file)
@@ -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;
index 4bf2c559cd75b61a9ee290a1f34ad61b7180f144..d88166f44986b297635d163ee5997d2f9fe3563b 100644 (file)
@@ -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;
index f886c1e51b867af370197fa64ab71e9ad16fc84a..51120c6c3e940e31090402278320c1b091294160 100644 (file)
@@ -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 >*/
index 8804567c1f3f2c038933283efd1439c05c036a48..0378573a4239b54a8354b2062c3b79ec34cea73c 100644 (file)
@@ -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;
index c9d79cfcd395965016f93345370ea522b3cddaa8..037da81127594364e87902f2d765af2e99364495 100644 (file)
@@ -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)
index 5c755899192472333970d1ad3b16298208baff6c..69e901a800c101e7acf3872617d1e1de188dd51e 100644 (file)
@@ -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;
index 50efc3760ae95bd684964d5518788f69d12f520d..0ebfcca9d1ddd3cbe1da66c68bfe2af7269b6345 100644 (file)
@@ -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;
index 852cbf36e9238cd14649948dd416efc0431b5a49..3b45fa3bad035aae595c004b233072a4a079c5a3 100644 (file)
@@ -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",
index 678b762bbb01f56695edefaf66aabaccbd60ce30..a02b23ecaf11f454d722629cce4d5a959814509e 100644 (file)
@@ -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;
index 2cc9616bea087ff5cad1183be42ea0799bc3a915..7110ea623157a9eb33a8c5ed03b2b344c83fff38 100644 (file)
@@ -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;
index 7248ec30c7d2f8455a4e22020644bcc48eee6026..d742a30aecf75a01fbb8ee8eb4ad247e096532c1 100644 (file)
@@ -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;
index 0bb98ede7511d2494785a2b80705221653ea500e..17e5658d43b10fe8831a9105a0312b2cd2d90bd1 100644 (file)
@@ -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;
index 2d3b765bf9845b8b8adbd4d15b926c92b6df651f..19f8af7356f65fef3084778e03148e0386b1d768 100644 (file)
 #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;
index 076dfcedd79354c29211eb9b54a4e76db2caf1f2..bef0d7d69a79bab6348b81d99787bab548935dfd 100644 (file)
@@ -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 >*/
index c12946aaef89eff0d7b9a39241e5b8ed87b7e084..5b7ff635f735606e299d772518f82e60d3429bb8 100644 (file)
@@ -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
 
index 380d45db8f9fab37d22e3d15a812426d3ae779e1..859586fd2f66263770bbf051001444652e17f410 100644 (file)
@@ -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",
index 72e7b395b02a23d2c3dbc890e0d09119bdf09a59..825e3dc0ac10123c02bef06a6fee5b085f9d84e2 100644 (file)
@@ -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;
index 6ae803583152e2ad106c2ac76754ee6168a2c844..4f6c0e5e5ef04d516b462e4b8491d4779757d455 100644 (file)
@@ -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;
index 7d6eaf5e96fbf1634cb3ec943b041458352c0d96..c584815d06cbb6840bcae60740f492d69ef8de16 100644 (file)
@@ -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"
 
index 6d48fea8feb4e685536d7df089a9568927ee9550..f313453495941a14fd3486ffb1698c6f3f780520 100644 (file)
 #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)
index 2500a23c6e3f90c5e2e8c33f58ed400fc91b0fa1..86aa78aae4c6520fbc8b0d7f20c0eb55d87822ba 100644 (file)
@@ -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 {
index dd7e7f293d9bacc41c36a12d634099dd90e33dc8..5511047f3530b5c82b3d62083b1d9ae823b1de64 100644 (file)
@@ -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;
index b33462e4db6d4ecc1bf607feb5b2da93e887628d..dac8b1be38dcf611995aa54fa83274e855db892b 100644 (file)
@@ -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;
index 6c36407079b577d539b50a891718e9e917b6c337..3420df0d1fb9751ad28acdfb00cd96af3e4a9ef9 100644 (file)
@@ -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
 
index 5e0ee783dc7d9227880e5ded9fd347cb6dcdf18c..98ea2b4c2e4601893cecf14f24f1d6a9b5fd592b 100644 (file)
@@ -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;
index 048e40c072b0faa9f1081a32f78ac038e35de5ba..3d25c55d0682fe420f71a3ae3b3725204411e5af 100644 (file)
@@ -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;
index fa739adc7bc35c881afe63b11f56fcd3e706089e..c0c9b8a2b8af191349edec9bbfc7225401a2c633 100644 (file)
@@ -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] = {
index 1acb9ce631ce43928326830d9ab1bbe0304d63e9..c0b970f55cd54452bd04d9cbb51cd24ae7adbcfc 100644 (file)
@@ -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;
index 5dfa9d77e1477a2597125e61087fad7030a52804..aa5a2a9bd853ed6322723576ef32fafb85918793 100644 (file)
@@ -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;
 
index 8f78fce088342562d12efb870e6434cbe93c3f6a..f6ee98e00c59ece1903656fcf004762c0fd95892 100644 (file)
@@ -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,
index 4ff3c0b4ec496f1f01d4b6fd4a650c987aef4583..c1b9f298d99ce24d07cdd579987d3df903b5d5cc 100644 (file)
@@ -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;
index 9d2f780d2a2ff3d026f323dd3c0d37b220b91ab2..ff82226e9f04761dc874001822b84ae9b4aa1ffc 100644 (file)
@@ -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
index 232a277da4a62f724f3fa8a7379ab38bd9de40e8..156a25a8e9a0c15e22a1ecfedd55d744f3ca39a5 100644 (file)
@@ -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
index 4f98012f1c9438198cd2868989ccf7ce03b87406..c6777844cf143bb1e8f7aa0fbafb00bd5c098581 100644 (file)
@@ -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
 
index 44d26fcf39a84c869054f7c58abee6e82d1b5ab4..2d4578511d11b8fc83e2664da9e0299a012b62f1 100644 (file)
@@ -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;
index 3ab386d6717101126491337fd9abafd82cc0880a..3a04ba3969170940a31145dedb21dc813e6c9fbd 100644 (file)
@@ -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)
 
 
 
index 85860c36dd9277d8983e4b27d6e873e8e8244ce9..fa5feb183c039243313aad277e612a36ef18f179 100644 (file)
@@ -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"
 
index 94ece445af6610b5f3ab7b9bc27e8888a7ff26e2..37f47540e511e6649f77a229e4d4653960becf07 100644 (file)
@@ -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 >*/
index d3e4142b161e6104d34b98a855169fa6c94068b3..e18fd337fabc56d37a709ef0bdcf383b66ca23d8 100644 (file)
 
 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;
index b256f97c83c0ad7d7cdab1d1b68cca844cdab144..3f8bf69e9ca4591737e65c83736f64579a6b1658 100644 (file)
 
 #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:
index 857d9f4a61fcdbd9c6f3f5f19055a4a18861a484..a4e05f086eaeef3cbb32cc890c6a0a5b8cadcbc7 100644 (file)
@@ -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
index 48200def5d2d8904aca8d6d8b09a229d9691e9ad..c00dcb261b9f49313f420f0acdc981f49e50d5f0 100644 (file)
@@ -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;
index d187de3745b1c5a6f09f61b67ab6af9944d6a572..ae4cbc7add80262c291fd2509e82e3d2f171f95e 100644 (file)
@@ -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;
index 3720834630f7a1ab2a5ba02aca529482b484ee38..df52b6f90353d7a139fb64d8a58b1e605ee05833 100644 (file)
@@ -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;
index e8dbd580c5aa7125e9a4569e66cc0aa5d1e7a59d..a8bbe8c83316154d1910516ca789c1f9467092bc 100644 (file)
@@ -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
 
index 518c66d0bf3b46424ad1c61dfdacc8cf4f223e86..67f83616d356294b374628745c98015fee993e77 100644 (file)
@@ -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 >*/
index 438f74e67cf0ca39f6c97b27b152ac892ad64aef..9a3489691b134429f2047cbf3412fbc8a8296710 100644 (file)
@@ -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;
index 28f171bf15d3b8a319edddf879eaa7bbb031a7be..6e7f5df901bdde086a07d1af51fa0f6fecb9d986 100644 (file)
@@ -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 */
index 501afdfaaa8e5633e9669f1a828ed6517819a856..4bf6e3a8b76dc3375e4b683413fcdb1635a80820 100644 (file)
@@ -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 >*/
index 11c5b88bbf9dda4911a51cb7599fc4234f8891e2..968c239ab8e2484dd998cee66484041d531be5af 100644 (file)
@@ -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 {
index a439bf6361b602418fda35d0623651adc9df922d..fe0c363d6496a255017a684dd4322253c3adb3fc 100644 (file)
@@ -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 >*/
index 8e4cf470d4f4ccd2cb7a27a3940017257947a302..f5750909b45d6976a8c62c6039827b6e6258dac6 100644 (file)
@@ -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 >*/
index aab94d2815a3d8f250b137fb872a6001192b8690..70245fd81702e82c28df7a8f4bd80c87664eee1a 100644 (file)
@@ -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;
index 8b5ffd28f27075218366db8e3c60c06277abc06e..eaaf8adde4d5ce9e92ccd7a6612eeac3a1d7c72e 100644 (file)
@@ -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;
index 8eb6866953615f202e4539fdb9c713edf7ce463e..7c53ae97da551438b04de2fe812cdc54f7925d57 100644 (file)
@@ -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;
index 8fb566d1876875fbc8b89db82690a6050e84e83b..04d7a6d68bfb07095bda7240ff5bcd20bbb973fb 100644 (file)
@@ -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
 
index cf4b3c58500b6f23545fa16d5e2fd211d84ea2cc..54ed4c77f73411d42ddd6f7f9bd4e1ec204c12de 100644 (file)
@@ -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
 {
index 8e54f156c4a277fb7a8cc6f2ab37d5ee56989a83..7b01481ab805f59462853129e0c49ec184e2f653 100644 (file)
@@ -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;
index ded31466ce87192a8f1243e81b45f7c81c7e5789..f9487673fc88b41d27fc254ad6cae5f62e6fc551 100644 (file)
@@ -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;
index 5a6039639031e468eff0b402f7a81267c111c734..9b34a8ae03232e34b7b3c10ec58acca4bf509ce7 100644 (file)
@@ -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;
 
index 9663207d344c365e0c26630e4a1b2abe83bac47e..344fd04db14da7a9aead0061c07a57210085dd23 100644 (file)
@@ -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:
index b08d9822abe43070da030dc2ee428670dee51506..e8b4015efdbd0c991bf3102aed9ea2159b32cefd 100644 (file)
@@ -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;
index e11ca686476d51674392ef2c41df23716442a9d7..30fb375b72181c8055bea908219c7ec9dd919a60 100644 (file)
@@ -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;
index 2594381a9542284782dc492e8c11d75a2a9507dd..aa26f059a1729f5923b592e8208961df4a94b138 100644 (file)
@@ -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;
index 8dd763d6c55de6332f656be8addd8a04d68624fe..a8ea621d9e260ae73d1cadfcad2914018b773e78 100644 (file)
@@ -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)
index 3f5891a8a10b9d0cdfbf689e73265c7cf6ca61e9..8c8fbeddfe7889dd1253a7ba889e553f9b57a133 100644 (file)
@@ -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 >*/
index 4f2aa58642bf21f447bd41d976f3862e4a29c028..ee3206132fc91383b60d199fe50a91033d60a585 100644 (file)
@@ -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;
index 3a8bc154baaa8aa8ebd1e74b4696df22c4435a56..8bceede256302cf2556a0c37fd631fb0409b56c7 100644 (file)
@@ -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;
index c4ae10d9788c9297c86d2db19da404839b66d24d..35d91afa557259b32b4ebf6293499792bf8e7342 100644 (file)
@@ -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)
 {
index 767555686835e9dd4128180291ea43bc93e18b11..4a72ef5d0de4f0f931716ddc88f03623a44324ea 100644 (file)
@@ -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;
index ed1c2bcfb8eb035c47051a3a76f6f42085e506a4..4c4397b3d2c35d3b9edc21516f33d3c02d8ace45 100644 (file)
@@ -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
 {
index 81d3521d8f5e69c3c8dca327bb3ba75c7d4a9a04..b35e1d2ac4bd36a80c64525087c76ebe5651b2fd 100644 (file)
@@ -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,
index 018667e0ca14e8e2f8db9de9ebfae5f8488c75c7..159831cbc579c6cb37e6ce955a976fddca060866 100644 (file)
@@ -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;
 
index 90b3ba1232282fe8174e3eb95451824322273c91..0b69acc2e9c5a798a9858e9fcb185cb6199372e2 100644 (file)
@@ -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;
index ac7caa26ec7f7a6b5923a4b4e34c5fcaf53587bd..af69e9a008c841af6b911dbdb951b0cbc2e44e8e 100644 (file)
@@ -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;
index cfc72750422e3abb5cba503cb5bfe042b398bb4e..7e5ecea6cc99ef54fbf4687645ae377b60398453 100644 (file)
@@ -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;
index e4a1603d4e84a4f116ffc9affbb6a5f262de96ef..c2a283a982fa1b641848430ce9ed440d819d4b30 100644 (file)
@@ -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;
index baa8389331c4002dd9d656f5db329b1bd4e4f6c8..cd4c05dd1b37b25b6ae1a04c91725d53decca478 100644 (file)
@@ -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
index 4060d22c0738cf21f0d6ba26a1703ab22f762b89..1dcf525f3f089470a8165dd1fe98186ebeb0979f 100644 (file)
@@ -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;
index fdbc20e30a4e1acfe677dbd349910fae446731b2..8e3ac845b87efd8219fb4f5f03991e2d147f1bf5 100644 (file)
@@ -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)
 {
index 24047538d0b11b8b78f874803711ac8f84571176..1e6b48b2a2c388fdf7ec95c0a3ea334c6d056da4 100644 (file)
@@ -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)
 {
index e628567cf31c1081fd64dcc9d575120d9a31a40c..7ee447240b601a1ad3308890c19b915ae54bf434 100644 (file)
@@ -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;
index 25168c449fda05fa51474ff8f74d04d3c32034ec..cbd913b0a2c4c90d8aa19831558fff9f41e15fb3 100644 (file)
@@ -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
index a6316314ea1720c901004ab122674af26f04ac49..c7ca3fbbc9629544cf323901cfade9aff519a9e9 100644 (file)
@@ -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
index f679aeee0dd4bf67cdaa8e4c94b184eed00250a1..ab9924bf200b16be03588defb49e1ced39dad588 100644 (file)
@@ -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
index e2c35b4fd8e65a94888696243c0fa302eb7a9e38..1b3f69e949c213533bfbd1c3f5fd1b043d194824 100644 (file)
@@ -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;
index bd7ec182fb81465e276b1603c92ddb09731ce161..b613e1e01163f589dc3008ab97674e7e35932012 100644 (file)
 #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;
index 86ae5441042c2c3601c9169aeabf257034c3ec2a..5b73ea4692a4d5785fe732853c042a7c18682f35 100644 (file)
@@ -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;
index e3c7b1765c95ec9153e27390aad2a9930503f843..dca3fba028986e64a2e4746eaac6c9480952afca 100644 (file)
@@ -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;
index 4ad2b6a98b295132d5916a5ef21822e22877f6c3..822deffc0c1d17fc0abce6aa3fe8ad84e9565f19 100644 (file)
@@ -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;
index f75d7988cc07d3913485c3e9f19afab3dd722a05..93948c3bd88bd1da9b6477ca67f96dcca78dc35c 100644 (file)
@@ -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;
index a3faa516d609fa14dfed5b10d4817fe2b4115cca..f0f49e76e886b64e4907715f2f4b7b1c83a71d4f 100644 (file)
@@ -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;
index 6c1f9adc380b3ddc8a87042a37b9d0bd575b10f6..c6b0cffd77aa60f8eac6ac899148f68ff4ebe8cb 100644 (file)
@@ -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;
index 47bec04c8e013f2b2656d0891478d7a5ea4b5bd3..468c2a491dc69b53002c3c9e8453e4be508bd5a9 100644 (file)
 
 #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;
index 2db9d63eeb90344430fae4469c9fc8515662768a..0ff9d1ac789686f92476c98f6e4daa2347415532 100644 (file)
@@ -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
index ec3e510b3ed9b7e3d23e7a8ba1c35cc0db4f3bd3..57dcdfbe149e2a8fca3fe36d180792d25d38070a 100644 (file)
@@ -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;
index c54f360aa88b4ec8db9d75016608facf7c12ae47..4b469f641988b872a2ddddc740492c48c48adf9f 100644 (file)
@@ -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)
 
index e6bbb1f7c80dd80dc15774c74635171252f2c493..b19b82a88cd5c8da70754495baf861008394b83e 100644 (file)
@@ -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;
index 3e2ec4f5436f925e36bb7d77e7383a4bc2da7044..13ec6e188bba2818842d92e91244299cf4c74bb4 100644 (file)
@@ -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.
index 1f65f6f2ac3060b6af6e8e9667a5f1331f7ae912..e321e5cb69dabe8554f4aa7a66d0091e17ff03f6 100644 (file)
 
 #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;
index cf3ed5a49c051e41c2e85cd3941a91439ef5b84d..f25715e09ee692ed081958ac698dd1ec760b6e36 100644 (file)
@@ -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;
index 81251792c165ae80aaba5f71ac2d578d7a63abb5..489bb8873fbc804f518fc5d59ed492cb980eb800 100644 (file)
@@ -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;
index 314dd5fcbd4039aadaecea3ba159cf046212cf50..f74d8cdd4aca6f7ddc995e0750ab222ed8881df7 100644 (file)
@@ -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;
index b7f3fcb25407a9e89ba46ac78b938b4e2e321773..577a15bf58b159ef513458cfd93301bbc85c4456 100644 (file)
@@ -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)
 {
index 9cd51b1afd5edac370d412af87d27dc8b4bd0ea1..b7686e27d7fac579c557e54be7c08253d2508cfd 100644 (file)
@@ -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
index db6d0d5a714718c1447737b6c44fab7e0e4ca97d..86d48167695b9b29e450b38fae0963070b7f7689 100644 (file)
@@ -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)
index e549c0ff211e318bc9144385cbc13daf24fa5545..cac8497f81e14d4957e5d875052484598099101e 100644 (file)
@@ -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;
index 894c67e6cc67e6cf6ecdc65f862e24eecbe8ba22..598d5471a4203752f8d6adeabeefdebbd17a25e3 100644 (file)
@@ -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)
 {
index e5cc2da3d3096d12769752891adcc93881a35e96..477f587ef3a1364fb3a59b762d1ecb70c2f85c8c 100644 (file)
@@ -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;
index f1a039b5a97a13f121dd525adb679292ef76ac96..ab27ad462e19bd2fd8a5bce0fc62deec97c76af1 100644 (file)
@@ -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;
index 634bb4a0d65fc1b29663242f333ae015025cbe87..7ee8a496ffc6975b3c06e334ce190441ec97b02e 100644 (file)
@@ -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:
index a289c83360f373e2dc5f06b789a6268a51c26135..212d6e0e831c130888ce2f83d0b84865300ccea0 100644 (file)
@@ -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
index 223f533ce811f6b6f784f1d142c544d6af641c5e..bedf09a6f5b072feef4e0ae48d51edd32829f133 100644 (file)
@@ -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;
index a84d98817cdfd9d8c30a21ee9201a3e568a14509..168b3a620d91a42d7e026a7c91fb3705ab704569 100644 (file)
@@ -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 */
index 8ded64c9b8d3e8f7f6bf3175e95df0ec41ce1df3..7a79e2605ae6763b9f5db6c832f9f95e8aff738c 100644 (file)
@@ -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
index f39228da89f809414db63c04f244db5faf09033f..8ef4e74af02cfd04caa1a274104783c4442f304c 100644 (file)
@@ -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
index b065d428ee0577ff8620ded363fb8969924eaa09..56b96e9b0f9d7c2dd4baac84a3e5eab8d418a4b0 100644 (file)
@@ -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;
index f8925a10e6e07722eae41e15506c484da3a42b9d..83347cbd879716b29071b399ac30de943a309479 100644 (file)
@@ -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)
index d631765f2a7f82c8fac39ca67b99a2df9a498faa..938d44f1980fb88feb56274f81e37bc9d758f3cb 100644 (file)
@@ -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;
index 2bd37f6d0fbc844b48cf3112eb5a1661814cea29..36d898ad16f6276f85c1db152d4628cafe352a8f 100644 (file)
@@ -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;
index 132a87b1ba2e5bbbc7d1a1c6c02034b4ca251471..0c929d9afd5befaf8089faad79ccb51a0a3450bd 100644 (file)
@@ -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
index 5d7f966aea5410a9d6c16335863f7415d9810f1c..57a59accd0f9fd72f4ef769f95abdafe895d3923 100644 (file)
@@ -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;
index 0ed01fec9075d1910e244093d5a71e8cb3cdc84a..41a8543edfc9042cd73eaae9dc1dc369c598ac13 100644 (file)
@@ -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;
index 094951abb3e3c0f969e984225dc118ae9dbcd8c3..61dbd575daed2d251a966d84a40ceb768eb5fb32 100644 (file)
@@ -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;
index 716f3b6618e8cee5eb982d89709ce20905f6e559..688a0cc4f653810813d66d6db7e4b4c9fd362564 100644 (file)
@@ -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;
index 6e3257d2f79654b17d103adef61dd24f2374fbb6..5cd204c30c1c05b8d3794f9582118785e9d7e699 100644 (file)
@@ -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;
index 27f6566d5f4625508b4f2342d6e0e7f0d6b515d9..449970bc52dcfe922384e35594580012a0a26e5a 100644 (file)
@@ -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 >*/
index 0dd49d5f41e2fe4f8668b7442c61faf9aa9484e6..941c9322658cc22c5681a663303b8963cbe045bf 100644 (file)
@@ -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);
index 69d7f36e9863c0cbcd628faa318db84a373e2bbb..9246388f58d9272a84a9f3bf2210ce2e08f59f00 100644 (file)
@@ -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 {
index 12da4b1f73b98cfe16feb737aed1c2c5226d53b4..9fad90432114d52264a2269ae4877794ccf20f02 100644 (file)
@@ -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;
index 94b61a646cbba9c3e3fd24ca7dab9c49cb885953..d34cb29607d75b3b687c0869841bc6ffbfb3182a 100644 (file)
@@ -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
index 786dc9a6c69b1a153966e98aabb302633c955898..9f13afa4e42b2530464a78f2e4da6be98a1a2b70 100644 (file)
@@ -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];
index 103a4e19d9231f25833e7a33aee6b8c8206b4b6c..91753830a7a84a8982be1a34af6c0e54a6fa8011 100644 (file)
@@ -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
 
index 43fb8da97c27d93e0ff470c60e8786daa7ab09ff..7364ba10190e0cb4f400839ae165742812a44582 100644 (file)
 
 #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
index 5fe4aee87dd36cfe5a4e9e458ef37f2662d9bf9c..87e3ab79bca0ccd6eda4bdb1dd356334fb99a8cd 100644 (file)
@@ -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)
 
index ca3dddad9204f643a2e5452bf2ee548aa02c0057..eff299f6290cee3e784d9356179893d76999c375 100644 (file)
@@ -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,
index 1df1e4c3a65bb5b6088d58db2b469c4c2da601e7..71440509cabf402a09d8cfcad220c18331c13916 100644 (file)
@@ -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)
index 10eebebe522d4edbe46e18a8a4098cce517e0a07..a066550023df5ba4d77cedb521f249c8ed3382b0 100644 (file)
@@ -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;
index 18f28a386e36744ff42aa836d190536439eb588b..10a33cb4a52d0a7f9d9ec37e601f0802372c36df 100644 (file)
 #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  */
index adf477960eeda0ac6c637dbb32a2f70918d46898..6e09f7e422e6072c8d38e799de7fcf398bf18e51 100644 (file)
@@ -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
 {
index 99e27e9174ab52034a1e64297abf5212069b3d47..44fb7a94d30a5504fb0ed250c7a33c2540c81e95 100644 (file)
@@ -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;
index 4bf7519bc7ad0bd3d6cc75304f193b8a1ad589b6..3e93dbbffb119959dca53a93085abcf893f76cb3 100644 (file)
@@ -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;
index b9218e0b89c5326b909c58a34b002496c71f369f..57ccc174f226acfd14449cedf144d1f8501f81c4 100644 (file)
@@ -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)
index b35866d8d1fcc82b85b899464ed301f46c0f39df..e88998d88c426b2456b2395c1b6ca903b969ae20 100644 (file)
@@ -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;
index b62e20a648fa899e4879df304d94352f72943d4e..67c71d566bf5deefb023b6796f47f3497d51991e 100644 (file)
@@ -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 \
index bd1b10c8484a1e96a8c863192e063ea2caff0105..b86d76caf3269cad138e511e25da8a06e56c163f 100644 (file)
@@ -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 >*/
index 4a31ee3748fdd4c6a7309de095264a5f4bdc86bb..aedded106422c9cbd6e409e9ef7efe72de0a288c 100644 (file)
 
 #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 >*/
index 1178cd862062e8fa10816a70d71ca4b9d7d17113..abc98f8cd967b45a54db29ca726215081e108699 100644 (file)
@@ -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)
 {
index 3b37f4f542dfb1864514197383544269707ef965..d10fbd39d35a21dfa06b2db1d4da616bdff9b80d 100644 (file)
@@ -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)
index 48a16269adf3811e18ec876e227411cb48968719..fd7d6dcc062b66f74ff1076f5be8ba1589b2ddee 100644 (file)
@@ -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;
index ead7b7ef1ccac630b3f3c4530191aab3acd81afa..93c62235ca7600362f6bf0bca4046c6e880e6261 100644 (file)
@@ -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;
index 180a91a846338f6c273f6835496391e2c1ab6cc0..a7f96850055a7ff24120d2bb4e153a4a4e80b250 100644 (file)
@@ -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)
index ec85de5c74d538cad90a5c55e36427334edfc77a..03daf40a237b8ae694baeb0d83b3c5d7530040d5 100644 (file)
@@ -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)
index b29e2be9ae36c41de8c09a27b091b9b80ddab43c..f376374e24fed8fdc4bb06c52cb3fb93fadfe940 100644 (file)
@@ -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 >*/
index af0c2eb941e4983f55dc6fd6a91b1665e6a3ae51..b234fd7c8a9441e0e31c716cbddcbd81bea16e69 100644 (file)
@@ -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;
index e0d00baf940a75a2a68e4e3b7c3dba4db7f18770..3553277f941e570a70b060263d6b91aaec5b8581 100644 (file)
@@ -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,
index f7fd73fc0da9bb888599071e0e474bf62d23c9e5..de4b9d2bc39d39f714f5404c8fd7c59d1caa9118 100644 (file)
@@ -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 */
index 5773460d5e2e447bb725ec557c88c5001518a6e9..63870751ffce19deaa47b04cf5c0109194c85b71 100644 (file)
@@ -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
index f4ef3f32b0bceaec777c2b09e0bc33a7c9791e59..2b6425f60045aada806b79a5e279cba9d54dd705 100644 (file)
@@ -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 >*/
index f74bcdca1661fcee83e2f499201c87eed2e911bd..b76b5e4701c5668dcf910ca302bf000f5fa2d9ae 100644 (file)
@@ -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 >*/
index f82d520d2581da795c69d080aad8ce5232ab673a..a564fcd600f31d85015f3d69eb1fe42520c87154 100644 (file)
@@ -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
index 73cb93a3a572d55c799c1252d82eb4808ea4fd7a..d9ca6bba9ba7eb7a83952bf06c9844ea05a191c3 100644 (file)
@@ -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;
index 6ee7eeed9864088ca2bd5d42ebd2778d35d6ea27..c24bac96c32ffd4d9fa785c25dca672967c86e96 100644 (file)
@@ -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
index b1b6d559c4f21812fe4382ada530a06922941bd4..cd8000ad73b7fcff06039f130f5ef898f98133a4 100644 (file)
@@ -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;
index d13044acce2936416b0229f087d97f81485bb529..d1e2fb3f8beef802eee73de79c248e5428f34bd6 100644 (file)
@@ -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)))
index ec25a701dcf899599375352efe75c8c5e74e2aa2..56e96010b811d01c40d2202f96dd1e5d446946f2 100644 (file)
@@ -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;
index b4004383945a0fa3b3a32b4e16293453398def9a..6c99633faa2486e586fcc717317b170a2e8afbac 100644 (file)
@@ -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 >*/
index db9d9e2c73c978366d83280c06fc853617d1bf28..1d36a76f1e3be409812c07475043fa8ebc206a42 100644 (file)
@@ -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)
 {
index 8b2b7973d8debb8567d794488db4a7c716fbcfc3..10fac3d9c9708ff7da9c6fcb5575d611ed60ff76 100644 (file)
@@ -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;
index a95f07ef0bc482ff29b8734a2dc45daffe401b7b..f8a4fe8a47ba4aecc59e646078eb90ba08cb4425 100644 (file)
@@ -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;
index 31445e9691799a8fb31b93133ffc66cf961d74e2..0b7048c3f47d0f3b09112681e813ced644f2fde1 100644 (file)
@@ -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;
index dc608e0b0257a323c7d10cfa389dd879a7ead612..cae315e48858fb8840becca8100dc00049411f31 100644 (file)
 #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;
index 9f5a96af828fcff888f2f74c5a17b262030d96b3..6525206976b6261e8d96ef9135389532b8e76a3d 100644 (file)
 #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:
index b5ebefd1b292f4b40137df52076c075f97a3343a..18979d25d0d8255790bcf147010180353eb06290 100644 (file)
@@ -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;
index d46f21430c27a61eb6e9bcd0a965163d7b193970..4f83eff5c38ca6fff7bfb439c78a9c0063021da1 100644 (file)
@@ -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;
index ed7f695c2a70adb47bd8e8a42bf31744248fb3ac..417ec0564b3b1471545b5534c8f883c2c8e63ddd 100644 (file)
@@ -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)
index d2935c54295887392e398cee9b5fce514afce43f..6eb4eea700518fab79804f4a6cf938bf54e0bd0a 100644 (file)
@@ -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
index 867547b4eb73581fccc890fc7292edb763f4e7cb..cf7d492084ea713c2f5220cc5131eb63f4b839b0 100644 (file)
@@ -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
index 282b22cc4fc048035fda7a851b4b87836d16d6e9..9e6061a043bf5191817a1ce91c5686135b34f0b8 100644 (file)
@@ -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 >*/
index 06f046e73a6d1dece19f9eb6fb5c2ed20fb8ffc9..045805980fdba155521233bd8af1a90bbaa09ee2 100644 (file)
 #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
index c046c816c97ee7adeca29f0acd31188c0eb9e219..cea259685d9cf01f01c065a9330404051056124a 100644 (file)
 #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;
index 544f5f19b374d54e52f2ce12f13fdcfeacaf9a77..2ce96dc56eebbf587ca788c85c1034fac8a0fa14 100644 (file)
@@ -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
index 0e40587c1896e34bbebb319b9efe18050a1c6c43..e8354a47dad0b6388f5de87ee858dd88d31a673d 100644 (file)
@@ -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",
index aab0b36598a7e0bd6d81a638b2af35a6cb54c406..e90c00823ad7885915f2548ac646dede8d49da97 100644 (file)
@@ -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
 
index 2e76bda79efd43345ff5854a371bdac5250d34cb..b85ac1a5fcc7ad3ffc72923c734c175ed8a6651d 100644 (file)
@@ -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,
index ea66422c2b699b24c10b006d33865bcacb75c47d..1f0388a755af9677f76b3b061e0e5d35f6f51910 100644 (file)
 
 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;
index 3c64f45bdb212ded0912bc62c94d2f716a4b1958..c3e6d1ecef431dbb3cc10d56d5e7b5d87e017932 100644 (file)
@@ -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;
index aa0d57b970f6b27d1ec2dd32052f5604a0b0bce8..40095bed0908feabcedb617608dec8d56018502c 100644 (file)
@@ -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
index 0da5b84398327769a33b943275e8c41d7135523e..4d3ec28f5d93b8602c55142747c382f43952aab2 100644 (file)
@@ -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"
 
index cb2ef0fb395f69eb1726d7811e89cd62f99c9196..7829e933a5f75fd6dc3619812d0b98b2ea2b9815 100644 (file)
@@ -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"
 
index 517c17a2c4699ce5c3d70ae1399cbc8eff4ceaf9..dd07258d4ec24938afa91b959635e29936fe6026 100644 (file)
@@ -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
index 378d44b946f1e1a911c093d9b8c31650e435d5cb..dc7384512533bfb47c57390ac1ec685ca443d010 100644 (file)
@@ -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;
index 1bc3edec2532e4b1731ab694cc409e1222c8f1c3..256033b9a05b48c19e4bc2ce1d4e6a2fdf01fa22 100644 (file)
@@ -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;
index 7aab59dea9341087f08db6a41b4bd34c95e38e36..67985414e202410b5fa78fa4ffad65e7bef59880 100644 (file)
@@ -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;
index 5366a80d45e86f048410948d1b9ceb86f337e12a..faf7633e70eb37aed42a5671657c9f7fa52866d9 100644 (file)
@@ -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,
index 8ed83bec8aaefa89ee5f0f75b09d6659e3ff9e76..34fc8da69a05922aefb219bd295587dc98c2963d 100644 (file)
@@ -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;
index 93bd5b9587f04b0bed5110b9d3b2f841637dd4a9..c694c98d08383dd3a91f7f8cc4ae2ce9c399e981 100644 (file)
@@ -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;
index d728a809371baa2fa1bedec5ad5a41f5023bd192..79117f45b0de66bda250b6efb50f1ab1e9497822 100644 (file)
@@ -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;
index 24de679d9c135c818cd1578d3662872854b957bd..52e637545ac7b08a508adb5bc57783a06cbe63de 100644 (file)
@@ -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;
index 92b8999b790ef9947bf67830bbebc1b5f9f7f477..48f2e3ade2f060ddc3ba0430bd1ed32b843d9cfc 100644 (file)
@@ -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;
index aa8753ded891e7bae1b0284a3cb04241726b4603..0329cae3d9f32aaa2e8bf0a12b1ac21fb47251ef 100644 (file)
@@ -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;
index 34224020c097bbdb47e2f5a0008bd45b8f253396..5340fc0425f3f9618a8781439b41dadf174f7506 100644 (file)
@@ -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;
index 91d42837c97532deaa491970ff50a0a28fa42e62..e539fc24f0acc5de4fa62c216c5b0fdb32e04aac 100644 (file)
@@ -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;
 
index 07b3c0f9be44a3e2a8b3d53b5e8405de293b023e..44bbe3a5361ec222fc480e13cfbefa44c4e37731 100644 (file)
@@ -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 */
index 54639d13d86d78fa6ce7790996c5dc91b5f25bb4..c01ee2c72ace229ecbd37a34f3e4685860a5d7c5 100644 (file)
@@ -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;
index 807ceb514c70eefa96e11924c3f16a541faab8b2..93ecb51a9791f6dc9c45735bd19667434a0df2d3 100644 (file)
@@ -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;
index 3667a09c9989d1afede7b54b00cf215941580a55..29500e04576a3a962fb509cf505080334a2021f7 100644 (file)
@@ -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;
index 8d61c670de03d4c468cd417966bc6a01bad0987c..3a35ac2b0a42aecd1658291cbc4dc4c5f7e9ec7c 100644 (file)
@@ -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 {
index c73cc721e157ed5ec422e14071cf18ee71236962..8c3a1f54894a033217b7de49aa35d17496c702ae 100644 (file)
@@ -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 {
index 28d612372b036081df4327ff6ff415052aae2dd8..08d6888015a8d7b109f1abc17a13588aab1bbfe3 100644 (file)
@@ -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;
index c262f6d96f6ec5bc898ff36d3fe187ce50359abf..1eb927eb84730a43022406f2d78bf90d90065c97 100644 (file)
@@ -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
 {
index 53e89b43e5048ebf1e43db4eb45d4945a234b79f..aa9c00aad3a37225e22b0bab5816f55d10e51eaf 100644 (file)
@@ -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
index 08db85baea361a44f19bcbc9535385815e58f5ec..e3775adc579d0fa4a075ba28165dcd9f57b63cc4 100644 (file)
@@ -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 */
index 9a0ab24a2771a9c90cc965d6b64dc3fc54ac7446..fafdcffa9c1b100446efa5157e29e6adf92e5ce0 100644 (file)
@@ -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)
 {
index 46a92182fc525ad25156fb78c640aef1c6b19444..20b28eeb28c01209c2c4a0567515d964030d0df6 100644 (file)
@@ -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)
 {
index a84f5783dce90c4d2facd7d43fd66032a9eb4624..5e4649d36700c237bce30a04bf67ec26c936e157 100644 (file)
@@ -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"
index 9c9d6857dad7284800ac515709f860e97cc5a19d..e8e9d37e8833656e5e81207a9317e59228d62dce 100644 (file)
@@ -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
index b992d2ccf8c226a5cb1b9a7d95bde708f65643e3..ef2bb3462dbc7b0b01a15ef2f53ad9cc44ab0a2f 100644 (file)
@@ -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
index 3fc8addae1ea16325c86bd2fdf2fb38d8eb0a707..65247ca799b60e9214f4142b97b4cde8a6d521e0 100644 (file)
@@ -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)
 {
index 4d1de647bc5b73de15128a7d028e935ef9a41f45..05cfe6baca151ac881429d3980afc2ffa540996d 100644 (file)
@@ -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,
index 07e395aa5f1631db3261828cd991aa092730c589..7a182f9bec25abcdb2279d38fa40d245d40dd3f7 100644 (file)
@@ -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)
index 6df70a0844a9d2d1595541a20c08e3edfc039b89..c61c0e087899ab9bfb38afc7f81a5134279bd0c9 100644 (file)
@@ -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
 
index b60f8e52f5350f48c4ae9660c6873642c0b387ba..cd32f57685abf6a1e4166f66a8b39bda899928e5 100644 (file)
@@ -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)
 {
index 8f13f2fd31fc76500ac6144ea787980c94817496..1a58851d4b6adf88a7504e9fd3070cc01dca5663 100644 (file)
@@ -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,
index a9898187b8398ef4910173a43dc56f253ac0e30d..432508c478c07ba283339a8cd7c6180ceb9dc873 100644 (file)
@@ -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,
index 55a04293a4150e9cc9f2c32b7de2650324077921..648340323f68ce1c056c3c8a765059d7449e631e 100644 (file)
@@ -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;
index 1d27bb942b8368686fe1305826fabfd01675ac12..c36c8e7820fd1b8e9ed3c49488b421afaa88f842 100644 (file)
@@ -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;
index e2dae6a86d4a98dfa54adf3ed44b3f571fca24be..85c4d827bf1b977988cbc7c1036d7c1a85e8d3b5 100644 (file)
@@ -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,
index 71b40f0d8a7455c6ca18c46b6dda6413220a9086..919e3e43b1b6096e2938d99ca0485731ef82cd6e 100644 (file)
@@ -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
index c12c9bae46d4e393e6fa6c082fec3c02949094fa..1301ce0be798dae63583f210ad734f4a0892fadf 100644 (file)
@@ -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 >*/
index 82fe967196f56a9172a866c2fd3e0c1b2791e817..f8168a06a3e2f3482cb28706ba3d3ee3276b5ba7 100644 (file)
@@ -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 >*/
index 3e9053fb264a036105180a72645e38979a6c8791..6e28e97839cccf40d27e4bbafc78f7041c63876d 100644 (file)
@@ -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 >*/
index 31ec5f470280f0db7bde19ba3eab47283a06b44c..27ca237d71fb85d35520998174bead9b6d81c324 100644 (file)
@@ -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)
 {
index 867388a061c27f5eb5e9d97f6762c2ac8aa7b193..2110c0399e307e5dcf0f51e24b078efbc0f5b654 100644 (file)
@@ -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
index 30779c8ff4c0a06c7e3eaacb0c17946b93919d07..2ba1de68df31dd44143d848c6f6eb8f0e3249b88 100644 (file)
@@ -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;
index 344fdc3d66e323e369294604067fb3176f924d89..a079ecd50cdc96a4892167dc0c7a3f62f3d83fbe 100644 (file)
@@ -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,
index a15ee515d7ae7c1c223c81dc8dbe691b076e79bf..2bee3ae59f5525900999a9af45e336e2d50f80e3 100644 (file)
@@ -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;
index eb74e57b23d89a29b2820a56bc5d170c9f0c5345..f399ec0a319f653758c071d4953b9487b78ecfac 100644 (file)
@@ -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)
 {
index 8c1f94118a45b01d59f41d9200e75099467bc5a5..846d60e56cdc690c3eedead61546cb6afeafe6ef 100644 (file)
@@ -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;
index b30a04d7cd1c784088c0e0a906cd768b9885e086..cb71a294faaf1d79b70dc54826a57256e071d219 100644 (file)
@@ -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;
index 51d0858281fc16d6f9809e39658b6504158425d9..33b404d8a225cf8053286a6ed0d81d9a9a17d368 100644 (file)
@@ -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;
index 6b01561c2fe2b29999f24829751c542d37d9e30a..8bb389bd282a25d4176d8f5612d9feb9a20aaa41 100644 (file)
@@ -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,
index b072fb576ab46f7e6f3e8fec6b068b35a5891ec4..c9d3e9113a5e22c67eae53f71593aad8a4a79c8f 100644 (file)
@@ -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;
index 773104e3513db98580f7dcc99b1813c3c7bde5ca..d5343412a11c106eb75780abcc53b6ae8f07984f 100644 (file)
@@ -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;
index 65bfc91d2d4cabcf01a4f2e9d5e04d6cd1bf4253..763f89984e91b725cab0bb29019c01ba0f2d82a9 100644 (file)
@@ -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;
index 49fcddcb5aa23fd7faadd2dfcf9c10b40a43b8d7..e56067b42781078ef51f0e11c5e341ae6574236f 100644 (file)
@@ -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;
index 8ea357b868a59b1f1178bd7ca478048191efbbd8..e07adcd9ea78c6966af732d88f79239ec5f8e326 100644 (file)
@@ -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;
index 35378c7309cc0816ae0689dbe2cc248003bdb61e..a2c5cc7207a97c6fa109479adaa56e50093c45a6 100644 (file)
@@ -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;
index a2aa614ef46644de5d230ac2380fdfe2f72a41f8..9d5795810c36847b5da0ebd0930aad852d271c8f 100644 (file)
@@ -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;
index 518a87a36e11145a6720c5b7014c2099a784e87a..0783dc2f7ed2fd79ed726696d15e9bfc1c9bee76 100644 (file)
@@ -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;
index 4d8479c92e4b829612b09bafe4f11b4dca96a51f..0ac360de4f34b7f5caa5939952fee2c933b1826b 100644 (file)
@@ -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;
index 429dd4d7abaf2ba6e2db28be735d8ef62cf5517b..85acd3d2ebb4e0109e0fa99527c2c114a27a9617 100644 (file)
@@ -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;
index 17451f5a7881e0ed9017ececfd8b04d055aa6a26..76540e57b1040a2ff129a04b4000905721c40909 100644 (file)
@@ -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;
index 65b86beac74b4b5484b1d2c193e4e140fc2d4c8c..e636e1a48d5e94fd82d3d8a27fe6ef0a738a0eac 100644 (file)
@@ -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;
index 498fc02d8fd9d7b2ef38740dcbf1e41890a74f05..292d13d27815537e559ad997748533f17ff41ad1 100644 (file)
@@ -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;
index d59ac97430308c7034d59b3f38c9cc72e8c01181..47b6bb4e263c8e4f0c03ccdb487f3721da732266 100644 (file)
@@ -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;
index 5ac80996372f19d90a1921a01dccc96abab30a6c..63cfe727f781937256402d5e9d098b97b670f53c 100644 (file)
@@ -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;
index 8f953dff83c5df48f9387045f54f10caa8537c9d..c1f916268be7138443c988d8a08b0ff3edbdba38 100644 (file)
@@ -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;
index 7a7ffa43f89aa8e011166fb5c8896d2889d52d59..97fab742368ac4c4332e4f3f6f1da1153468f488 100644 (file)
@@ -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;
index 1bd769e88dbc3ba0affba9f7b74ec6c16fd31337..35bcd961c98822d2f3b925007f438833b845edb8 100644 (file)
@@ -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;
index eaa2b39ab8b9162abdb812655bb5b112dab180dd..4f64899a5624d92093b68172cdec3fbe43cf3a39 100644 (file)
@@ -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.
index 1a7a8f695f4999932ddf18ad130b47c857656b86..177aaa503f9b2d589c8e1f035713d434876a4939 100644 (file)
@@ -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;
index c367c7da27b6bbed794a161d264b9878b12ba182..f46971eac66da539c9abb9da66dd623d581a2e2a 100644 (file)
@@ -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);
index c01946b4ce7ac65251f756b872a1cc04a58bdf22..8d8cf9fa5a97eb56ce132b2ead991d817e17bd6f 100644 (file)
 
 typedef struct QAuthZ QAuthZ;
 typedef struct QAuthZClass QAuthZClass;
-#define QAUTHZ_CLASS(klass) \
-     OBJECT_CLASS_CHECK(QAuthZClass, (klass), \
-                        TYPE_QAUTHZ)
-#define QAUTHZ_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(QAuthZClass, (obj), \
-                      TYPE_QAUTHZ)
-#define QAUTHZ(obj) \
-     OBJECT_CHECK(QAuthZ, (obj), \
-                  TYPE_QAUTHZ)
+DECLARE_OBJ_CHECKERS(QAuthZ, QAuthZClass,
+                     QAUTHZ, TYPE_QAUTHZ)
 
 
 /**
index 5d5e8e803f3fcc815f90c41d68c6e8dcf232f472..93d16876bc2c8086c0af9a078c00c08a0e2f734b 100644 (file)
 
 typedef struct QAuthZList QAuthZList;
 typedef struct QAuthZListClass QAuthZListClass;
-#define QAUTHZ_LIST_CLASS(klass)                        \
-    OBJECT_CLASS_CHECK(QAuthZListClass, (klass),        \
-                       TYPE_QAUTHZ_LIST)
-#define QAUTHZ_LIST_GET_CLASS(obj)              \
-    OBJECT_GET_CLASS(QAuthZListClass, (obj),    \
-                      TYPE_QAUTHZ_LIST)
-#define QAUTHZ_LIST(obj) \
-    OBJECT_CHECK(QAuthZList, (obj), \
-                 TYPE_QAUTHZ_LIST)
+DECLARE_OBJ_CHECKERS(QAuthZList, QAuthZListClass,
+                     QAUTHZ_LIST, TYPE_QAUTHZ_LIST)
 
 
 
index 11169ac8827c50bf69bb986eb07fd73c47a688a1..2e4a629b6d0c5aa0b9b9fb4b732d0d19c33f5101 100644 (file)
 
 typedef struct QAuthZListFile QAuthZListFile;
 typedef struct QAuthZListFileClass QAuthZListFileClass;
-#define QAUTHZ_LIST_FILE_CLASS(klass)                        \
-    OBJECT_CLASS_CHECK(QAuthZListFileClass, (klass),        \
-                       TYPE_QAUTHZ_LIST_FILE)
-#define QAUTHZ_LIST_FILE_GET_CLASS(obj)              \
-    OBJECT_GET_CLASS(QAuthZListFileClass, (obj),    \
-                      TYPE_QAUTHZ_LIST_FILE)
-#define QAUTHZ_LIST_FILE(obj) \
-    OBJECT_CHECK(QAuthZListFile, (obj), \
-                 TYPE_QAUTHZ_LIST_FILE)
+DECLARE_OBJ_CHECKERS(QAuthZListFile, QAuthZListFileClass,
+                     QAUTHZ_LIST_FILE, TYPE_QAUTHZ_LIST_FILE)
 
 
 
index a14cf33fb46f7c928197f08cb851f32923a4ff47..98454ddc2573cd3f1a88fdc042a456cbd3c86c30 100644 (file)
 
 typedef struct QAuthZPAM QAuthZPAM;
 typedef struct QAuthZPAMClass QAuthZPAMClass;
-#define QAUTHZ_PAM_CLASS(klass) \
-     OBJECT_CLASS_CHECK(QAuthZPAMClass, (klass), \
-                        TYPE_QAUTHZ_PAM)
-#define QAUTHZ_PAM_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(QAuthZPAMClass, (obj), \
-                      TYPE_QAUTHZ_PAM)
-#define QAUTHZ_PAM(obj) \
-     OBJECT_CHECK(QAuthZPAM, (obj), \
-                  TYPE_QAUTHZ_PAM)
+DECLARE_OBJ_CHECKERS(QAuthZPAM, QAuthZPAMClass,
+                     QAUTHZ_PAM, TYPE_QAUTHZ_PAM)
 
 
 
index df8c1bf39c14bdce61ea265f6dc92b61c3870318..7a896fb94bbefdb8538002d89f4aec4989e9a978 100644 (file)
 
 typedef struct QAuthZSimple QAuthZSimple;
 typedef struct QAuthZSimpleClass QAuthZSimpleClass;
-#define QAUTHZ_SIMPLE_CLASS(klass)                        \
-    OBJECT_CLASS_CHECK(QAuthZSimpleClass, (klass),        \
-                       TYPE_QAUTHZ_SIMPLE)
-#define QAUTHZ_SIMPLE_GET_CLASS(obj)              \
-    OBJECT_GET_CLASS(QAuthZSimpleClass, (obj),    \
-                      TYPE_QAUTHZ_SIMPLE)
-#define QAUTHZ_SIMPLE(obj) \
-    OBJECT_CHECK(QAuthZSimple, (obj), \
-                 TYPE_QAUTHZ_SIMPLE)
+DECLARE_OBJ_CHECKERS(QAuthZSimple, QAuthZSimpleClass,
+                     QAUTHZ_SIMPLE, TYPE_QAUTHZ_SIMPLE)
 
 
 
index 7c6f572cf9c69c52dcbee2b3ead9a097791d7620..20b308f619eebe4abe48464f059db155d497f065 100644 (file)
@@ -61,7 +61,8 @@ typedef struct ThrottleGroupMember {
 
 #define TYPE_THROTTLE_GROUP "throttle-group"
 typedef struct ThrottleGroup ThrottleGroup;
-#define THROTTLE_GROUP(obj) OBJECT_CHECK(ThrottleGroup, (obj), TYPE_THROTTLE_GROUP)
+DECLARE_INSTANCE_CHECKER(ThrottleGroup, THROTTLE_GROUP,
+                         TYPE_THROTTLE_GROUP)
 
 const char *throttle_group_get_name(ThrottleGroupMember *tgm);
 
index 1442dcaa6215f883ec10d54896361f06fe757e14..9de0e440de5b22dbf6bf93b5daa690e2db03086b 100644 (file)
@@ -38,7 +38,8 @@ typedef struct FDChardev FDChardev;
 
 #define TYPE_CHARDEV_FD "chardev-fd"
 
-#define FD_CHARDEV(obj) OBJECT_CHECK(FDChardev, (obj), TYPE_CHARDEV_FD)
+DECLARE_INSTANCE_CHECKER(FDChardev, FD_CHARDEV,
+                         TYPE_CHARDEV_FD)
 
 void qemu_chr_open_fd(Chardev *chr, int fd_in, int fd_out);
 int qmp_chardev_open_file_source(char *src, int flags, Error **errp);
index f1632330f1d56c985a4932a3cb883f443a3dac6c..485521469cee5324b203dce1b58ef5eaf4a36d50 100644 (file)
@@ -44,7 +44,8 @@ typedef struct WinChardev WinChardev;
 #define NRECVBUF 2048
 
 #define TYPE_CHARDEV_WIN "chardev-win"
-#define WIN_CHARDEV(obj) OBJECT_CHECK(WinChardev, (obj), TYPE_CHARDEV_WIN)
+DECLARE_INSTANCE_CHECKER(WinChardev, WIN_CHARDEV,
+                         TYPE_CHARDEV_WIN)
 
 void win_chr_set_file(Chardev *chr, HANDLE file, bool keep_open);
 int win_chr_serial_init(Chardev *chr, const char *filename, Error **errp);
index d91d851b33295c2c50df6258208284616a56fb7f..5874de57ea00eedf474fc98f0828e9b28ee9acf7 100644 (file)
@@ -227,11 +227,8 @@ int qemu_chr_wait_connected(Chardev *chr, Error **errp);
 
 #define TYPE_CHARDEV "chardev"
 typedef struct ChardevClass ChardevClass;
-#define CHARDEV(obj) OBJECT_CHECK(Chardev, (obj), TYPE_CHARDEV)
-#define CHARDEV_CLASS(klass) \
-    OBJECT_CLASS_CHECK(ChardevClass, (klass), TYPE_CHARDEV)
-#define CHARDEV_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(ChardevClass, (obj), TYPE_CHARDEV)
+DECLARE_OBJ_CHECKERS(Chardev, ChardevClass,
+                     CHARDEV, TYPE_CHARDEV)
 
 #define TYPE_CHARDEV_NULL "chardev-null"
 #define TYPE_CHARDEV_MUX "chardev-mux"
index 5bccc473925a435218a7fa00dc9d0b05f0731b6c..99f26aedde5485ea360f7b7aa4db08b0ac00a6c8 100644 (file)
@@ -21,7 +21,8 @@ typedef struct SpiceChardev SpiceChardev;
 #define TYPE_CHARDEV_SPICEVMC "chardev-spicevmc"
 #define TYPE_CHARDEV_SPICEPORT "chardev-spiceport"
 
-#define SPICE_CHARDEV(obj) OBJECT_CHECK(SpiceChardev, (obj), TYPE_CHARDEV_SPICE)
+DECLARE_INSTANCE_CHECKER(SpiceChardev, SPICE_CHARDEV,
+                         TYPE_CHARDEV_SPICE)
 
 void qemu_chr_open_spice_port(Chardev *chr, ChardevBackend *backend,
                               bool *be_opened, Error **errp);
index 8c03971e7576d8fe680d094625b9660f32e26a49..5d20ae6d2f8b4fe07d39eabc90fb68bd23113e1d 100644 (file)
@@ -27,8 +27,8 @@
 
 #define TYPE_QCRYPTO_SECRET "secret"
 typedef struct QCryptoSecret QCryptoSecret;
-#define QCRYPTO_SECRET(obj)                  \
-    OBJECT_CHECK(QCryptoSecret, (obj), TYPE_QCRYPTO_SECRET)
+DECLARE_INSTANCE_CHECKER(QCryptoSecret, QCRYPTO_SECRET,
+                         TYPE_QCRYPTO_SECRET)
 
 typedef struct QCryptoSecretClass QCryptoSecretClass;
 
index db282a38721978462ed8b39ca9194db455fb2f26..dd3310ea5f080ab21e26051483a8e371dea0bfd4 100644 (file)
 #define TYPE_QCRYPTO_SECRET_COMMON "secret_common"
 typedef struct QCryptoSecretCommon QCryptoSecretCommon;
 typedef struct QCryptoSecretCommonClass QCryptoSecretCommonClass;
-#define QCRYPTO_SECRET_COMMON(obj) \
-    OBJECT_CHECK(QCryptoSecretCommon, (obj), TYPE_QCRYPTO_SECRET_COMMON)
-#define QCRYPTO_SECRET_COMMON_CLASS(class) \
-    OBJECT_CLASS_CHECK(QCryptoSecretCommonClass, \
-                       (class), TYPE_QCRYPTO_SECRET_COMMON)
-#define QCRYPTO_SECRET_COMMON_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(QCryptoSecretCommonClass, \
-                     (obj), TYPE_QCRYPTO_SECRET_COMMON)
+DECLARE_OBJ_CHECKERS(QCryptoSecretCommon, QCryptoSecretCommonClass,
+                     QCRYPTO_SECRET_COMMON, TYPE_QCRYPTO_SECRET_COMMON)
 
 
 struct QCryptoSecretCommon {
index 8b3b8ee67d5bf29e2d8d663765b50f3052348457..9875f4cbf30c4495c5b7d925d96e7ce7cbbf97c2 100644 (file)
 #define TYPE_QCRYPTO_SECRET_KEYRING "secret_keyring"
 typedef struct QCryptoSecretKeyring QCryptoSecretKeyring;
 typedef struct QCryptoSecretKeyringClass QCryptoSecretKeyringClass;
-#define QCRYPTO_SECRET_KEYRING(obj) \
-    OBJECT_CHECK(QCryptoSecretKeyring, (obj), \
-                 TYPE_QCRYPTO_SECRET_KEYRING)
-#define QCRYPTO_SECRET_KEYRING_CLASS(class) \
-    OBJECT_CLASS_CHECK(QCryptoSecretKeyringClass, \
-                       (class), TYPE_QCRYPTO_SECRET_KEYRING)
-#define QCRYPTO_SECRET_KEYRING_GET_CLASS(class) \
-    OBJECT_GET_CLASS(QCryptoSecretKeyringClass, \
-                     (class), TYPE_QCRYPTO_SECRET_KEYRING)
+DECLARE_OBJ_CHECKERS(QCryptoSecretKeyring, QCryptoSecretKeyringClass,
+                     QCRYPTO_SECRET_KEYRING, TYPE_QCRYPTO_SECRET_KEYRING)
 
 
 struct QCryptoSecretKeyring {
index 23f031953f45ea90f3d1ac24be1f9c9850fad19d..bb9ee53e03a1dfc2edf39ac09033c261e382853b 100644 (file)
@@ -16,8 +16,8 @@
 
 #define TYPE_QCRYPTO_TLS_CIPHER_SUITES "tls-cipher-suites"
 typedef struct QCryptoTLSCipherSuites QCryptoTLSCipherSuites;
-#define QCRYPTO_TLS_CIPHER_SUITES(obj) \
-    OBJECT_CHECK(QCryptoTLSCipherSuites, (obj), TYPE_QCRYPTO_TLS_CIPHER_SUITES)
+DECLARE_INSTANCE_CHECKER(QCryptoTLSCipherSuites, QCRYPTO_TLS_CIPHER_SUITES,
+                         TYPE_QCRYPTO_TLS_CIPHER_SUITES)
 
 struct QCryptoTLSCipherSuites {
     /* <private> */
index 9f065a4defb8b943cf6f2a34adc827463d9441ec..079e37604784959bb2c7a97e7ffe07782228d426 100644 (file)
@@ -30,8 +30,8 @@
 
 #define TYPE_QCRYPTO_TLS_CREDS "tls-creds"
 typedef struct QCryptoTLSCreds QCryptoTLSCreds;
-#define QCRYPTO_TLS_CREDS(obj)                  \
-    OBJECT_CHECK(QCryptoTLSCreds, (obj), TYPE_QCRYPTO_TLS_CREDS)
+DECLARE_INSTANCE_CHECKER(QCryptoTLSCreds, QCRYPTO_TLS_CREDS,
+                         TYPE_QCRYPTO_TLS_CREDS)
 
 typedef struct QCryptoTLSCredsClass QCryptoTLSCredsClass;
 
index 034ebd3fd9726e9994b129a0bf83c9dce320bb1a..3f464a380958266afb47785c00615247b2f4bd1c 100644 (file)
@@ -26,8 +26,8 @@
 
 #define TYPE_QCRYPTO_TLS_CREDS_ANON "tls-creds-anon"
 typedef struct QCryptoTLSCredsAnon QCryptoTLSCredsAnon;
-#define QCRYPTO_TLS_CREDS_ANON(obj)                  \
-    OBJECT_CHECK(QCryptoTLSCredsAnon, (obj), TYPE_QCRYPTO_TLS_CREDS_ANON)
+DECLARE_INSTANCE_CHECKER(QCryptoTLSCredsAnon, QCRYPTO_TLS_CREDS_ANON,
+                         TYPE_QCRYPTO_TLS_CREDS_ANON)
 
 
 typedef struct QCryptoTLSCredsAnonClass QCryptoTLSCredsAnonClass;
index 6e361366ebe87545b3afe638845b182eefb825c6..d7e6bdb5edf40ebf47add117679a0069aac62c76 100644 (file)
@@ -26,8 +26,8 @@
 
 #define TYPE_QCRYPTO_TLS_CREDS_PSK "tls-creds-psk"
 typedef struct QCryptoTLSCredsPSK QCryptoTLSCredsPSK;
-#define QCRYPTO_TLS_CREDS_PSK(obj)                  \
-    OBJECT_CHECK(QCryptoTLSCredsPSK, (obj), TYPE_QCRYPTO_TLS_CREDS_PSK)
+DECLARE_INSTANCE_CHECKER(QCryptoTLSCredsPSK, QCRYPTO_TLS_CREDS_PSK,
+                         TYPE_QCRYPTO_TLS_CREDS_PSK)
 
 typedef struct QCryptoTLSCredsPSKClass QCryptoTLSCredsPSKClass;
 
index e4d44ea22d8f79e93a148aec1e74d19bb0d02b4b..c6d89b78819f441a107033865af4f000856d16cb 100644 (file)
@@ -26,8 +26,8 @@
 
 #define TYPE_QCRYPTO_TLS_CREDS_X509 "tls-creds-x509"
 typedef struct QCryptoTLSCredsX509 QCryptoTLSCredsX509;
-#define QCRYPTO_TLS_CREDS_X509(obj)                  \
-    OBJECT_CHECK(QCryptoTLSCredsX509, (obj), TYPE_QCRYPTO_TLS_CREDS_X509)
+DECLARE_INSTANCE_CHECKER(QCryptoTLSCredsX509, QCRYPTO_TLS_CREDS_X509,
+                         TYPE_QCRYPTO_TLS_CREDS_X509)
 
 typedef struct QCryptoTLSCredsX509Class QCryptoTLSCredsX509Class;
 
index 5c17a21c6510400aa992ecf139fad54424de5762..f1bb2a7df553f3af0eb9f25d1ae267491b6f6884 100644 (file)
 #define MAX_PHYS_ADDR            (((hwaddr)1 << MAX_PHYS_ADDR_SPACE_BITS) - 1)
 
 #define TYPE_MEMORY_REGION "qemu:memory-region"
-#define MEMORY_REGION(obj) \
-        OBJECT_CHECK(MemoryRegion, (obj), TYPE_MEMORY_REGION)
+DECLARE_INSTANCE_CHECKER(MemoryRegion, MEMORY_REGION,
+                         TYPE_MEMORY_REGION)
 
 #define TYPE_IOMMU_MEMORY_REGION "qemu:iommu-memory-region"
 typedef struct IOMMUMemoryRegionClass IOMMUMemoryRegionClass;
-#define IOMMU_MEMORY_REGION(obj) \
-        OBJECT_CHECK(IOMMUMemoryRegion, (obj), TYPE_IOMMU_MEMORY_REGION)
-#define IOMMU_MEMORY_REGION_CLASS(klass) \
-        OBJECT_CLASS_CHECK(IOMMUMemoryRegionClass, (klass), \
-                         TYPE_IOMMU_MEMORY_REGION)
-#define IOMMU_MEMORY_REGION_GET_CLASS(obj) \
-        OBJECT_GET_CLASS(IOMMUMemoryRegionClass, (obj), \
-                         TYPE_IOMMU_MEMORY_REGION)
+DECLARE_OBJ_CHECKERS(IOMMUMemoryRegion, IOMMUMemoryRegionClass,
+                     IOMMU_MEMORY_REGION, TYPE_IOMMU_MEMORY_REGION)
 
 extern bool global_dirty_log;
 
index 4ef44d6fe87987ebef59783a30cc3b9e8b20c80c..9adf1e47067fe3535ba8e7073f9b3928468bd587 100644 (file)
@@ -19,12 +19,8 @@ typedef enum {
 #define TYPE_ACPI_DEVICE_IF "acpi-device-interface"
 
 typedef struct AcpiDeviceIfClass AcpiDeviceIfClass;
-#define ACPI_DEVICE_IF_CLASS(klass) \
-     OBJECT_CLASS_CHECK(AcpiDeviceIfClass, (klass), \
-                        TYPE_ACPI_DEVICE_IF)
-#define ACPI_DEVICE_IF_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(AcpiDeviceIfClass, (obj), \
-                      TYPE_ACPI_DEVICE_IF)
+DECLARE_CLASS_CHECKERS(AcpiDeviceIfClass, ACPI_DEVICE_IF,
+                       TYPE_ACPI_DEVICE_IF)
 #define ACPI_DEVICE_IF(obj) \
      INTERFACE_CHECK(AcpiDeviceIf, (obj), \
                      TYPE_ACPI_DEVICE_IF)
index 2208f0b939b10211075f609f2fd6cc1a1566d1d5..1be05a3c0f8c5735f363559153da3cff8a23dfa3 100644 (file)
@@ -68,8 +68,8 @@
 
 #define TYPE_ACPI_GED "acpi-ged"
 typedef struct AcpiGedState AcpiGedState;
-#define ACPI_GED(obj) \
-    OBJECT_CHECK(AcpiGedState, (obj), TYPE_ACPI_GED)
+DECLARE_INSTANCE_CHECKER(AcpiGedState, ACPI_GED,
+                         TYPE_ACPI_GED)
 
 #define ACPI_GED_EVT_SEL_OFFSET    0x0
 #define ACPI_GED_EVT_SEL_LEN       0x4
index 0286fc0f099ae787f33fc598283eea92bf74032c..86cd1da605a77d7ef833bc86b1a5a11cc68a35a8 100644 (file)
@@ -17,7 +17,8 @@
                                        */
 
 typedef struct VmGenIdState VmGenIdState;
-#define VMGENID(obj) OBJECT_CHECK(VmGenIdState, (obj), VMGENID_DEVICE)
+DECLARE_INSTANCE_CHECKER(VmGenIdState, VMGENID,
+                         VMGENID_DEVICE)
 
 struct VmGenIdState {
     DeviceClass parent_obj;
index 60d4b655703084dc0b600fe7b97bebeace60ca18..6a4f8e955b08a7a44da32d38f0bfbd1e09d0f5f2 100644 (file)
@@ -60,8 +60,8 @@
 
 #define TYPE_STM32F2XX_ADC "stm32f2xx-adc"
 typedef struct STM32F2XXADCState STM32F2XXADCState;
-#define STM32F2XX_ADC(obj) \
-    OBJECT_CHECK(STM32F2XXADCState, (obj), TYPE_STM32F2XX_ADC)
+DECLARE_INSTANCE_CHECKER(STM32F2XXADCState, STM32F2XX_ADC,
+                         TYPE_STM32F2XX_ADC)
 
 struct STM32F2XXADCState {
     /* <private> */
index 631454f1c7954383018ae2b850a46ecd0d39e34e..d13b6cf50f3e9f898537dc11daa596396b729f55 100644 (file)
@@ -23,7 +23,8 @@
 
 #define TYPE_AW_A10 "allwinner-a10"
 typedef struct AwA10State AwA10State;
-#define AW_A10(obj) OBJECT_CHECK(AwA10State, (obj), TYPE_AW_A10)
+DECLARE_INSTANCE_CHECKER(AwA10State, AW_A10,
+                         TYPE_AW_A10)
 
 struct AwA10State {
     /*< private >*/
index 5fda95066f7b922c1301acd8c226e5d28a705840..a93e0195219461e49ee279f3dd6abb543c8b593a 100644 (file)
@@ -107,7 +107,8 @@ enum {
 
 /** Convert input object to Allwinner H3 state object */
 typedef struct AwH3State AwH3State;
-#define AW_H3(obj) OBJECT_CHECK(AwH3State, (obj), TYPE_AW_H3)
+DECLARE_INSTANCE_CHECKER(AwH3State, AW_H3,
+                         TYPE_AW_H3)
 
 /** @} */
 
index e5788e9d3ca69f963592b9f65618e05474ce22d6..452cbb5793b6f3a788fe0ff560ec71b1c8181ed4 100644 (file)
 #define TYPE_ARM_SSE "arm-sse"
 typedef struct ARMSSE ARMSSE;
 typedef struct ARMSSEClass ARMSSEClass;
-#define ARM_SSE(obj) OBJECT_CHECK(ARMSSE, (obj), TYPE_ARM_SSE)
+DECLARE_OBJ_CHECKERS(ARMSSE, ARMSSEClass,
+                     ARM_SSE, TYPE_ARM_SSE)
 
 /*
  * These type names are for specific IoTKit subsystems; other than
@@ -227,9 +228,5 @@ struct ARMSSEClass {
     const ARMSSEInfo *info;
 };
 
-#define ARM_SSE_CLASS(klass) \
-    OBJECT_CLASS_CHECK(ARMSSEClass, (klass), TYPE_ARM_SSE)
-#define ARM_SSE_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(ARMSSEClass, (obj), TYPE_ARM_SSE)
 
 #endif
index c820d32ad5141979712ad2a8a822f0560c715f4e..dcb891d9cc1f05d62d89b8144bed4627c35cd4e0 100644 (file)
@@ -17,7 +17,8 @@
 
 #define TYPE_BITBAND "ARM,bitband-memory"
 typedef struct BitBandState BitBandState;
-#define BITBAND(obj) OBJECT_CHECK(BitBandState, (obj), TYPE_BITBAND)
+DECLARE_INSTANCE_CHECKER(BitBandState, BITBAND,
+                         TYPE_BITBAND)
 
 struct BitBandState {
     /*< private >*/
@@ -32,7 +33,8 @@ struct BitBandState {
 
 #define TYPE_ARMV7M "armv7m"
 typedef struct ARMv7MState ARMv7MState;
-#define ARMV7M(obj) OBJECT_CHECK(ARMv7MState, (obj), TYPE_ARMV7M)
+DECLARE_INSTANCE_CHECKER(ARMv7MState, ARMV7M,
+                         TYPE_ARMV7M)
 
 #define ARMV7M_NUM_BITBANDS 2
 
index 4e5ec37acbe40bcd3811484cc1685e7e7a55a900..c9747b15fc5fdbcd479c0c83da93ecee87e0ae90 100644 (file)
@@ -16,18 +16,14 @@ typedef struct AspeedMachineState AspeedMachineState;
 
 #define TYPE_ASPEED_MACHINE       MACHINE_TYPE_NAME("aspeed")
 typedef struct AspeedMachineClass AspeedMachineClass;
-#define ASPEED_MACHINE(obj) \
-    OBJECT_CHECK(AspeedMachineState, (obj), TYPE_ASPEED_MACHINE)
+DECLARE_OBJ_CHECKERS(AspeedMachineState, AspeedMachineClass,
+                     ASPEED_MACHINE, TYPE_ASPEED_MACHINE)
 
 #define ASPEED_MAC0_ON   (1 << 0)
 #define ASPEED_MAC1_ON   (1 << 1)
 #define ASPEED_MAC2_ON   (1 << 2)
 #define ASPEED_MAC3_ON   (1 << 3)
 
-#define ASPEED_MACHINE_CLASS(klass) \
-     OBJECT_CLASS_CHECK(AspeedMachineClass, (klass), TYPE_ASPEED_MACHINE)
-#define ASPEED_MACHINE_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(AspeedMachineClass, (obj), TYPE_ASPEED_MACHINE)
 
 struct AspeedMachineClass {
     MachineClass parent_obj;
index 31679ee42e269171486cbff8b163206fcfea67a0..05c7d53df330589a887211a80fa0f332c2d9fe08 100644 (file)
@@ -66,7 +66,8 @@ typedef struct AspeedSoCState AspeedSoCState;
 
 #define TYPE_ASPEED_SOC "aspeed-soc"
 typedef struct AspeedSoCClass AspeedSoCClass;
-#define ASPEED_SOC(obj) OBJECT_CHECK(AspeedSoCState, (obj), TYPE_ASPEED_SOC)
+DECLARE_OBJ_CHECKERS(AspeedSoCState, AspeedSoCClass,
+                     ASPEED_SOC, TYPE_ASPEED_SOC)
 
 struct AspeedSoCClass {
     DeviceClass parent_class;
@@ -84,10 +85,6 @@ struct AspeedSoCClass {
     uint32_t num_cpus;
 };
 
-#define ASPEED_SOC_CLASS(klass)                                         \
-    OBJECT_CLASS_CHECK(AspeedSoCClass, (klass), TYPE_ASPEED_SOC)
-#define ASPEED_SOC_GET_CLASS(obj)                               \
-    OBJECT_GET_CLASS(AspeedSoCClass, (obj), TYPE_ASPEED_SOC)
 
 enum {
     ASPEED_DEV_IOMEM,
index 67f5a5f8f582eae0c7958795b07318f3f6170a1f..b4d3ae121ac4953728d2ec01bc9c9a93938eb012 100644 (file)
@@ -33,8 +33,8 @@
 
 #define TYPE_BCM2835_PERIPHERALS "bcm2835-peripherals"
 typedef struct BCM2835PeripheralState BCM2835PeripheralState;
-#define BCM2835_PERIPHERALS(obj) \
-    OBJECT_CHECK(BCM2835PeripheralState, (obj), TYPE_BCM2835_PERIPHERALS)
+DECLARE_INSTANCE_CHECKER(BCM2835PeripheralState, BCM2835_PERIPHERALS,
+                         TYPE_BCM2835_PERIPHERALS)
 
 struct BCM2835PeripheralState {
     /*< private >*/
index cf22dc96a06b6414b5acd456f486fb6f1894d5eb..181d9563d079781fcf752a3ce93b1026b133b4b9 100644 (file)
@@ -20,7 +20,8 @@
 #define TYPE_BCM283X "bcm283x"
 typedef struct BCM283XClass BCM283XClass;
 typedef struct BCM283XState BCM283XState;
-#define BCM283X(obj) OBJECT_CHECK(BCM283XState, (obj), TYPE_BCM283X)
+DECLARE_OBJ_CHECKERS(BCM283XState, BCM283XClass,
+                     BCM283X, TYPE_BCM283X)
 
 #define BCM283X_NCPUS 4
 
@@ -52,9 +53,5 @@ struct BCM283XClass {
     const BCM283XInfo *info;
 };
 
-#define BCM283X_CLASS(klass) \
-    OBJECT_CLASS_CHECK(BCM283XClass, (klass), TYPE_BCM283X)
-#define BCM283X_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(BCM283XClass, (obj), TYPE_BCM283X)
 
 #endif /* BCM2836_H */
index f77833f6e324832e7bac22d2420e77ad8584550d..f3ba398914b0ebff6677cde0ad5f000eea73382e 100644 (file)
@@ -26,7 +26,8 @@
 #define TYPE_DIGIC "digic"
 
 typedef struct DigicState DigicState;
-#define DIGIC(obj) OBJECT_CHECK(DigicState, (obj), TYPE_DIGIC)
+DECLARE_INSTANCE_CHECKER(DigicState, DIGIC,
+                         TYPE_DIGIC)
 
 #define DIGIC4_NB_TIMERS 3
 
index 114c594cd2b2b4f251bbfbda721ec306808d2dbf..c2de1dc1027ea74778c1791f54eda1a415ed9fad 100644 (file)
@@ -106,8 +106,8 @@ struct Exynos4210State {
 typedef struct Exynos4210State Exynos4210State;
 
 #define TYPE_EXYNOS4210_SOC "exynos4210"
-#define EXYNOS4210_SOC(obj) \
-    OBJECT_CHECK(Exynos4210State, obj, TYPE_EXYNOS4210_SOC)
+DECLARE_INSTANCE_CHECKER(Exynos4210State, EXYNOS4210_SOC,
+                         TYPE_EXYNOS4210_SOC)
 
 void exynos4210_write_secondary(ARMCPU *cpu,
         const struct arm_boot_info *info);
index 8b4c974f0922715e4251ac347a2d94e716423b81..e23950572483253d3a7c84cb795c9d137b030bbc 100644 (file)
@@ -36,7 +36,8 @@
 
 #define TYPE_FSL_IMX25 "fsl,imx25"
 typedef struct FslIMX25State FslIMX25State;
-#define FSL_IMX25(obj) OBJECT_CHECK(FslIMX25State, (obj), TYPE_FSL_IMX25)
+DECLARE_INSTANCE_CHECKER(FslIMX25State, FSL_IMX25,
+                         TYPE_FSL_IMX25)
 
 #define FSL_IMX25_NUM_UARTS 5
 #define FSL_IMX25_NUM_GPTS 4
index 12368f2c8fda0cafe54b9f7e30fcc7774255d086..64b4ca07b7b96244f9df17d9e251807e5b47ff82 100644 (file)
@@ -32,7 +32,8 @@
 
 #define TYPE_FSL_IMX31 "fsl,imx31"
 typedef struct FslIMX31State FslIMX31State;
-#define FSL_IMX31(obj) OBJECT_CHECK(FslIMX31State, (obj), TYPE_FSL_IMX31)
+DECLARE_INSTANCE_CHECKER(FslIMX31State, FSL_IMX31,
+                         TYPE_FSL_IMX31)
 
 #define FSL_IMX31_NUM_UARTS 2
 #define FSL_IMX31_NUM_EPITS 2
index e66ea1e9178fa30984090331e72df1bcfa4f72f3..602b9aff36262d41fbbfa44aadc11e3f2e6df65c 100644 (file)
@@ -38,7 +38,8 @@
 
 #define TYPE_FSL_IMX6 "fsl,imx6"
 typedef struct FslIMX6State FslIMX6State;
-#define FSL_IMX6(obj) OBJECT_CHECK(FslIMX6State, (obj), TYPE_FSL_IMX6)
+DECLARE_INSTANCE_CHECKER(FslIMX6State, FSL_IMX6,
+                         TYPE_FSL_IMX6)
 
 #define FSL_IMX6_NUM_CPUS 4
 #define FSL_IMX6_NUM_UARTS 5
index e95c4820c6bfcc8f23fbba6436abd34032012cf5..e4862fdb2c35d0243c874730bb81a9ed2ed17a53 100644 (file)
@@ -42,7 +42,8 @@
 
 #define TYPE_FSL_IMX6UL "fsl,imx6ul"
 typedef struct FslIMX6ULState FslIMX6ULState;
-#define FSL_IMX6UL(obj) OBJECT_CHECK(FslIMX6ULState, (obj), TYPE_FSL_IMX6UL)
+DECLARE_INSTANCE_CHECKER(FslIMX6ULState, FSL_IMX6UL,
+                         TYPE_FSL_IMX6UL)
 
 enum FslIMX6ULConfiguration {
     FSL_IMX6UL_NUM_CPUS         = 1,
index 8095e5544b2430a1ab9ce029c82b631fd6918cac..434d1d06417cd52ecf35234c4b3697467837d1b9 100644 (file)
@@ -43,7 +43,8 @@
 
 #define TYPE_FSL_IMX7 "fsl,imx7"
 typedef struct FslIMX7State FslIMX7State;
-#define FSL_IMX7(obj) OBJECT_CHECK(FslIMX7State, (obj), TYPE_FSL_IMX7)
+DECLARE_INSTANCE_CHECKER(FslIMX7State, FSL_IMX7,
+                         TYPE_FSL_IMX7)
 
 enum FslIMX7Configuration {
     FSL_IMX7_NUM_CPUS         = 2,
index 6d9e13fd368e46dd5d4c572153c05b9cd57cecdb..c85f33b2c51919a7500f0de4f89a83988b2fb465 100644 (file)
 
 #define TYPE_ARM_LINUX_BOOT_IF "arm-linux-boot-if"
 typedef struct ARMLinuxBootIfClass ARMLinuxBootIfClass;
-#define ARM_LINUX_BOOT_IF_CLASS(klass) \
-    OBJECT_CLASS_CHECK(ARMLinuxBootIfClass, (klass), TYPE_ARM_LINUX_BOOT_IF)
-#define ARM_LINUX_BOOT_IF_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(ARMLinuxBootIfClass, (obj), TYPE_ARM_LINUX_BOOT_IF)
+DECLARE_CLASS_CHECKERS(ARMLinuxBootIfClass, ARM_LINUX_BOOT_IF,
+                       TYPE_ARM_LINUX_BOOT_IF)
 #define ARM_LINUX_BOOT_IF(obj) \
     INTERFACE_CHECK(ARMLinuxBootIf, (obj), TYPE_ARM_LINUX_BOOT_IF)
 
index b4bc5ef96a50ef1c4c8fb277f97f421e0810ac06..9b93d0d64e53126a661ce5ba4dd0b502fa216525 100644 (file)
@@ -34,7 +34,8 @@
 
 #define TYPE_MSF2_SOC     "msf2-soc"
 typedef struct MSF2State MSF2State;
-#define MSF2_SOC(obj)     OBJECT_CHECK(MSF2State, (obj), TYPE_MSF2_SOC)
+DECLARE_INSTANCE_CHECKER(MSF2State, MSF2_SOC,
+                         TYPE_MSF2_SOC)
 
 #define MSF2_NUM_SPIS         2
 #define MSF2_NUM_UARTS        2
index 727ac1ae0491173e5d6eb8d9ef6059b846b6faed..b69492b29d5ace1f15aeda1cf10488e02855ea95 100644 (file)
@@ -21,8 +21,8 @@
 
 #define TYPE_NRF51_SOC "nrf51-soc"
 typedef struct NRF51State NRF51State;
-#define NRF51_SOC(obj) \
-    OBJECT_CHECK(NRF51State, (obj), TYPE_NRF51_SOC)
+DECLARE_INSTANCE_CHECKER(NRF51State, NRF51_SOC,
+                         TYPE_NRF51_SOC)
 
 #define NRF51_NUM_TIMERS 3
 
index 0d365edeecb2c90c8befc3a2574ccd674f5e9554..0dbf1712f472f9d914325e9db36e3caa8625a3d2 100644 (file)
@@ -71,8 +71,8 @@ void omap_clk_reparent(omap_clk clk, omap_clk parent);
 /* omap_intc.c */
 #define TYPE_OMAP_INTC "common-omap-intc"
 typedef struct omap_intr_handler_s omap_intr_handler;
-#define OMAP_INTC(obj)                                              \
-    OBJECT_CHECK(omap_intr_handler, (obj), TYPE_OMAP_INTC)
+DECLARE_INSTANCE_CHECKER(omap_intr_handler, OMAP_INTC,
+                         TYPE_OMAP_INTC)
 
 
 /*
@@ -95,7 +95,8 @@ void omap_intc_set_fclk(omap_intr_handler *intc, omap_clk clk);
 /* omap_i2c.c */
 #define TYPE_OMAP_I2C "omap_i2c"
 typedef struct OMAPI2CState OMAPI2CState;
-#define OMAP_I2C(obj) OBJECT_CHECK(OMAPI2CState, (obj), TYPE_OMAP_I2C)
+DECLARE_INSTANCE_CHECKER(OMAPI2CState, OMAP_I2C,
+                         TYPE_OMAP_I2C)
 
 
 /* TODO: clock framework (see above) */
@@ -104,12 +105,12 @@ void omap_i2c_set_fclk(OMAPI2CState *i2c, omap_clk clk);
 
 /* omap_gpio.c */
 #define TYPE_OMAP1_GPIO "omap-gpio"
-#define OMAP1_GPIO(obj)                                         \
-    OBJECT_CHECK(struct omap_gpif_s, (obj), TYPE_OMAP1_GPIO)
+DECLARE_INSTANCE_CHECKER(struct omap_gpif_s, OMAP1_GPIO,
+                         TYPE_OMAP1_GPIO)
 
 #define TYPE_OMAP2_GPIO "omap2-gpio"
-#define OMAP2_GPIO(obj)                                         \
-    OBJECT_CHECK(struct omap2_gpif_s, (obj), TYPE_OMAP2_GPIO)
+DECLARE_INSTANCE_CHECKER(struct omap2_gpif_s, OMAP2_GPIO,
+                         TYPE_OMAP2_GPIO)
 
 typedef struct omap_gpif_s omap_gpif;
 typedef struct omap2_gpif_s omap2_gpif;
index b2f9a4146867dde45f57725398093a30c2a5a18d..9046876134b13a223e87efacf63692683f6e2016 100644 (file)
@@ -89,7 +89,8 @@ void pxa2xx_lcd_vsync_notifier(PXA2xxLCDState *s, qemu_irq handler);
 /* pxa2xx_mmci.c */
 #define TYPE_PXA2XX_MMCI "pxa2xx-mmci"
 typedef struct PXA2xxMMCIState PXA2xxMMCIState;
-#define PXA2XX_MMCI(obj) OBJECT_CHECK(PXA2xxMMCIState, (obj), TYPE_PXA2XX_MMCI)
+DECLARE_INSTANCE_CHECKER(PXA2xxMMCIState, PXA2XX_MMCI,
+                         TYPE_PXA2XX_MMCI)
 
 PXA2xxMMCIState *pxa2xx_mmci_init(MemoryRegion *sysmem,
                 hwaddr base,
@@ -100,8 +101,8 @@ void pxa2xx_mmci_handlers(PXA2xxMMCIState *s, qemu_irq readonly,
 /* pxa2xx_pcmcia.c */
 #define TYPE_PXA2XX_PCMCIA "pxa2xx-pcmcia"
 typedef struct PXA2xxPCMCIAState PXA2xxPCMCIAState;
-#define PXA2XX_PCMCIA(obj) \
-    OBJECT_CHECK(PXA2xxPCMCIAState, obj, TYPE_PXA2XX_PCMCIA)
+DECLARE_INSTANCE_CHECKER(PXA2xxPCMCIAState, PXA2XX_PCMCIA,
+                         TYPE_PXA2XX_PCMCIA)
 
 PXA2xxPCMCIAState *pxa2xx_pcmcia_init(MemoryRegion *sysmem,
                                       hwaddr base);
@@ -129,12 +130,13 @@ I2CBus *pxa2xx_i2c_bus(PXA2xxI2CState *s);
 
 #define TYPE_PXA2XX_I2C "pxa2xx_i2c"
 typedef struct PXA2xxI2SState PXA2xxI2SState;
-#define PXA2XX_I2C(obj) \
-    OBJECT_CHECK(PXA2xxI2CState, (obj), TYPE_PXA2XX_I2C)
+DECLARE_INSTANCE_CHECKER(PXA2xxI2CState, PXA2XX_I2C,
+                         TYPE_PXA2XX_I2C)
 
 #define TYPE_PXA2XX_FIR "pxa2xx-fir"
 typedef struct PXA2xxFIrState PXA2xxFIrState;
-#define PXA2XX_FIR(obj) OBJECT_CHECK(PXA2xxFIrState, (obj), TYPE_PXA2XX_FIR)
+DECLARE_INSTANCE_CHECKER(PXA2xxFIrState, PXA2XX_FIR,
+                         TYPE_PXA2XX_FIR)
 
 typedef struct {
     ARMCPU *cpu;
index b6b51a1cb1a06a2667a3ad1dddcaa54141459573..54d0872fd8911deb470f0bded7562bfa4f8e80c0 100644 (file)
@@ -132,11 +132,8 @@ struct SMMUBaseClass {
 typedef struct SMMUBaseClass SMMUBaseClass;
 
 #define TYPE_ARM_SMMU "arm-smmu"
-#define ARM_SMMU(obj) OBJECT_CHECK(SMMUState, (obj), TYPE_ARM_SMMU)
-#define ARM_SMMU_CLASS(klass)                                    \
-    OBJECT_CLASS_CHECK(SMMUBaseClass, (klass), TYPE_ARM_SMMU)
-#define ARM_SMMU_GET_CLASS(obj)                              \
-    OBJECT_GET_CLASS(SMMUBaseClass, (obj), TYPE_ARM_SMMU)
+DECLARE_OBJ_CHECKERS(SMMUState, SMMUBaseClass,
+                     ARM_SMMU, TYPE_ARM_SMMU)
 
 /* Return the SMMUPciBus handle associated to a PCI bus number */
 SMMUPciBus *smmu_find_smmu_pcibus(SMMUState *s, uint8_t bus_num);
index 698b89d2342522d5f82200406b6a0cc42f117a29..2a3f6dd1974bf32423100e6c0d88f51f26ad9597 100644 (file)
@@ -83,10 +83,7 @@ struct SMMUv3Class {
 typedef struct SMMUv3Class SMMUv3Class;
 
 #define TYPE_ARM_SMMUV3   "arm-smmuv3"
-#define ARM_SMMUV3(obj) OBJECT_CHECK(SMMUv3State, (obj), TYPE_ARM_SMMUV3)
-#define ARM_SMMUV3_CLASS(klass)                              \
-    OBJECT_CLASS_CHECK(SMMUv3Class, (klass), TYPE_ARM_SMMUV3)
-#define ARM_SMMUV3_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(SMMUv3Class, (obj), TYPE_ARM_SMMUV3)
+DECLARE_OBJ_CHECKERS(SMMUv3State, SMMUv3Class,
+                     ARM_SMMUV3, TYPE_ARM_SMMUV3)
 
 #endif
index 6d86937e07f9eb9347ac3c4b5d744b02a4a0b6d2..9c2f4818a67dd1c82e6acd80cb1e627530c17790 100644 (file)
@@ -36,8 +36,8 @@
 
 #define TYPE_STM32F205_SOC "stm32f205-soc"
 typedef struct STM32F205State STM32F205State;
-#define STM32F205_SOC(obj) \
-    OBJECT_CHECK(STM32F205State, (obj), TYPE_STM32F205_SOC)
+DECLARE_INSTANCE_CHECKER(STM32F205State, STM32F205_SOC,
+                         TYPE_STM32F205_SOC)
 
 #define STM_NUM_USARTS 6
 #define STM_NUM_TIMERS 4
index 8f44fb20469c2da7fdd6efdbd4c8b8358666bcd1..f1a22763f4a1daae36836451034ea463819902ba 100644 (file)
@@ -37,8 +37,8 @@
 
 #define TYPE_STM32F405_SOC "stm32f405-soc"
 typedef struct STM32F405State STM32F405State;
-#define STM32F405_SOC(obj) \
-    OBJECT_CHECK(STM32F405State, (obj), TYPE_STM32F405_SOC)
+DECLARE_INSTANCE_CHECKER(STM32F405State, STM32F405_SOC,
+                         TYPE_STM32F405_SOC)
 
 #define STM_NUM_USARTS 7
 #define STM_NUM_TIMERS 4
index 49ad8609433116cf231dbcdcbdc8ab1725648ce2..392b0bd57188162c6b4cd9d1c9657bfd84feb0ac 100644 (file)
@@ -170,12 +170,8 @@ typedef struct VirtMachineState VirtMachineState;
 #define VIRT_ECAM_ID(high) (high ? VIRT_HIGH_PCIE_ECAM : VIRT_PCIE_ECAM)
 
 #define TYPE_VIRT_MACHINE   MACHINE_TYPE_NAME("virt")
-#define VIRT_MACHINE(obj) \
-    OBJECT_CHECK(VirtMachineState, (obj), TYPE_VIRT_MACHINE)
-#define VIRT_MACHINE_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(VirtMachineClass, obj, TYPE_VIRT_MACHINE)
-#define VIRT_MACHINE_CLASS(klass) \
-    OBJECT_CLASS_CHECK(VirtMachineClass, klass, TYPE_VIRT_MACHINE)
+DECLARE_OBJ_CHECKERS(VirtMachineState, VirtMachineClass,
+                     VIRT_MACHINE, TYPE_VIRT_MACHINE)
 
 void virt_acpi_setup(VirtMachineState *vms);
 bool virt_is_acpi_enabled(VirtMachineState *vms);
index a960619ec9115e673a8bd7245467009db813a511..eaa9023fd66599c589a2284c422d8b27b7869f00 100644 (file)
@@ -24,7 +24,8 @@
 
 #define TYPE_XLNX_VERSAL "xlnx-versal"
 typedef struct Versal Versal;
-#define XLNX_VERSAL(obj) OBJECT_CHECK(Versal, (obj), TYPE_XLNX_VERSAL)
+DECLARE_INSTANCE_CHECKER(Versal, XLNX_VERSAL,
+                         TYPE_XLNX_VERSAL)
 
 #define XLNX_VERSAL_NR_ACPUS   2
 #define XLNX_VERSAL_NR_UARTS   2
index 6a24216abfd5882bd443f2fc17e42b0bcd883821..4cc97b46109ec7446f2be40fea1bb1a8010a3a30 100644 (file)
@@ -36,8 +36,8 @@
 
 #define TYPE_XLNX_ZYNQMP "xlnx,zynqmp"
 typedef struct XlnxZynqMPState XlnxZynqMPState;
-#define XLNX_ZYNQMP(obj) OBJECT_CHECK(XlnxZynqMPState, (obj), \
-                                       TYPE_XLNX_ZYNQMP)
+DECLARE_INSTANCE_CHECKER(XlnxZynqMPState, XLNX_ZYNQMP,
+                         TYPE_XLNX_ZYNQMP)
 
 #define XLNX_ZYNQMP_NUM_APU_CPUS 4
 #define XLNX_ZYNQMP_NUM_RPU_CPUS 2
index 9b2fa7e92ce27c987b2264bb2f03a67fe6c3cb07..3e26303705b3a796b7c67937175bac5c4fa79c44 100644 (file)
@@ -10,8 +10,8 @@
 
 #define TYPE_PFLASH_CFI01 "cfi.pflash01"
 typedef struct PFlashCFI01 PFlashCFI01;
-#define PFLASH_CFI01(obj) \
-    OBJECT_CHECK(PFlashCFI01, (obj), TYPE_PFLASH_CFI01)
+DECLARE_INSTANCE_CHECKER(PFlashCFI01, PFLASH_CFI01,
+                         TYPE_PFLASH_CFI01)
 
 
 PFlashCFI01 *pflash_cfi01_register(hwaddr base,
@@ -31,8 +31,8 @@ void pflash_cfi01_legacy_drive(PFlashCFI01 *dev, DriveInfo *dinfo);
 
 #define TYPE_PFLASH_CFI02 "cfi.pflash02"
 typedef struct PFlashCFI02 PFlashCFI02;
-#define PFLASH_CFI02(obj) \
-    OBJECT_CHECK(PFlashCFI02, (obj), TYPE_PFLASH_CFI02)
+DECLARE_INSTANCE_CHECKER(PFlashCFI02, PFLASH_CFI02,
+                         TYPE_PFLASH_CFI02)
 
 
 PFlashCFI02 *pflash_cfi02_register(hwaddr base,
index f013d634f7dd2d9035047657fc1f7251bd95c612..8287da7c30d1d5a9d22adf6de896cd93d2e60315 100644 (file)
@@ -22,7 +22,8 @@ typedef struct SWIMBus SWIMBus;
 typedef struct SWIMCtrl SWIMCtrl;
 
 #define TYPE_SWIM_DRIVE "swim-drive"
-#define SWIM_DRIVE(obj) OBJECT_CHECK(SWIMDrive, (obj), TYPE_SWIM_DRIVE)
+DECLARE_INSTANCE_CHECKER(SWIMDrive, SWIM_DRIVE,
+                         TYPE_SWIM_DRIVE)
 
 struct SWIMDrive {
     DeviceState qdev;
@@ -31,7 +32,8 @@ struct SWIMDrive {
 };
 
 #define TYPE_SWIM_BUS "swim-bus"
-#define SWIM_BUS(obj) OBJECT_CHECK(SWIMBus, (obj), TYPE_SWIM_BUS)
+DECLARE_INSTANCE_CHECKER(SWIMBus, SWIM_BUS,
+                         TYPE_SWIM_BUS)
 
 struct SWIMBus {
     BusState bus;
@@ -69,7 +71,8 @@ struct SWIMCtrl {
 
 #define TYPE_SWIM "swim"
 typedef struct Swim Swim;
-#define SWIM(obj) OBJECT_CHECK(Swim, (obj), TYPE_SWIM)
+DECLARE_INSTANCE_CHECKER(Swim, SWIM,
+                         TYPE_SWIM)
 
 struct Swim {
     SysBusDevice parent_obj;
index bc5b82ad209e4b2e07bd1013fcf1ec8d4078e55f..795910d01b9be7519e56dbf53e091d5c64882253 100644 (file)
 
 #define TYPE_MACHINE "machine"
 #undef MACHINE  /* BSD defines it and QEMU does not use it */
-#define MACHINE(obj) \
-    OBJECT_CHECK(MachineState, (obj), TYPE_MACHINE)
-#define MACHINE_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(MachineClass, (obj), TYPE_MACHINE)
-#define MACHINE_CLASS(klass) \
-    OBJECT_CLASS_CHECK(MachineClass, (klass), TYPE_MACHINE)
+DECLARE_OBJ_CHECKERS(MachineState, MachineClass,
+                     MACHINE, TYPE_MACHINE)
 
 extern MachineState *current_machine;
 
index 67ad345edd3110d6c8675bcb8e214cb395c1ee33..5202f152b09ca5607da604fa1477a9edc52f405b 100644 (file)
@@ -59,8 +59,8 @@
 
 #define TYPE_AVR_USART "avr-usart"
 typedef struct AVRUsartState AVRUsartState;
-#define AVR_USART(obj) \
-    OBJECT_CHECK(AVRUsartState, (obj), TYPE_AVR_USART)
+DECLARE_INSTANCE_CHECKER(AVRUsartState, AVR_USART,
+                         TYPE_AVR_USART)
 
 struct AVRUsartState {
     /* <private> */
index 2647becc52bae2ad80332886c3368be4ab716c0d..a08795c47f2004c0f0bb5d42aa134e789a0663de 100644 (file)
@@ -15,7 +15,8 @@
 
 #define TYPE_BCM2835_AUX "bcm2835-aux"
 typedef struct BCM2835AuxState BCM2835AuxState;
-#define BCM2835_AUX(obj) OBJECT_CHECK(BCM2835AuxState, (obj), TYPE_BCM2835_AUX)
+DECLARE_INSTANCE_CHECKER(BCM2835AuxState, BCM2835_AUX,
+                         TYPE_BCM2835_AUX)
 
 #define BCM2835_AUX_RX_FIFO_LEN 8
 
index 3d02d6ef1a379e8735c7fa9bef9840eaccc36e90..1734f5354184696191d48988d2c2b013e187d12b 100644 (file)
@@ -33,8 +33,8 @@
 
 #define TYPE_CADENCE_UART "cadence_uart"
 typedef struct CadenceUARTState CadenceUARTState;
-#define CADENCE_UART(obj) OBJECT_CHECK(CadenceUARTState, (obj), \
-                                       TYPE_CADENCE_UART)
+DECLARE_INSTANCE_CHECKER(CadenceUARTState, CADENCE_UART,
+                         TYPE_CADENCE_UART)
 
 struct CadenceUARTState {
     /*< private >*/
index 32c0df9df319c118c0407c90fd09dd8868320efc..2c3869aa161ee84a6993c5115df9845923dc04ba 100644 (file)
@@ -19,8 +19,8 @@
 
 #define TYPE_CMSDK_APB_UART "cmsdk-apb-uart"
 typedef struct CMSDKAPBUART CMSDKAPBUART;
-#define CMSDK_APB_UART(obj) OBJECT_CHECK(CMSDKAPBUART, (obj), \
-                                         TYPE_CMSDK_APB_UART)
+DECLARE_INSTANCE_CHECKER(CMSDKAPBUART, CMSDK_APB_UART,
+                         TYPE_CMSDK_APB_UART)
 
 struct CMSDKAPBUART {
     /*< private >*/
index 7c6ec2a5c5fe01cf7c344a355570e227cb11f080..01d406833d6289fea224afd268739bd540c4afce 100644 (file)
@@ -24,8 +24,8 @@
 
 #define TYPE_DIGIC_UART "digic-uart"
 typedef struct DigicUartState DigicUartState;
-#define DIGIC_UART(obj) \
-    OBJECT_CHECK(DigicUartState, (obj), TYPE_DIGIC_UART)
+DECLARE_INSTANCE_CHECKER(DigicUartState, DIGIC_UART,
+                         TYPE_DIGIC_UART)
 
 enum {
     R_TX = 0x00,
index 5de2a39e77cb090a230a9b31c358d53613dc1b61..5eaec507dad20beede4b5dd4acbe209db241e1c0 100644 (file)
@@ -12,7 +12,8 @@
 #define ESCC_SIZE 4
 
 typedef struct ESCCState ESCCState;
-#define ESCC(obj) OBJECT_CHECK(ESCCState, (obj), TYPE_ESCC)
+DECLARE_INSTANCE_CHECKER(ESCCState, ESCC,
+                         TYPE_ESCC)
 
 typedef enum {
     escc_chn_a, escc_chn_b,
index ec9fcde8f007293681ca292f6996649f04e68985..36eb75fc4c0b1d57b16512080b2760832eb7f3e9 100644 (file)
@@ -71,8 +71,8 @@ REG32(TIMEOUT_CTRL, 0x2c)
 
 #define TYPE_IBEX_UART "ibex-uart"
 typedef struct IbexUartState IbexUartState;
-#define IBEX_UART(obj) \
-    OBJECT_CHECK(IbexUartState, (obj), TYPE_IBEX_UART)
+DECLARE_INSTANCE_CHECKER(IbexUartState, IBEX_UART,
+                         TYPE_IBEX_UART)
 
 struct IbexUartState {
     /* <private> */
index bfaf8ec6954a9ed3ddfa0cf749321ae2a82a2985..200f1ec33af9eacc58fac6ed0f3318bfa4d85d63 100644 (file)
@@ -24,7 +24,8 @@
 
 #define TYPE_IMX_SERIAL "imx.serial"
 typedef struct IMXSerialState IMXSerialState;
-#define IMX_SERIAL(obj) OBJECT_CHECK(IMXSerialState, (obj), TYPE_IMX_SERIAL)
+DECLARE_INSTANCE_CHECKER(IMXSerialState, IMX_SERIAL,
+                         TYPE_IMX_SERIAL)
 
 #define URXD_CHARRDY    (1<<15)   /* character read is valid */
 #define URXD_ERR        (1<<14)   /* Character has error */
index 20560ba6dc865825c65314f416469d45474fc37c..0cf3c4e3287bb5804d45e2c918386c32c3acdc42 100644 (file)
@@ -21,7 +21,8 @@
 
 #define TYPE_NRF51_UART "nrf51_soc.uart"
 typedef struct NRF51UARTState NRF51UARTState;
-#define NRF51_UART(obj) OBJECT_CHECK(NRF51UARTState, (obj), TYPE_NRF51_UART)
+DECLARE_INSTANCE_CHECKER(NRF51UARTState, NRF51_UART,
+                         TYPE_NRF51_UART)
 
 REG32(UART_STARTRX, 0x000)
 REG32(UART_STOPRX, 0x004)
index ddbd8ad45bfc7c62aa4d274b016240b9cbed893b..80de4ecde6436f39950083e5dcc307ce41ecf639 100644 (file)
@@ -23,7 +23,8 @@
 
 #define TYPE_PL011 "pl011"
 typedef struct PL011State PL011State;
-#define PL011(obj) OBJECT_CHECK(PL011State, (obj), TYPE_PL011)
+DECLARE_INSTANCE_CHECKER(PL011State, PL011,
+                         TYPE_PL011)
 
 /* This shares the same struct (and cast macro) as the base pl011 device */
 #define TYPE_PL011_LUMINARY "pl011_luminary"
index 5a5ebfd28c2265a8eb92d818a53404c51f849328..a4764e3eee3a936315ec0a534371e0070a299243 100644 (file)
@@ -15,7 +15,8 @@
 
 #define TYPE_RENESAS_SCI "renesas-sci"
 typedef struct RSCIState RSCIState;
-#define RSCI(obj) OBJECT_CHECK(RSCIState, (obj), TYPE_RENESAS_SCI)
+DECLARE_INSTANCE_CHECKER(RSCIState, RSCI,
+                         TYPE_RENESAS_SCI)
 
 enum {
     ERI = 0,
index dbeef4367633b9b6db15c74bbd562a6960bfdc52..264f529a7f1003f942fb0632f55fcf972acd5327 100644 (file)
@@ -104,13 +104,16 @@ extern const MemoryRegionOps serial_io_ops;
 void serial_set_frequency(SerialState *s, uint32_t frequency);
 
 #define TYPE_SERIAL "serial"
-#define SERIAL(s) OBJECT_CHECK(SerialState, (s), TYPE_SERIAL)
+DECLARE_INSTANCE_CHECKER(SerialState, SERIAL,
+                         TYPE_SERIAL)
 
 #define TYPE_SERIAL_MM "serial-mm"
-#define SERIAL_MM(s) OBJECT_CHECK(SerialMM, (s), TYPE_SERIAL_MM)
+DECLARE_INSTANCE_CHECKER(SerialMM, SERIAL_MM,
+                         TYPE_SERIAL_MM)
 
 #define TYPE_SERIAL_IO "serial-io"
-#define SERIAL_IO(s) OBJECT_CHECK(SerialIO, (s), TYPE_SERIAL_IO)
+DECLARE_INSTANCE_CHECKER(SerialIO, SERIAL_IO,
+                         TYPE_SERIAL_IO)
 
 SerialMM *serial_mm_init(MemoryRegion *address_space,
                          hwaddr base, int regshift,
index c44faca751b4d07af2a0f6149cbb0c7fa792c210..1670c076d4855526623555c7ff7c3f0638fc6a42 100644 (file)
@@ -55,8 +55,8 @@
 
 #define TYPE_STM32F2XX_USART "stm32f2xx-usart"
 typedef struct STM32F2XXUsartState STM32F2XXUsartState;
-#define STM32F2XX_USART(obj) \
-    OBJECT_CHECK(STM32F2XXUsartState, (obj), TYPE_STM32F2XX_USART)
+DECLARE_INSTANCE_CHECKER(STM32F2XXUsartState, STM32F2XX_USART,
+                         TYPE_STM32F2XX_USART)
 
 struct STM32F2XXUsartState {
     /* <private> */
index 65cf363dd5a7c33453245d53a6dc4c8610ddf5fa..b524509b4718a6f3ed72bfe0534c7d49f820a2ab 100644 (file)
@@ -19,7 +19,8 @@
 
 #define TYPE_CLOCK "clock"
 typedef struct Clock Clock;
-#define CLOCK(obj) OBJECT_CHECK(Clock, (obj), TYPE_CLOCK)
+DECLARE_INSTANCE_CHECKER(Clock, CLOCK,
+                         TYPE_CLOCK)
 
 typedef void ClockCallback(void *opaque);
 
index b22bb54c82b4d7dcf5b06401ff412468c16fe4c2..99dc33ffeb2826c349972198e13458059672dbe1 100644 (file)
@@ -63,8 +63,8 @@ typedef uint64_t vaddr;
 #define CPU(obj) ((CPUState *)(obj))
 
 typedef struct CPUClass CPUClass;
-#define CPU_CLASS(class) OBJECT_CLASS_CHECK(CPUClass, (class), TYPE_CPU)
-#define CPU_GET_CLASS(obj) OBJECT_GET_CLASS(CPUClass, (obj), TYPE_CPU)
+DECLARE_CLASS_CHECKERS(CPUClass, CPU,
+                       TYPE_CPU)
 
 typedef enum MMUAccessType {
     MMU_DATA_LOAD  = 0,
index f435af1884576ecf90e172bdbc44a37c04917580..8e86532df67d1e45af1c2a043cc758b9098c13ba 100644 (file)
@@ -43,7 +43,7 @@ struct GenericLoaderState {
 typedef struct GenericLoaderState GenericLoaderState;
 
 #define TYPE_GENERIC_LOADER "loader"
-#define GENERIC_LOADER(obj) OBJECT_CHECK(GenericLoaderState, (obj), \
-                                         TYPE_GENERIC_LOADER)
+DECLARE_INSTANCE_CHECKER(GenericLoaderState, GENERIC_LOADER,
+                         TYPE_GENERIC_LOADER)
 
 #endif
index 872a39aa4fd4f31025894242fa8a6f8c9ea811e2..76d42b29aa2e201c6e9d48fa2c9b47032083e068 100644 (file)
@@ -44,7 +44,8 @@
 
 typedef struct SplitIRQ SplitIRQ;
 
-#define SPLIT_IRQ(obj) OBJECT_CHECK(SplitIRQ, (obj), TYPE_SPLIT_IRQ)
+DECLARE_INSTANCE_CHECKER(SplitIRQ, SPLIT_IRQ,
+                         TYPE_SPLIT_IRQ)
 
 struct SplitIRQ {
     DeviceState parent_obj;
index 01415728d06b17e74f0a13b630c79997490de96a..58d8ac74152a7f417e0dd9a4a0f27606205177a8 100644 (file)
@@ -28,8 +28,8 @@
 
 #define TYPE_A15MPCORE_PRIV "a15mpcore_priv"
 typedef struct A15MPPrivState A15MPPrivState;
-#define A15MPCORE_PRIV(obj) \
-    OBJECT_CHECK(A15MPPrivState, (obj), TYPE_A15MPCORE_PRIV)
+DECLARE_INSTANCE_CHECKER(A15MPPrivState, A15MPCORE_PRIV,
+                         TYPE_A15MPCORE_PRIV)
 
 struct A15MPPrivState {
     /*< private >*/
index 1a3b32cc4cb4c54d6877879ae412e14d13aa3d68..37e5cfce083203f2a7423edc5f9e552f7da48bd9 100644 (file)
@@ -19,8 +19,8 @@
 
 #define TYPE_A9MPCORE_PRIV "a9mpcore_priv"
 typedef struct A9MPPrivState A9MPPrivState;
-#define A9MPCORE_PRIV(obj) \
-    OBJECT_CHECK(A9MPPrivState, (obj), TYPE_A9MPCORE_PRIV)
+DECLARE_INSTANCE_CHECKER(A9MPPrivState, A9MPCORE_PRIV,
+                         TYPE_A9MPCORE_PRIV)
 
 struct A9MPPrivState {
     /*< private >*/
index 5a5575b86dc26e7951db38d5f2f0868e034515a1..411d7e66594e9f1dbb5d9aadb0d01b0d45e6d0ad 100644 (file)
@@ -18,8 +18,8 @@
 
 #define TYPE_ARM11MPCORE_PRIV "arm11mpcore_priv"
 typedef struct ARM11MPCorePriveState ARM11MPCorePriveState;
-#define ARM11MPCORE_PRIV(obj) \
-    OBJECT_CHECK(ARM11MPCorePriveState, (obj), TYPE_ARM11MPCORE_PRIV)
+DECLARE_INSTANCE_CHECKER(ARM11MPCorePriveState, ARM11MPCORE_PRIV,
+                         TYPE_ARM11MPCORE_PRIV)
 
 struct ARM11MPCorePriveState {
     SysBusDevice parent_obj;
index faacf9757e8b1ff3f50cea6893c462bbbba75b50..1c807c5902cfce6f22739fb40337effe2994473f 100644 (file)
@@ -56,8 +56,8 @@
 
 #define TYPE_CPU_CLUSTER "cpu-cluster"
 typedef struct CPUClusterState CPUClusterState;
-#define CPU_CLUSTER(obj) \
-    OBJECT_CHECK(CPUClusterState, (obj), TYPE_CPU_CLUSTER)
+DECLARE_INSTANCE_CHECKER(CPUClusterState, CPU_CLUSTER,
+                         TYPE_CPU_CLUSTER)
 
 /*
  * This limit is imposed by TCG, which puts the cluster ID into an
index 850191527e1e0db3da6d08dfe7551574fdb14e01..61ea3481f811bb3210d8530fb7301a0e28f3e810 100644 (file)
@@ -15,8 +15,8 @@
 #define TYPE_CPU_CORE "cpu-core"
 
 typedef struct CPUCore CPUCore;
-#define CPU_CORE(obj) \
-    OBJECT_CHECK(CPUCore, (obj), TYPE_CPU_CORE)
+DECLARE_INSTANCE_CHECKER(CPUCore, CPU_CORE,
+                         TYPE_CPU_CORE)
 
 struct CPUCore {
     /*< private >*/
index 5fc4d74a066d69cc0208fe237ad4a6ff67eafba0..226d77a26425463786f91dd91f327b0d726195c7 100644 (file)
@@ -18,7 +18,8 @@
 
 #define TYPE_BCM2835_FB "bcm2835-fb"
 typedef struct BCM2835FBState BCM2835FBState;
-#define BCM2835_FB(obj) OBJECT_CHECK(BCM2835FBState, (obj), TYPE_BCM2835_FB)
+DECLARE_INSTANCE_CHECKER(BCM2835FBState, BCM2835_FB,
+                         TYPE_BCM2835_FB)
 
 /*
  * Configuration information about the fb which the guest can program
index 6b96a463a7a2c013e60cd912dcd5972d5c57bfa8..09304dd1f67c6beb82ce415eb56afe1b49701eb0 100644 (file)
@@ -29,7 +29,8 @@
 typedef struct DPCDState DPCDState;
 
 #define TYPE_DPCD "dpcd"
-#define DPCD(obj) OBJECT_CHECK(DPCDState, (obj), TYPE_DPCD)
+DECLARE_INSTANCE_CHECKER(DPCDState, DPCD,
+                         TYPE_DPCD)
 
 /* DCPD Revision. */
 #define DPCD_REVISION                           0x00
index 8ab50641aab00139d029eebefeef15f55692167b..fbabfea5a9685c67a210d38ae189bf301825401c 100644 (file)
@@ -37,6 +37,7 @@ struct I2CDDCState {
 typedef struct I2CDDCState I2CDDCState;
 
 #define TYPE_I2CDDC "i2c-ddc"
-#define I2CDDC(obj) OBJECT_CHECK(I2CDDCState, (obj), TYPE_I2CDDC)
+DECLARE_INSTANCE_CHECKER(I2CDDCState, I2CDDC,
+                         TYPE_I2CDDC)
 
 #endif /* I2C_DDC_H */
index d330ee98238cb36e4d04dfe7d656a5aa26df5c99..0960480b7571c5508b2f923b62786350e04a47be 100644 (file)
@@ -33,8 +33,8 @@ typedef struct MacfbState {
 
 #define TYPE_MACFB "sysbus-macfb"
 typedef struct MacfbSysBusState MacfbSysBusState;
-#define MACFB(obj) \
-    OBJECT_CHECK(MacfbSysBusState, (obj), TYPE_MACFB)
+DECLARE_INSTANCE_CHECKER(MacfbSysBusState, MACFB,
+                         TYPE_MACFB)
 
 struct MacfbSysBusState {
     SysBusDevice busdev;
@@ -45,10 +45,8 @@ struct MacfbSysBusState {
 #define TYPE_NUBUS_MACFB "nubus-macfb"
 typedef struct MacfbNubusDeviceClass MacfbNubusDeviceClass;
 typedef struct MacfbNubusState MacfbNubusState;
-#define NUBUS_MACFB_CLASS(class) \
-    OBJECT_CLASS_CHECK(MacfbNubusDeviceClass, (class), TYPE_NUBUS_MACFB)
-#define NUBUS_MACFB_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(MacfbNubusDeviceClass, (obj), TYPE_NUBUS_MACFB)
+DECLARE_OBJ_CHECKERS(MacfbNubusState, MacfbNubusDeviceClass,
+                     NUBUS_MACFB, TYPE_NUBUS_MACFB)
 
 struct MacfbNubusDeviceClass {
     DeviceClass parent_class;
@@ -56,8 +54,6 @@ struct MacfbNubusDeviceClass {
     DeviceRealize parent_realize;
 };
 
-#define NUBUS_MACFB(obj) \
-    OBJECT_CHECK(MacfbNubusState, (obj), TYPE_NUBUS_MACFB)
 
 struct MacfbNubusState {
     NubusDevice busdev;
index f76bde2e7710bfde2398ae609b781cea85dec72a..3b7d9e5a2a52c9d6ccc66a1e941350a2104592e0 100644 (file)
@@ -106,6 +106,7 @@ struct XlnxDPState {
 typedef struct XlnxDPState XlnxDPState;
 
 #define TYPE_XLNX_DP "xlnx.v-dp"
-#define XLNX_DP(obj) OBJECT_CHECK(XlnxDPState, (obj), TYPE_XLNX_DP)
+DECLARE_INSTANCE_CHECKER(XlnxDPState, XLNX_DP,
+                         TYPE_XLNX_DP)
 
 #endif
index 31f335ec5bd1539fa404c8760990356030adedd9..b94dae779a829f8274436a72712991106ee3ee8a 100644 (file)
@@ -27,8 +27,8 @@ typedef struct {
 
 #define TYPE_BCM2835_DMA "bcm2835-dma"
 typedef struct BCM2835DMAState BCM2835DMAState;
-#define BCM2835_DMA(obj) \
-        OBJECT_CHECK(BCM2835DMAState, (obj), TYPE_BCM2835_DMA)
+DECLARE_INSTANCE_CHECKER(BCM2835DMAState, BCM2835_DMA,
+                         TYPE_BCM2835_DMA)
 
 #define BCM2835_DMA_NCHANS 16
 
index 46eef1f5818b8ade685561d601b64a36a2a52ed8..362ce7b8dc5748e04dec5df6ddf6526d6525edad 100644 (file)
@@ -7,8 +7,8 @@
 
 #define TYPE_I8257 "i8257"
 typedef struct I8257State I8257State;
-#define I8257(obj) \
-    OBJECT_CHECK(I8257State, (obj), TYPE_I8257)
+DECLARE_INSTANCE_CHECKER(I8257State, I8257,
+                         TYPE_I8257)
 
 typedef struct I8257Regs {
     int now[2];
index 55a645b055acb95fcbf19aea8252a9703e452386..e9669bf5aeb6e95325e266134910695c76e0d39c 100644 (file)
@@ -44,7 +44,8 @@ typedef struct {
 #define TYPE_PL080 "pl080"
 #define TYPE_PL081 "pl081"
 typedef struct PL080State PL080State;
-#define PL080(obj) OBJECT_CHECK(PL080State, (obj), TYPE_PL080)
+DECLARE_INSTANCE_CHECKER(PL080State, PL080,
+                         TYPE_PL080)
 
 struct PL080State {
     SysBusDevice parent_obj;
index 8be9ee5cc2bfcc3aa15e7576eb4e365df77ceb0a..f638abe568102670d45882bb454d4fa1fd89d088 100644 (file)
@@ -80,7 +80,7 @@ typedef struct XlnxZDMA XlnxZDMA;
 
 #define TYPE_XLNX_ZDMA "xlnx.zdma"
 
-#define XLNX_ZDMA(obj) \
-     OBJECT_CHECK(XlnxZDMA, (obj), TYPE_XLNX_ZDMA)
+DECLARE_INSTANCE_CHECKER(XlnxZDMA, XLNX_ZDMA,
+                         TYPE_XLNX_ZDMA)
 
 #endif /* XLNX_ZDMA_H */
index 52ba61b653b8bb11511f177ef39e1358897ce892..e16b08f9c561a79ed184e34688e42c974735ce3c 100644 (file)
@@ -34,8 +34,8 @@
 #define TYPE_XLNX_ZYNQ_DEVCFG "xlnx.ps7-dev-cfg"
 
 typedef struct XlnxZynqDevcfg XlnxZynqDevcfg;
-#define XLNX_ZYNQ_DEVCFG(obj) \
-    OBJECT_CHECK(XlnxZynqDevcfg, (obj), TYPE_XLNX_ZYNQ_DEVCFG)
+DECLARE_INSTANCE_CHECKER(XlnxZynqDevcfg, XLNX_ZYNQ_DEVCFG,
+                         TYPE_XLNX_ZYNQ_DEVCFG)
 
 #define XLNX_ZYNQ_DEVCFG_R_MAX (0x100 / 4)
 
index 50952dd7ce930c94fb25a606b831667aea9ef341..94b01cad0a3de275a2a351943c5cf47b549ea2d1 100644 (file)
@@ -46,7 +46,8 @@ struct XlnxDPDMAState {
 typedef struct XlnxDPDMAState XlnxDPDMAState;
 
 #define TYPE_XLNX_DPDMA "xlnx.dpdma"
-#define XLNX_DPDMA(obj) OBJECT_CHECK(XlnxDPDMAState, (obj), TYPE_XLNX_DPDMA)
+DECLARE_INSTANCE_CHECKER(XlnxDPDMAState, XLNX_DPDMA,
+                         TYPE_XLNX_DPDMA)
 
 /*
  * xlnx_dpdma_start_operation: Start the operation on the specified channel. The
index 1231cca63bd4500b5634f310e705838df14e1cbf..8e1d45651cfe5bfbff8928f15f522c78b285e334 100644 (file)
 #define TYPE_FW_PATH_PROVIDER "fw-path-provider"
 
 typedef struct FWPathProviderClass FWPathProviderClass;
-#define FW_PATH_PROVIDER_CLASS(klass) \
-     OBJECT_CLASS_CHECK(FWPathProviderClass, (klass), TYPE_FW_PATH_PROVIDER)
-#define FW_PATH_PROVIDER_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(FWPathProviderClass, (obj), TYPE_FW_PATH_PROVIDER)
+DECLARE_CLASS_CHECKERS(FWPathProviderClass, FW_PATH_PROVIDER,
+                       TYPE_FW_PATH_PROVIDER)
 #define FW_PATH_PROVIDER(obj) \
      INTERFACE_CHECK(FWPathProvider, (obj), TYPE_FW_PATH_PROVIDER)
 
index 4dc0bc3f3d65874d508fd0d7f19798164c1afade..2582e6e0dc66bb78b29fa1c8688a329f84e16811 100644 (file)
 #define TYPE_ASPEED_GPIO "aspeed.gpio"
 typedef struct AspeedGPIOClass AspeedGPIOClass;
 typedef struct AspeedGPIOState AspeedGPIOState;
-#define ASPEED_GPIO(obj) OBJECT_CHECK(AspeedGPIOState, (obj), TYPE_ASPEED_GPIO)
-#define ASPEED_GPIO_CLASS(klass) \
-     OBJECT_CLASS_CHECK(AspeedGPIOClass, (klass), TYPE_ASPEED_GPIO)
-#define ASPEED_GPIO_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(AspeedGPIOClass, (obj), TYPE_ASPEED_GPIO)
+DECLARE_OBJ_CHECKERS(AspeedGPIOState, AspeedGPIOClass,
+                     ASPEED_GPIO, TYPE_ASPEED_GPIO)
 
 #define ASPEED_GPIO_MAX_NR_SETS 8
 #define ASPEED_REGS_PER_BANK 14
index d8268f146121e89ec89b109ec0d96b7ebfde79ff..e06e08a0fe997b9f9ca785382feb3afaa89cc040 100644 (file)
@@ -36,7 +36,7 @@ struct BCM2835GpioState {
 typedef struct BCM2835GpioState BCM2835GpioState;
 
 #define TYPE_BCM2835_GPIO "bcm2835_gpio"
-#define BCM2835_GPIO(obj) \
-    OBJECT_CHECK(BCM2835GpioState, (obj), TYPE_BCM2835_GPIO)
+DECLARE_INSTANCE_CHECKER(BCM2835GpioState, BCM2835_GPIO,
+                         TYPE_BCM2835_GPIO)
 
 #endif
index b7dc689f7336db227bbf337814efbaad9ed5a163..a72b272ace9e6c53a88f9deef03260f197182ae9 100644 (file)
@@ -25,7 +25,8 @@
 
 #define TYPE_IMX_GPIO "imx.gpio"
 typedef struct IMXGPIOState IMXGPIOState;
-#define IMX_GPIO(obj) OBJECT_CHECK(IMXGPIOState, (obj), TYPE_IMX_GPIO)
+DECLARE_INSTANCE_CHECKER(IMXGPIOState, IMX_GPIO,
+                         TYPE_IMX_GPIO)
 
 #define IMX_GPIO_MEM_SIZE 0x20
 
index 0c37dd74c0a02fbf44ca05bbc07a745578e6f50c..55d7d24a527e63e5ec77d3cf6044d721438d2788 100644 (file)
@@ -30,7 +30,8 @@
 #include "qom/object.h"
 #define TYPE_NRF51_GPIO "nrf51_soc.gpio"
 typedef struct NRF51GPIOState NRF51GPIOState;
-#define NRF51_GPIO(obj) OBJECT_CHECK(NRF51GPIOState, (obj), TYPE_NRF51_GPIO)
+DECLARE_INSTANCE_CHECKER(NRF51GPIOState, NRF51_GPIO,
+                         TYPE_NRF51_GPIO)
 
 #define NRF51_GPIO_PINS 32
 
index 6536bb01a37fb2b006fb34630c78452f7f8f95a9..e15f59c8b3c7646073e4067f298dbc88119b3867 100644 (file)
 #define TYPE_HOTPLUG_HANDLER "hotplug-handler"
 
 typedef struct HotplugHandlerClass HotplugHandlerClass;
-#define HOTPLUG_HANDLER_CLASS(klass) \
-     OBJECT_CLASS_CHECK(HotplugHandlerClass, (klass), TYPE_HOTPLUG_HANDLER)
-#define HOTPLUG_HANDLER_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(HotplugHandlerClass, (obj), TYPE_HOTPLUG_HANDLER)
+DECLARE_CLASS_CHECKERS(HotplugHandlerClass, HOTPLUG_HANDLER,
+                       TYPE_HOTPLUG_HANDLER)
 #define HOTPLUG_HANDLER(obj) \
      INTERFACE_CHECK(HotplugHandler, (obj), TYPE_HOTPLUG_HANDLER)
 
index d090d466518f7d3e2d21703cf3104c423190dcfe..13248737757741562cf07cec7bc9ef80386db795 100644 (file)
@@ -25,7 +25,8 @@ struct VMBusBridge {
 };
 typedef struct VMBusBridge VMBusBridge;
 
-#define VMBUS_BRIDGE(obj) OBJECT_CHECK(VMBusBridge, (obj), TYPE_VMBUS_BRIDGE)
+DECLARE_INSTANCE_CHECKER(VMBusBridge, VMBUS_BRIDGE,
+                         TYPE_VMBUS_BRIDGE)
 
 static inline VMBusBridge *vmbus_bridge_find(void)
 {
index 282399b8ce8adb1ff18846ef1fa82824bec7860a..0fe3d3b47c8d88d3938b9bf50077051d356d6122 100644 (file)
 
 typedef struct VMBusDevice VMBusDevice;
 typedef struct VMBusDeviceClass VMBusDeviceClass;
-#define VMBUS_DEVICE(obj) \
-    OBJECT_CHECK(VMBusDevice, (obj), TYPE_VMBUS_DEVICE)
-#define VMBUS_DEVICE_CLASS(klass) \
-    OBJECT_CLASS_CHECK(VMBusDeviceClass, (klass), TYPE_VMBUS_DEVICE)
-#define VMBUS_DEVICE_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(VMBusDeviceClass, (obj), TYPE_VMBUS_DEVICE)
+DECLARE_OBJ_CHECKERS(VMBusDevice, VMBusDeviceClass,
+                     VMBUS_DEVICE, TYPE_VMBUS_DEVICE)
 
 #define TYPE_VMBUS "vmbus"
 typedef struct VMBus VMBus;
-#define VMBUS(obj) OBJECT_CHECK(VMBus, (obj), TYPE_VMBUS)
+DECLARE_INSTANCE_CHECKER(VMBus, VMBUS,
+                         TYPE_VMBUS)
 
 /*
  * Object wrapping a GPADL -- GPA Descriptor List -- an array of guest physical
index ca548679642678c8b14d615a82bb16d1962cf60d..ad96781e7a8421ff6d359af7fbbf213e248126f8 100644 (file)
@@ -20,8 +20,8 @@
 #define TYPE_ARM_SBCON_I2C TYPE_VERSATILE_I2C
 
 typedef struct ArmSbconI2CState ArmSbconI2CState;
-#define ARM_SBCON_I2C(obj) \
-    OBJECT_CHECK(ArmSbconI2CState, (obj), TYPE_ARM_SBCON_I2C)
+DECLARE_INSTANCE_CHECKER(ArmSbconI2CState, ARM_SBCON_I2C,
+                         TYPE_ARM_SBCON_I2C)
 
 struct ArmSbconI2CState {
     /*< private >*/
index 2c0198e314331bf652afd45cc2c22e860bc03a2b..695e1c09289cbe045f07d1e74e41535229e3b184 100644 (file)
@@ -31,8 +31,8 @@
 #define TYPE_ASPEED_2600_I2C TYPE_ASPEED_I2C "-ast2600"
 typedef struct AspeedI2CClass AspeedI2CClass;
 typedef struct AspeedI2CState AspeedI2CState;
-#define ASPEED_I2C(obj) \
-    OBJECT_CHECK(AspeedI2CState, (obj), TYPE_ASPEED_I2C)
+DECLARE_OBJ_CHECKERS(AspeedI2CState, AspeedI2CClass,
+                     ASPEED_I2C, TYPE_ASPEED_I2C)
 
 #define ASPEED_I2C_NR_BUSSES 16
 #define ASPEED_I2C_MAX_POOL_SIZE 0x800
@@ -75,10 +75,6 @@ struct AspeedI2CState {
     AddressSpace dram_as;
 };
 
-#define ASPEED_I2C_CLASS(klass) \
-     OBJECT_CLASS_CHECK(AspeedI2CClass, (klass), TYPE_ASPEED_I2C)
-#define ASPEED_I2C_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(AspeedI2CClass, (obj), TYPE_ASPEED_I2C)
 
 struct AspeedI2CClass {
     SysBusDeviceClass parent_class;
index a22f861451a5edda92a464e33ded01c3aa2d2900..2074f7c97165aed075ced650925841069d465c11 100644 (file)
@@ -20,12 +20,8 @@ typedef struct I2CSlave I2CSlave;
 
 #define TYPE_I2C_SLAVE "i2c-slave"
 typedef struct I2CSlaveClass I2CSlaveClass;
-#define I2C_SLAVE(obj) \
-     OBJECT_CHECK(I2CSlave, (obj), TYPE_I2C_SLAVE)
-#define I2C_SLAVE_CLASS(klass) \
-     OBJECT_CLASS_CHECK(I2CSlaveClass, (klass), TYPE_I2C_SLAVE)
-#define I2C_SLAVE_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(I2CSlaveClass, (obj), TYPE_I2C_SLAVE)
+DECLARE_OBJ_CHECKERS(I2CSlave, I2CSlaveClass,
+                     I2C_SLAVE, TYPE_I2C_SLAVE)
 
 struct I2CSlaveClass {
     DeviceClass parent_class;
@@ -55,7 +51,8 @@ struct I2CSlave {
 };
 
 #define TYPE_I2C_BUS "i2c-bus"
-#define I2C_BUS(obj) OBJECT_CHECK(I2CBus, (obj), TYPE_I2C_BUS)
+DECLARE_INSTANCE_CHECKER(I2CBus, I2C_BUS,
+                         TYPE_I2C_BUS)
 
 typedef struct I2CNode I2CNode;
 
index 285a8f40a472beee8fe0323a70e2c5a5288a8378..e7f09104cfca8feae240d510457c406e0f1c02a4 100644 (file)
@@ -26,7 +26,8 @@
 
 #define TYPE_IMX_I2C "imx.i2c"
 typedef struct IMXI2CState IMXI2CState;
-#define IMX_I2C(obj) OBJECT_CHECK(IMXI2CState, (obj), TYPE_IMX_I2C)
+DECLARE_INSTANCE_CHECKER(IMXI2CState, IMX_I2C,
+                         TYPE_IMX_I2C)
 
 #define IMX_I2C_MEM_SIZE           0x14
 
index 76ffaff47a2293d9b805e909a5b3a4cffc2c052f..69d70287d7e5cf30700d20ab5dfc6c309dd05398 100644 (file)
@@ -28,8 +28,8 @@
 
 #define TYPE_MICROBIT_I2C "microbit.i2c"
 typedef struct MicrobitI2CState MicrobitI2CState;
-#define MICROBIT_I2C(obj) \
-    OBJECT_CHECK(MicrobitI2CState, (obj), TYPE_MICROBIT_I2C)
+DECLARE_INSTANCE_CHECKER(MicrobitI2CState, MICROBIT_I2C,
+                         TYPE_MICROBIT_I2C)
 
 #define MICROBIT_I2C_NREGS (NRF51_PERIPHERAL_SIZE / sizeof(uint32_t))
 
index 3698e054b156620c646f6abc732decb072ea9768..7cbcdaf12fd2528da3f3d39fe26a734362ca76da 100644 (file)
@@ -33,7 +33,8 @@
 
 #define TYPE_PPC4xx_I2C "ppc4xx-i2c"
 typedef struct PPC4xxI2CState PPC4xxI2CState;
-#define PPC4xx_I2C(obj) OBJECT_CHECK(PPC4xxI2CState, (obj), TYPE_PPC4xx_I2C)
+DECLARE_INSTANCE_CHECKER(PPC4xxI2CState, PPC4xx_I2C,
+                         TYPE_PPC4xx_I2C)
 
 struct PPC4xxI2CState {
     /*< private >*/
index 17f2cd2d8d9d23507b4b5bae9f062db2dfe874e6..8d16e4bcd97d1e0de9acbf5300df0c236df5a67b 100644 (file)
 #define TYPE_SMBUS_DEVICE "smbus-device"
 typedef struct SMBusDevice SMBusDevice;
 typedef struct SMBusDeviceClass SMBusDeviceClass;
-#define SMBUS_DEVICE(obj) \
-     OBJECT_CHECK(SMBusDevice, (obj), TYPE_SMBUS_DEVICE)
-#define SMBUS_DEVICE_CLASS(klass) \
-     OBJECT_CLASS_CHECK(SMBusDeviceClass, (klass), TYPE_SMBUS_DEVICE)
-#define SMBUS_DEVICE_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(SMBusDeviceClass, (obj), TYPE_SMBUS_DEVICE)
+DECLARE_OBJ_CHECKERS(SMBusDevice, SMBusDeviceClass,
+                     SMBUS_DEVICE, TYPE_SMBUS_DEVICE)
 
 
 struct SMBusDeviceClass {
index 124f1fad6fae8ada03db040e0ecf28a57f8316ec..da385416270fb75b7167e0a1370ab739558a3911 100644 (file)
@@ -127,12 +127,8 @@ typedef struct APICCommonState APICCommonState;
 
 #define TYPE_APIC_COMMON "apic-common"
 typedef struct APICCommonClass APICCommonClass;
-#define APIC_COMMON(obj) \
-     OBJECT_CHECK(APICCommonState, (obj), TYPE_APIC_COMMON)
-#define APIC_COMMON_CLASS(klass) \
-     OBJECT_CLASS_CHECK(APICCommonClass, (klass), TYPE_APIC_COMMON)
-#define APIC_COMMON_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(APICCommonClass, (obj), TYPE_APIC_COMMON)
+DECLARE_OBJ_CHECKERS(APICCommonState, APICCommonClass,
+                     APIC_COMMON, TYPE_APIC_COMMON)
 
 struct APICCommonClass {
     DeviceClass parent_class;
index 8fdac227f29fe2f01f9449bfeec5876711a1e868..e750d679757e4b2a01c863b16af4ca7ae72cd6b8 100644 (file)
@@ -25,8 +25,8 @@ void ich9_generate_smi(void);
 
 #define TYPE_ICH9_LPC_DEVICE "ICH9-LPC"
 typedef struct ICH9LPCState ICH9LPCState;
-#define ICH9_LPC_DEVICE(obj) \
-     OBJECT_CHECK(ICH9LPCState, (obj), TYPE_ICH9_LPC_DEVICE)
+DECLARE_INSTANCE_CHECKER(ICH9LPCState, ICH9_LPC_DEVICE,
+                         TYPE_ICH9_LPC_DEVICE)
 
 struct ICH9LPCState {
     /* ICH9 LPC PCI to ISA bridge */
index 53e5d32d54befd4c44f778da53b26c42a1672c58..98cfc777232d658312604994b2591239b8e0f000 100644 (file)
@@ -28,8 +28,8 @@
 
 #define TYPE_INTEL_IOMMU_DEVICE "intel-iommu"
 typedef struct IntelIOMMUState IntelIOMMUState;
-#define INTEL_IOMMU_DEVICE(obj) \
-     OBJECT_CHECK(IntelIOMMUState, (obj), TYPE_INTEL_IOMMU_DEVICE)
+DECLARE_INSTANCE_CHECKER(IntelIOMMUState, INTEL_IOMMU_DEVICE,
+                         TYPE_INTEL_IOMMU_DEVICE)
 
 #define TYPE_INTEL_IOMMU_MEMORY_REGION "intel-iommu-iommu-memory-region"
 
index 29ae1507272167d1e2ee0f06735281d58d31ca8c..e9cc2eaf5493ab5f77922a378eb03b9dfb2c3f97 100644 (file)
@@ -86,12 +86,8 @@ typedef struct IOAPICCommonState IOAPICCommonState;
 
 #define TYPE_IOAPIC_COMMON "ioapic-common"
 typedef struct IOAPICCommonClass IOAPICCommonClass;
-#define IOAPIC_COMMON(obj) \
-     OBJECT_CHECK(IOAPICCommonState, (obj), TYPE_IOAPIC_COMMON)
-#define IOAPIC_COMMON_CLASS(klass) \
-     OBJECT_CLASS_CHECK(IOAPICCommonClass, (klass), TYPE_IOAPIC_COMMON)
-#define IOAPIC_COMMON_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(IOAPICCommonClass, (obj), TYPE_IOAPIC_COMMON)
+DECLARE_OBJ_CHECKERS(IOAPICCommonState, IOAPICCommonClass,
+                     IOAPIC_COMMON, TYPE_IOAPIC_COMMON)
 
 struct IOAPICCommonClass {
     SysBusDeviceClass parent_class;
index 0556f642060f7fb0e4ed383c23c018ed5a3c3b8b..36dbcdd123517330a66cdc951d5e568c085f378f 100644 (file)
@@ -64,11 +64,7 @@ struct MicrovmMachineState {
 typedef struct MicrovmMachineState MicrovmMachineState;
 
 #define TYPE_MICROVM_MACHINE   MACHINE_TYPE_NAME("microvm")
-#define MICROVM_MACHINE(obj) \
-    OBJECT_CHECK(MicrovmMachineState, (obj), TYPE_MICROVM_MACHINE)
-#define MICROVM_MACHINE_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(MicrovmMachineClass, obj, TYPE_MICROVM_MACHINE)
-#define MICROVM_MACHINE_CLASS(class) \
-    OBJECT_CLASS_CHECK(MicrovmMachineClass, class, TYPE_MICROVM_MACHINE)
+DECLARE_OBJ_CHECKERS(MicrovmMachineState, MicrovmMachineClass,
+                     MICROVM_MACHINE, TYPE_MICROVM_MACHINE)
 
 #endif
index 602b57dc5d30ccab0d73fb571389e941d5510591..421a77acc223ebc40da3a0f8e725b3aa2f729997 100644 (file)
@@ -123,12 +123,8 @@ struct PCMachineClass {
 typedef struct PCMachineClass PCMachineClass;
 
 #define TYPE_PC_MACHINE "generic-pc-machine"
-#define PC_MACHINE(obj) \
-    OBJECT_CHECK(PCMachineState, (obj), TYPE_PC_MACHINE)
-#define PC_MACHINE_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(PCMachineClass, (obj), TYPE_PC_MACHINE)
-#define PC_MACHINE_CLASS(klass) \
-    OBJECT_CLASS_CHECK(PCMachineClass, (klass), TYPE_PC_MACHINE)
+DECLARE_OBJ_CHECKERS(PCMachineState, PCMachineClass,
+                     PC_MACHINE, TYPE_PC_MACHINE)
 
 /* ioapic.c */
 
index dae2eab80020a56050bac5c774f53db5bee70012..bbfaf44e7929c3a76c2bfe15572ee6359d0018dd 100644 (file)
 #define  TYPE_X86_IOMMU_DEVICE  ("x86-iommu")
 typedef struct X86IOMMUClass X86IOMMUClass;
 typedef struct X86IOMMUState X86IOMMUState;
-#define  X86_IOMMU_DEVICE(obj) \
-    OBJECT_CHECK(X86IOMMUState, (obj), TYPE_X86_IOMMU_DEVICE)
-#define  X86_IOMMU_DEVICE_CLASS(klass) \
-    OBJECT_CLASS_CHECK(X86IOMMUClass, (klass), TYPE_X86_IOMMU_DEVICE)
-#define  X86_IOMMU_DEVICE_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(X86IOMMUClass, obj, TYPE_X86_IOMMU_DEVICE)
+DECLARE_OBJ_CHECKERS(X86IOMMUState, X86IOMMUClass,
+                     X86_IOMMU_DEVICE, TYPE_X86_IOMMU_DEVICE)
 
 #define X86_IOMMU_SID_INVALID             (0xffff)
 
index 42d46cc404ec367744cd487ae796fa2c91fc8354..1a188a7deabb1fa35c101bfbeadb0e762eb65f78 100644 (file)
@@ -77,12 +77,8 @@ typedef struct X86MachineState X86MachineState;
 #define X86_MACHINE_ACPI             "acpi"
 
 #define TYPE_X86_MACHINE   MACHINE_TYPE_NAME("x86")
-#define X86_MACHINE(obj) \
-    OBJECT_CHECK(X86MachineState, (obj), TYPE_X86_MACHINE)
-#define X86_MACHINE_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(X86MachineClass, obj, TYPE_X86_MACHINE)
-#define X86_MACHINE_CLASS(class) \
-    OBJECT_CLASS_CHECK(X86MachineClass, class, TYPE_X86_MACHINE)
+DECLARE_OBJ_CHECKERS(X86MachineState, X86MachineClass,
+                     X86_MACHINE, TYPE_X86_MACHINE)
 
 void init_topo_info(X86CPUTopoInfo *topo_info, const X86MachineState *x86ms);
 
index 110269f1526f2dc47ca30367a518f6fd00ffc5fe..4cf6813d80796f1db8aa8a95af53e37d464bbaf3 100644 (file)
@@ -54,15 +54,16 @@ typedef struct AHCIState {
 typedef struct AHCIPCIState AHCIPCIState;
 
 #define TYPE_ICH9_AHCI "ich9-ahci"
-#define ICH_AHCI(obj) \
-    OBJECT_CHECK(AHCIPCIState, (obj), TYPE_ICH9_AHCI)
+DECLARE_INSTANCE_CHECKER(AHCIPCIState, ICH_AHCI,
+                         TYPE_ICH9_AHCI)
 
 int32_t ahci_get_num_ports(PCIDevice *dev);
 void ahci_ide_create_devs(PCIDevice *dev, DriveInfo **hd);
 
 #define TYPE_SYSBUS_AHCI "sysbus-ahci"
 typedef struct SysbusAHCIState SysbusAHCIState;
-#define SYSBUS_AHCI(obj) OBJECT_CHECK(SysbusAHCIState, (obj), TYPE_SYSBUS_AHCI)
+DECLARE_INSTANCE_CHECKER(SysbusAHCIState, SYSBUS_AHCI,
+                         TYPE_SYSBUS_AHCI)
 
 struct SysbusAHCIState {
     /*< private >*/
@@ -75,8 +76,8 @@ struct SysbusAHCIState {
 
 #define TYPE_ALLWINNER_AHCI "allwinner-ahci"
 typedef struct AllwinnerAHCIState AllwinnerAHCIState;
-#define ALLWINNER_AHCI(obj) \
-        OBJECT_CHECK(AllwinnerAHCIState, (obj), TYPE_ALLWINNER_AHCI)
+DECLARE_INSTANCE_CHECKER(AllwinnerAHCIState, ALLWINNER_AHCI,
+                         TYPE_ALLWINNER_AHCI)
 
 #define ALLWINNER_AHCI_MMIO_OFF  0x80
 #define ALLWINNER_AHCI_MMIO_SIZE 0x80
index 74ea1e324cf2fb7c5db63bc2366932b2b65e9723..eb9eb4e0ae150f028036d54f7fb5616d0494f72e 100644 (file)
@@ -26,7 +26,8 @@ typedef struct IDEDMA IDEDMA;
 typedef struct IDEDMAOps IDEDMAOps;
 
 #define TYPE_IDE_BUS "IDE"
-#define IDE_BUS(obj) OBJECT_CHECK(IDEBus, (obj), TYPE_IDE_BUS)
+DECLARE_INSTANCE_CHECKER(IDEBus, IDE_BUS,
+                         TYPE_IDE_BUS)
 
 #define MAX_IDE_DEVS 2
 
@@ -488,12 +489,8 @@ struct IDEBus {
 
 #define TYPE_IDE_DEVICE "ide-device"
 typedef struct IDEDeviceClass IDEDeviceClass;
-#define IDE_DEVICE(obj) \
-     OBJECT_CHECK(IDEDevice, (obj), TYPE_IDE_DEVICE)
-#define IDE_DEVICE_CLASS(klass) \
-     OBJECT_CLASS_CHECK(IDEDeviceClass, (klass), TYPE_IDE_DEVICE)
-#define IDE_DEVICE_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(IDEDeviceClass, (obj), TYPE_IDE_DEVICE)
+DECLARE_OBJ_CHECKERS(IDEDevice, IDEDeviceClass,
+                     IDE_DEVICE, TYPE_IDE_DEVICE)
 
 struct IDEDeviceClass {
     DeviceClass parent_class;
index 7ed1fa101d1d0112088e2f0d7e188ab6b8d98f8d..b8d7270ec8020ae5cdb4ceff98ba5f673605944b 100644 (file)
@@ -41,7 +41,8 @@ typedef struct BMDMAState {
 
 #define TYPE_PCI_IDE "pci-ide"
 typedef struct PCIIDEState PCIIDEState;
-#define PCI_IDE(obj) OBJECT_CHECK(PCIIDEState, (obj), TYPE_PCI_IDE)
+DECLARE_INSTANCE_CHECKER(PCIIDEState, PCI_IDE,
+                         TYPE_PCI_IDE)
 
 struct PCIIDEState {
     /*< private >*/
index ad89a21176df2f0b225180cf4af3af4573ef2883..285f70db55e5f83c4af9c993460265e65fe2b1e6 100644 (file)
@@ -44,7 +44,8 @@ typedef bool ADBDeviceHasData(ADBDevice *d);
 
 #define TYPE_ADB_DEVICE "adb-device"
 typedef struct ADBDeviceClass ADBDeviceClass;
-#define ADB_DEVICE(obj) OBJECT_CHECK(ADBDevice, (obj), TYPE_ADB_DEVICE)
+DECLARE_OBJ_CHECKERS(ADBDevice, ADBDeviceClass,
+                     ADB_DEVICE, TYPE_ADB_DEVICE)
 
 struct ADBDevice {
     /*< private >*/
@@ -55,10 +56,6 @@ struct ADBDevice {
     int handler;
 };
 
-#define ADB_DEVICE_CLASS(cls) \
-    OBJECT_CLASS_CHECK(ADBDeviceClass, (cls), TYPE_ADB_DEVICE)
-#define ADB_DEVICE_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(ADBDeviceClass, (obj), TYPE_ADB_DEVICE)
 
 struct ADBDeviceClass {
     /*< private >*/
@@ -70,7 +67,8 @@ struct ADBDeviceClass {
 };
 
 #define TYPE_ADB_BUS "apple-desktop-bus"
-#define ADB_BUS(obj) OBJECT_CHECK(ADBBusState, (obj), TYPE_ADB_BUS)
+DECLARE_INSTANCE_CHECKER(ADBBusState, ADB_BUS,
+                         TYPE_ADB_BUS)
 
 #define ADB_STATUS_BUSTIMEOUT  0x1
 #define ADB_STATUS_POLLREPLY   0x2
index d4bf5846998efc4e74af726be380f9b86d32a5d8..f8a3bf88ac56ecaed9754b3d90308b9f6c1594c7 100644 (file)
@@ -13,7 +13,8 @@
 
 #define TYPE_I8042 "i8042"
 typedef struct ISAKBDState ISAKBDState;
-#define I8042(obj) OBJECT_CHECK(ISAKBDState, (obj), TYPE_I8042)
+DECLARE_INSTANCE_CHECKER(ISAKBDState, I8042,
+                         TYPE_I8042)
 
 #define I8042_A20_LINE "a20"
 
index 692d2a88d0e76040e5f6eff58cd9042c65191a62..4d7199480aa84eaf2bb71050618fcb433aa5834c 100644 (file)
@@ -6,7 +6,8 @@
 
 #define TYPE_AW_A10_PIC  "allwinner-a10-pic"
 typedef struct AwA10PICState AwA10PICState;
-#define AW_A10_PIC(obj) OBJECT_CHECK(AwA10PICState, (obj), TYPE_AW_A10_PIC)
+DECLARE_INSTANCE_CHECKER(AwA10PICState, AW_A10_PIC,
+                         TYPE_AW_A10_PIC)
 
 #define AW_A10_PIC_VECTOR       0
 #define AW_A10_PIC_BASE_ADDR    4
index 2cbde9b7a9e6fb2b320f8cf8e2cbf57e25b6978c..70803750081c996c12af988b48f6e15c36afe812 100644 (file)
@@ -149,12 +149,8 @@ typedef struct GICState GICState;
 
 #define TYPE_ARM_GIC_COMMON "arm_gic_common"
 typedef struct ARMGICCommonClass ARMGICCommonClass;
-#define ARM_GIC_COMMON(obj) \
-     OBJECT_CHECK(GICState, (obj), TYPE_ARM_GIC_COMMON)
-#define ARM_GIC_COMMON_CLASS(klass) \
-     OBJECT_CLASS_CHECK(ARMGICCommonClass, (klass), TYPE_ARM_GIC_COMMON)
-#define ARM_GIC_COMMON_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(ARMGICCommonClass, (obj), TYPE_ARM_GIC_COMMON)
+DECLARE_OBJ_CHECKERS(GICState, ARMGICCommonClass,
+                     ARM_GIC_COMMON, TYPE_ARM_GIC_COMMON)
 
 struct ARMGICCommonClass {
     /*< private >*/
index 86fb060320b4379eb122a42658c52261c6947dc6..0331b0ffdb8e0f7a0d0983a7a028668d0d71d457 100644 (file)
@@ -281,12 +281,8 @@ GICV3_BITMAP_ACCESSORS(edge_trigger)
 
 #define TYPE_ARM_GICV3_COMMON "arm-gicv3-common"
 typedef struct ARMGICv3CommonClass ARMGICv3CommonClass;
-#define ARM_GICV3_COMMON(obj) \
-     OBJECT_CHECK(GICv3State, (obj), TYPE_ARM_GICV3_COMMON)
-#define ARM_GICV3_COMMON_CLASS(klass) \
-     OBJECT_CLASS_CHECK(ARMGICv3CommonClass, (klass), TYPE_ARM_GICV3_COMMON)
-#define ARM_GICV3_COMMON_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(ARMGICv3CommonClass, (obj), TYPE_ARM_GICV3_COMMON)
+DECLARE_OBJ_CHECKERS(GICv3State, ARMGICv3CommonClass,
+                     ARM_GICV3_COMMON, TYPE_ARM_GICV3_COMMON)
 
 struct ARMGICv3CommonClass {
     /*< private >*/
index 03a0fa335ba85b39e483d6f3288af4cf588399ed..5a0952b404996166ee5a66820a49f6fff3e14852 100644 (file)
@@ -66,12 +66,8 @@ void gicv3_its_init_mmio(GICv3ITSState *s, const MemoryRegionOps *ops);
 
 #define TYPE_ARM_GICV3_ITS_COMMON "arm-gicv3-its-common"
 typedef struct GICv3ITSCommonClass GICv3ITSCommonClass;
-#define ARM_GICV3_ITS_COMMON(obj) \
-     OBJECT_CHECK(GICv3ITSState, (obj), TYPE_ARM_GICV3_ITS_COMMON)
-#define ARM_GICV3_ITS_COMMON_CLASS(klass) \
-     OBJECT_CLASS_CHECK(GICv3ITSCommonClass, (klass), TYPE_ARM_GICV3_ITS_COMMON)
-#define ARM_GICV3_ITS_COMMON_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(GICv3ITSCommonClass, (obj), TYPE_ARM_GICV3_ITS_COMMON)
+DECLARE_OBJ_CHECKERS(GICv3ITSState, GICv3ITSCommonClass,
+                     ARM_GICV3_ITS_COMMON, TYPE_ARM_GICV3_ITS_COMMON)
 
 struct GICv3ITSCommonClass {
     /*< private >*/
index 63098822fa943072ea1f29066a2b7657bc602264..bb087b23c35def83561c457d40446dc41ab02627 100644 (file)
@@ -18,8 +18,8 @@
 #define TYPE_NVIC "armv7m_nvic"
 
 typedef struct NVICState NVICState;
-#define NVIC(obj) \
-    OBJECT_CHECK(NVICState, (obj), TYPE_NVIC)
+DECLARE_INSTANCE_CHECKER(NVICState, NVIC,
+                         TYPE_NVIC)
 
 /* Highest permitted number of exceptions (architectural limit) */
 #define NVIC_MAX_VECTORS 512
index f8844b33279172353e757d40c33444cc9ab2de64..8f2e67db5ab733969e80c109932f7d5ea5533fce 100644 (file)
@@ -18,7 +18,8 @@
 
 #define TYPE_ASPEED_VIC "aspeed.vic"
 typedef struct AspeedVICState AspeedVICState;
-#define ASPEED_VIC(obj) OBJECT_CHECK(AspeedVICState, (obj), TYPE_ASPEED_VIC)
+DECLARE_INSTANCE_CHECKER(AspeedVICState, ASPEED_VIC,
+                         TYPE_ASPEED_VIC)
 
 #define ASPEED_VIC_NR_IRQS 51
 
index 4a9f093025e642b7bc79dd2391ace72a12019b5f..fd4a767845d5ef77a99cfb75cac3d80dfad36d55 100644 (file)
@@ -13,7 +13,8 @@
 
 #define TYPE_BCM2835_IC "bcm2835-ic"
 typedef struct BCM2835ICState BCM2835ICState;
-#define BCM2835_IC(obj) OBJECT_CHECK(BCM2835ICState, (obj), TYPE_BCM2835_IC)
+DECLARE_INSTANCE_CHECKER(BCM2835ICState, BCM2835_IC,
+                         TYPE_BCM2835_IC)
 
 #define BCM2835_IC_GPU_IRQ "gpu-irq"
 #define BCM2835_IC_ARM_IRQ "arm-irq"
index 7d8a51fc721b5103a3318ab2bc1cd1cf14cc9b08..f23292776e9ea71ddd53af5b59cdf6bc710bd991 100644 (file)
@@ -25,8 +25,8 @@
 
 #define TYPE_BCM2836_CONTROL "bcm2836-control"
 typedef struct BCM2836ControlState BCM2836ControlState;
-#define BCM2836_CONTROL(obj) \
-    OBJECT_CHECK(BCM2836ControlState, (obj), TYPE_BCM2836_CONTROL)
+DECLARE_INSTANCE_CHECKER(BCM2836ControlState, BCM2836_CONTROL,
+                         TYPE_BCM2836_CONTROL)
 
 struct BCM2836ControlState {
     /*< private >*/
index bd9fc115a8f42ffd89f81399c6abc4109c20556e..f8c9bc20ab740ffc25e1d06d2540cf720bce6090 100644 (file)
@@ -31,7 +31,8 @@
 
 #define TYPE_HEATHROW "heathrow"
 typedef struct HeathrowState HeathrowState;
-#define HEATHROW(obj) OBJECT_CHECK(HeathrowState, (obj), TYPE_HEATHROW)
+DECLARE_INSTANCE_CHECKER(HeathrowState, HEATHROW,
+                         TYPE_HEATHROW)
 
 typedef struct HeathrowPICState {
     uint32_t events;
index 0125b362674e3c6b09c6cc07b0cb51b860085750..8da6b03805318b86e468868a1b95bb15daacd258 100644 (file)
@@ -24,8 +24,8 @@
 
 #define TYPE_IBEX_PLIC "ibex-plic"
 typedef struct IbexPlicState IbexPlicState;
-#define IBEX_PLIC(obj) \
-    OBJECT_CHECK(IbexPlicState, (obj), TYPE_IBEX_PLIC)
+DECLARE_INSTANCE_CHECKER(IbexPlicState, IBEX_PLIC,
+                         TYPE_IBEX_PLIC)
 
 struct IbexPlicState {
     /*< private >*/
index 124f29f7635df94456c440d6a6a36c1be0e2fce2..621742533ca93a7b8350e6a5378f9faa88b3396e 100644 (file)
@@ -22,7 +22,8 @@
 
 #define TYPE_IMX_AVIC "imx.avic"
 typedef struct IMXAVICState IMXAVICState;
-#define IMX_AVIC(obj) OBJECT_CHECK(IMXAVICState, (obj), TYPE_IMX_AVIC)
+DECLARE_INSTANCE_CHECKER(IMXAVICState, IMX_AVIC,
+                         TYPE_IMX_AVIC)
 
 #define IMX_AVIC_NUM_IRQS 64
 
index 66befda3fd912565503294bfa14e93b3e34a2811..2d8075e5277c3341637064534738243c36b0f178 100644 (file)
@@ -19,6 +19,7 @@ struct IMXGPCv2State {
 typedef struct IMXGPCv2State IMXGPCv2State;
 
 #define TYPE_IMX_GPCV2 "imx-gpcv2"
-#define IMX_GPCV2(obj) OBJECT_CHECK(IMXGPCv2State, (obj), TYPE_IMX_GPCV2)
+DECLARE_INSTANCE_CHECKER(IMXGPCv2State, IMX_GPCV2,
+                         TYPE_IMX_GPCV2)
 
 #endif /* IMX_GPCV2_H */
index b51c0ac0f47b26e785d1dca76990bf610712d5e3..7018f608ca5204a01975bb56e2d904c4f35dabdf 100644 (file)
@@ -6,12 +6,8 @@
 #define TYPE_INTERRUPT_STATS_PROVIDER "intctrl"
 
 typedef struct InterruptStatsProviderClass InterruptStatsProviderClass;
-#define INTERRUPT_STATS_PROVIDER_CLASS(klass) \
-    OBJECT_CLASS_CHECK(InterruptStatsProviderClass, (klass), \
+DECLARE_CLASS_CHECKERS(InterruptStatsProviderClass, INTERRUPT_STATS_PROVIDER,
                        TYPE_INTERRUPT_STATS_PROVIDER)
-#define INTERRUPT_STATS_PROVIDER_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(InterruptStatsProviderClass, (obj), \
-                     TYPE_INTERRUPT_STATS_PROVIDER)
 #define INTERRUPT_STATS_PROVIDER(obj) \
     INTERFACE_CHECK(InterruptStatsProvider, (obj), \
                     TYPE_INTERRUPT_STATS_PROVIDER)
index 5670421e6287990865b7e5c419a7834c3d90669c..65aa3a9a5eeedb80b14abf2bb1bf8afab65848f3 100644 (file)
 
 #define TYPE_MIPS_GIC "mips-gic"
 typedef struct MIPSGICState MIPSGICState;
-#define MIPS_GIC(obj) OBJECT_CHECK(MIPSGICState, (obj), TYPE_MIPS_GIC)
+DECLARE_INSTANCE_CHECKER(MIPSGICState, MIPS_GIC,
+                         TYPE_MIPS_GIC)
 
 /* Support up to 32 VPs and 256 IRQs */
 #define GIC_MAX_VPS             32
index e633992b9cd6408097e9e5451c823c8abe402437..a93ace87c8a6e9adaf6692b9f454bf0285f0eb7d 100644 (file)
@@ -16,8 +16,8 @@
 
 #define TYPE_REALVIEW_GIC "realview_gic"
 typedef struct RealViewGICState RealViewGICState;
-#define REALVIEW_GIC(obj) \
-    OBJECT_CHECK(RealViewGICState, (obj), TYPE_REALVIEW_GIC)
+DECLARE_INSTANCE_CHECKER(RealViewGICState, REALVIEW_GIC,
+                         TYPE_REALVIEW_GIC)
 
 struct RealViewGICState {
     SysBusDevice parent_obj;
index 5660cb4e7f403b96b9729fbb5ead6ac4be748409..ec02df35e3bc3e9924fd88d5e69fb45f669ab539 100644 (file)
@@ -72,6 +72,7 @@ struct RXICUState {
 typedef struct RXICUState RXICUState;
 
 #define TYPE_RX_ICU "rx-icu"
-#define RX_ICU(obj) OBJECT_CHECK(RXICUState, (obj), TYPE_RX_ICU)
+DECLARE_INSTANCE_CHECKER(RXICUState, RX_ICU,
+                         TYPE_RX_ICU)
 
 #endif /* RX_ICU_H */
index fce35ac94106b73d914b37298423ea4407376c62..7a560e97af2f5106332e58e02e0f36a58991a072 100644 (file)
@@ -32,8 +32,8 @@
 #define TYPE_XLNX_PMU_IO_INTC "xlnx.pmu_io_intc"
 
 typedef struct XlnxPMUIOIntc XlnxPMUIOIntc;
-#define XLNX_PMU_IO_INTC(obj) \
-     OBJECT_CHECK(XlnxPMUIOIntc, (obj), TYPE_XLNX_PMU_IO_INTC)
+DECLARE_INSTANCE_CHECKER(XlnxPMUIOIntc, XLNX_PMU_IO_INTC,
+                         TYPE_XLNX_PMU_IO_INTC)
 
 /* This is R_PIT3_CONTROL + 1 */
 #define XLNXPMUIOINTC_R_MAX (0x78 + 1)
index 9044ca5afeb2115e0f7d3aff33831e1862518ee2..29c48db30761f671d87574fcb903b8944ab54950 100644 (file)
@@ -32,8 +32,8 @@
 #define TYPE_XLNX_ZYNQMP_IPI "xlnx.zynqmp_ipi"
 
 typedef struct XlnxZynqMPIPI XlnxZynqMPIPI;
-#define XLNX_ZYNQMP_IPI(obj) \
-     OBJECT_CHECK(XlnxZynqMPIPI, (obj), TYPE_XLNX_ZYNQMP_IPI)
+DECLARE_INSTANCE_CHECKER(XlnxZynqMPIPI, XLNX_ZYNQMP_IPI,
+                         TYPE_XLNX_ZYNQMP_IPI)
 
 /* This is R_IPI_IDR + 1 */
 #define R_XLNX_ZYNQMP_IPI_MAX ((0x1c / 4) + 1)
index ac6105ff8b87a0ae361f350f5740c8bebdf297f5..a2304c1b3e6d71d080a02466be32e2e358a6c031 100644 (file)
@@ -17,7 +17,8 @@
 typedef struct IPackBus IPackBus;
 
 #define TYPE_IPACK_BUS "IndustryPack"
-#define IPACK_BUS(obj) OBJECT_CHECK(IPackBus, (obj), TYPE_IPACK_BUS)
+DECLARE_INSTANCE_CHECKER(IPackBus, IPACK_BUS,
+                         TYPE_IPACK_BUS)
 
 struct IPackBus {
     /*< private >*/
@@ -33,12 +34,8 @@ typedef struct IPackDevice IPackDevice;
 typedef struct IPackDeviceClass IPackDeviceClass;
 
 #define TYPE_IPACK_DEVICE "ipack-device"
-#define IPACK_DEVICE(obj) \
-     OBJECT_CHECK(IPackDevice, (obj), TYPE_IPACK_DEVICE)
-#define IPACK_DEVICE_CLASS(klass)                                        \
-     OBJECT_CLASS_CHECK(IPackDeviceClass, (klass), TYPE_IPACK_DEVICE)
-#define IPACK_DEVICE_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(IPackDeviceClass, (obj), TYPE_IPACK_DEVICE)
+DECLARE_OBJ_CHECKERS(IPackDevice, IPackDeviceClass,
+                     IPACK_DEVICE, TYPE_IPACK_DEVICE)
 
 struct IPackDeviceClass {
     /*< private >*/
index 355a8714bb6382d87eead99b1a89eb123aebc291..01c9d497c4a81ff2144ffc9564e63f8bfcc456d4 100644 (file)
@@ -112,10 +112,8 @@ uint32_t ipmi_next_uuid(void);
 #define IPMI_INTERFACE(obj) \
      INTERFACE_CHECK(IPMIInterface, (obj), TYPE_IPMI_INTERFACE)
 typedef struct IPMIInterfaceClass IPMIInterfaceClass;
-#define IPMI_INTERFACE_CLASS(class) \
-     OBJECT_CLASS_CHECK(IPMIInterfaceClass, (class), TYPE_IPMI_INTERFACE)
-#define IPMI_INTERFACE_GET_CLASS(class) \
-     OBJECT_GET_CLASS(IPMIInterfaceClass, (class), TYPE_IPMI_INTERFACE)
+DECLARE_CLASS_CHECKERS(IPMIInterfaceClass, IPMI_INTERFACE,
+                       TYPE_IPMI_INTERFACE)
 
 typedef struct IPMIInterface IPMIInterface;
 
@@ -180,12 +178,8 @@ struct IPMIInterfaceClass {
 #define TYPE_IPMI_BMC "ipmi-bmc"
 typedef struct IPMIBmc IPMIBmc;
 typedef struct IPMIBmcClass IPMIBmcClass;
-#define IPMI_BMC(obj) \
-     OBJECT_CHECK(IPMIBmc, (obj), TYPE_IPMI_BMC)
-#define IPMI_BMC_CLASS(obj_class) \
-     OBJECT_CLASS_CHECK(IPMIBmcClass, (obj_class), TYPE_IPMI_BMC)
-#define IPMI_BMC_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(IPMIBmcClass, (obj), TYPE_IPMI_BMC)
+DECLARE_OBJ_CHECKERS(IPMIBmc, IPMIBmcClass,
+                     IPMI_BMC, TYPE_IPMI_BMC)
 
 struct IPMIBmc {
     DeviceState parent;
@@ -273,8 +267,8 @@ void ipmi_bmc_gen_event(IPMIBmc *b, uint8_t *evt, bool log);
 
 #define TYPE_IPMI_BMC_SIMULATOR "ipmi-bmc-sim"
 typedef struct IPMIBmcSim IPMIBmcSim;
-#define IPMI_BMC_SIMULATOR(obj) OBJECT_CHECK(IPMIBmcSim, (obj), \
-                                        TYPE_IPMI_BMC_SIMULATOR)
+DECLARE_INSTANCE_CHECKER(IPMIBmcSim, IPMI_BMC_SIMULATOR,
+                         TYPE_IPMI_BMC_SIMULATOR)
 
 
 typedef struct RspBuffer {
index 69170df6f83d789193d26c50f63fdbf48129a37b..cd050bb9f253d3aadcd9ead6392c92ef57b87d7f 100644 (file)
@@ -34,12 +34,8 @@ typedef struct PICCommonState PICCommonState;
 
 #define TYPE_PIC_COMMON "pic-common"
 typedef struct PICCommonClass PICCommonClass;
-#define PIC_COMMON(obj) \
-     OBJECT_CHECK(PICCommonState, (obj), TYPE_PIC_COMMON)
-#define PIC_COMMON_CLASS(klass) \
-     OBJECT_CLASS_CHECK(PICCommonClass, (klass), TYPE_PIC_COMMON)
-#define PIC_COMMON_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(PICCommonClass, (obj), TYPE_PIC_COMMON)
+DECLARE_OBJ_CHECKERS(PICCommonState, PICCommonClass,
+                     PIC_COMMON, TYPE_PIC_COMMON)
 
 struct PICCommonClass {
     ISADeviceClass parent_class;
index c7f27d5aa9f8557caa5b4b83856a9cddab067fe7..ddb6a2d1681c0905f4d2001a6b0d2e8abbe191ca 100644 (file)
 
 #define TYPE_ISA_DEVICE "isa-device"
 typedef struct ISADeviceClass ISADeviceClass;
-#define ISA_DEVICE(obj) \
-     OBJECT_CHECK(ISADevice, (obj), TYPE_ISA_DEVICE)
-#define ISA_DEVICE_CLASS(klass) \
-     OBJECT_CLASS_CHECK(ISADeviceClass, (klass), TYPE_ISA_DEVICE)
-#define ISA_DEVICE_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(ISADeviceClass, (obj), TYPE_ISA_DEVICE)
+DECLARE_OBJ_CHECKERS(ISADevice, ISADeviceClass,
+                     ISA_DEVICE, TYPE_ISA_DEVICE)
 
 #define TYPE_ISA_BUS "ISA"
-#define ISA_BUS(obj) OBJECT_CHECK(ISABus, (obj), TYPE_ISA_BUS)
+DECLARE_INSTANCE_CHECKER(ISABus, ISA_BUS,
+                         TYPE_ISA_BUS)
 
 #define TYPE_APPLE_SMC "isa-applesmc"
 #define APPLESMC_MAX_DATA_LENGTH       32
@@ -39,10 +36,8 @@ static inline uint16_t applesmc_port(void)
 #define TYPE_ISADMA "isa-dma"
 
 typedef struct IsaDmaClass IsaDmaClass;
-#define ISADMA_CLASS(klass) \
-    OBJECT_CLASS_CHECK(IsaDmaClass, (klass), TYPE_ISADMA)
-#define ISADMA_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(IsaDmaClass, (obj), TYPE_ISADMA)
+DECLARE_CLASS_CHECKERS(IsaDmaClass, ISADMA,
+                       TYPE_ISADMA)
 #define ISADMA(obj) \
     INTERFACE_CHECK(IsaDma, (obj), TYPE_ISADMA)
 
index c8e98ea0291caefaf9c042d334dd5c38afa1bca9..a65168a15772baa4c7ec0bf896e4fe5796c8b076 100644 (file)
@@ -31,7 +31,8 @@
 
 #define TYPE_PC87312_SUPERIO "pc87312"
 typedef struct PC87312State PC87312State;
-#define PC87312(obj) OBJECT_CHECK(PC87312State, (obj), TYPE_PC87312_SUPERIO)
+DECLARE_INSTANCE_CHECKER(PC87312State, PC87312,
+                         TYPE_PC87312_SUPERIO)
 
 struct PC87312State {
     /*< private >*/
index c782c8b64e94720b176935438bc74ef354c006c0..b9f5c19155f25c8be4bc14cc33c445024f7a9fe4 100644 (file)
 #define TYPE_ISA_SUPERIO "isa-superio"
 typedef struct ISASuperIOClass ISASuperIOClass;
 typedef struct ISASuperIODevice ISASuperIODevice;
-#define ISA_SUPERIO(obj) \
-    OBJECT_CHECK(ISASuperIODevice, (obj), TYPE_ISA_SUPERIO)
-#define ISA_SUPERIO_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(ISASuperIOClass, (obj), TYPE_ISA_SUPERIO)
-#define ISA_SUPERIO_CLASS(klass) \
-    OBJECT_CLASS_CHECK(ISASuperIOClass, (klass), TYPE_ISA_SUPERIO)
+DECLARE_OBJ_CHECKERS(ISASuperIODevice, ISASuperIOClass,
+                     ISA_SUPERIO, TYPE_ISA_SUPERIO)
 
 #define SUPERIO_MAX_SERIAL_PORTS 4
 
index c8ece3cb4b8d94befa808dd7ee640e8cd9e8d120..840c5bbf53bda834e64411a2a7a1a7cd4c0af71a 100644 (file)
@@ -13,7 +13,8 @@
 
 #define TYPE_MCF_FEC_NET "mcf-fec"
 typedef struct mcf_fec_state mcf_fec_state;
-#define MCF_FEC_NET(obj) OBJECT_CHECK(mcf_fec_state, (obj), TYPE_MCF_FEC_NET)
+DECLARE_INSTANCE_CHECKER(mcf_fec_state, MCF_FEC_NET,
+                         TYPE_MCF_FEC_NET)
 
 #define FEC_NUM_IRQ 13
 
index d19bca59429ea34b57612c948b121c072fe90606..cde52e83c9abede407f1e1c2b489a7c9f424000c 100644 (file)
 #define TYPE_MEMORY_DEVICE "memory-device"
 
 typedef struct MemoryDeviceClass MemoryDeviceClass;
-#define MEMORY_DEVICE_CLASS(klass) \
-     OBJECT_CLASS_CHECK(MemoryDeviceClass, (klass), TYPE_MEMORY_DEVICE)
-#define MEMORY_DEVICE_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(MemoryDeviceClass, (obj), TYPE_MEMORY_DEVICE)
+DECLARE_CLASS_CHECKERS(MemoryDeviceClass, MEMORY_DEVICE,
+                       TYPE_MEMORY_DEVICE)
 #define MEMORY_DEVICE(obj) \
      INTERFACE_CHECK(MemoryDeviceState, (obj), TYPE_MEMORY_DEVICE)
 
index 4b4a4b5b1703d8fc54c633d85544fc217e8676e5..19e3d3092d0a74f73ab336536bfd9be03fb0db10 100644 (file)
 #define TYPE_NVDIMM      "nvdimm"
 typedef struct NVDIMMClass NVDIMMClass;
 typedef struct NVDIMMDevice NVDIMMDevice;
-#define NVDIMM(obj)      OBJECT_CHECK(NVDIMMDevice, (obj), TYPE_NVDIMM)
-#define NVDIMM_CLASS(oc) OBJECT_CLASS_CHECK(NVDIMMClass, (oc), TYPE_NVDIMM)
-#define NVDIMM_GET_CLASS(obj) OBJECT_GET_CLASS(NVDIMMClass, (obj), \
-                                               TYPE_NVDIMM)
+DECLARE_OBJ_CHECKERS(NVDIMMDevice, NVDIMMClass,
+                     NVDIMM, TYPE_NVDIMM)
 
 #define NVDIMM_LABEL_SIZE_PROP "label-size"
 #define NVDIMM_UUID_PROP       "uuid"
index 41d4ff39ba94926d165d5085a5bdeebed1e00554..86e301024330736c0ea6b745aeebed2e1cbe3b8f 100644 (file)
 #define TYPE_PC_DIMM "pc-dimm"
 typedef struct PCDIMMDevice PCDIMMDevice;
 typedef struct PCDIMMDeviceClass PCDIMMDeviceClass;
-#define PC_DIMM(obj) \
-    OBJECT_CHECK(PCDIMMDevice, (obj), TYPE_PC_DIMM)
-#define PC_DIMM_CLASS(oc) \
-    OBJECT_CLASS_CHECK(PCDIMMDeviceClass, (oc), TYPE_PC_DIMM)
-#define PC_DIMM_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(PCDIMMDeviceClass, (obj), TYPE_PC_DIMM)
+DECLARE_OBJ_CHECKERS(PCDIMMDevice, PCDIMMDeviceClass,
+                     PC_DIMM, TYPE_PC_DIMM)
 
 #define PC_DIMM_ADDR_PROP "addr"
 #define PC_DIMM_SLOT_PROP "slot"
index ab79a66b1d68dd05954da545f186f3bad7702a03..849e6405703b3663112e4f93e9dda9ecf72fd922 100644 (file)
@@ -30,7 +30,8 @@
 
 #define TYPE_MIPS_CPS "mips-cps"
 typedef struct MIPSCPSState MIPSCPSState;
-#define MIPS_CPS(obj) OBJECT_CHECK(MIPSCPSState, (obj), TYPE_MIPS_CPS)
+DECLARE_INSTANCE_CHECKER(MIPSCPSState, MIPS_CPS,
+                         TYPE_MIPS_CPS)
 
 struct MIPSCPSState {
     SysBusDevice parent_obj;
index c5481f4dbb6e3f4dcd28c4ba5b4a693b4a4a115e..fd1b92e92387236b06080014cd877adcb5ee2d06 100644 (file)
@@ -28,6 +28,7 @@ struct A9SCUState {
 typedef struct A9SCUState A9SCUState;
 
 #define TYPE_A9_SCU "a9-scu"
-#define A9_SCU(obj) OBJECT_CHECK(A9SCUState, (obj), TYPE_A9_SCU)
+DECLARE_INSTANCE_CHECKER(A9SCUState, A9_SCU,
+                         TYPE_A9_SCU)
 
 #endif
index f5420b11d534ed56b455ce9a5dbed8c8b6cde832..058514de15769baf23c81363b32410d0c406111f 100644 (file)
@@ -30,8 +30,8 @@
 
 #define TYPE_AW_CPUCFG   "allwinner-cpucfg"
 typedef struct AwCpuCfgState AwCpuCfgState;
-#define AW_CPUCFG(obj) \
-    OBJECT_CHECK(AwCpuCfgState, (obj), TYPE_AW_CPUCFG)
+DECLARE_INSTANCE_CHECKER(AwCpuCfgState, AW_CPUCFG,
+                         TYPE_AW_CPUCFG)
 
 /** @} */
 
index 60f0c56cd924939a65cf8954b5fe23bacc238b13..05f5c7bd8e05788af3909d2bdaaa8aa6a362eb23 100644 (file)
@@ -43,8 +43,8 @@
 
 #define TYPE_AW_H3_CCU    "allwinner-h3-ccu"
 typedef struct AwH3ClockCtlState AwH3ClockCtlState;
-#define AW_H3_CCU(obj) \
-    OBJECT_CHECK(AwH3ClockCtlState, (obj), TYPE_AW_H3_CCU)
+DECLARE_INSTANCE_CHECKER(AwH3ClockCtlState, AW_H3_CCU,
+                         TYPE_AW_H3_CCU)
 
 /** @} */
 
index 0538e598b0733459a0ca16a1a67c73aa480c9d39..60a13a6958801d28ba96d0807c0b58a58dbcaccc 100644 (file)
@@ -59,8 +59,8 @@
 
 #define TYPE_AW_H3_DRAMC "allwinner-h3-dramc"
 typedef struct AwH3DramCtlState AwH3DramCtlState;
-#define AW_H3_DRAMC(obj) \
-    OBJECT_CHECK(AwH3DramCtlState, (obj), TYPE_AW_H3_DRAMC)
+DECLARE_INSTANCE_CHECKER(AwH3DramCtlState, AW_H3_DRAMC,
+                         TYPE_AW_H3_DRAMC)
 
 /** @} */
 
index 7360698f8f27ffc5a42e7014d27eb7f7d6f6e3c6..50baa8eb0738f4cad2fe77433c7ae205cbf88599 100644 (file)
@@ -44,8 +44,8 @@
 
 #define TYPE_AW_H3_SYSCTRL    "allwinner-h3-sysctrl"
 typedef struct AwH3SysCtrlState AwH3SysCtrlState;
-#define AW_H3_SYSCTRL(obj) \
-    OBJECT_CHECK(AwH3SysCtrlState, (obj), TYPE_AW_H3_SYSCTRL)
+DECLARE_INSTANCE_CHECKER(AwH3SysCtrlState, AW_H3_SYSCTRL,
+                         TYPE_AW_H3_SYSCTRL)
 
 /** @} */
 
index 70cd7cc7c070e7a6543c3a3c32d0ab19b7a9caa9..b8e83bb7ce1fdd811c9924869fd1dd15b279f9ec 100644 (file)
@@ -31,8 +31,8 @@
 
 #define TYPE_AW_SID    "allwinner-sid"
 typedef struct AwSidState AwSidState;
-#define AW_SID(obj) \
-    OBJECT_CHECK(AwSidState, (obj), TYPE_AW_SID)
+DECLARE_INSTANCE_CHECKER(AwSidState, AW_SID,
+                         TYPE_AW_SID)
 
 /** @} */
 
index 7e2e6d2b4428bdd591d9f40c8556fae374366ced..71b4bc9a22d1706000ec067ee7b98d1f9cc47a3e 100644 (file)
@@ -16,7 +16,8 @@
 
 #define TYPE_ARM11_SCU "arm11-scu"
 typedef struct ARM11SCUState ARM11SCUState;
-#define ARM11_SCU(obj) OBJECT_CHECK(ARM11SCUState, (obj), TYPE_ARM11_SCU)
+DECLARE_INSTANCE_CHECKER(ARM11SCUState, ARM11_SCU,
+                         TYPE_ARM11_SCU)
 
 struct ARM11SCUState {
     /*< private >*/
index 290a52cf1046d671c4677251e518f3a67b64468b..80691c7180d6702ae477a2f1452b1aa0c330939c 100644 (file)
@@ -27,7 +27,8 @@
 
 #define TYPE_ARMSSE_CPUID "armsse-cpuid"
 typedef struct ARMSSECPUID ARMSSECPUID;
-#define ARMSSE_CPUID(obj) OBJECT_CHECK(ARMSSECPUID, (obj), TYPE_ARMSSE_CPUID)
+DECLARE_INSTANCE_CHECKER(ARMSSECPUID, ARMSSE_CPUID,
+                         TYPE_ARMSSE_CPUID)
 
 struct ARMSSECPUID {
     /*< private >*/
index d1ae4a463a6d349e89734793e2d2303f6e1bfa01..310643a022029f16afbc3ee885d0006d916ec59a 100644 (file)
@@ -28,7 +28,8 @@
 
 #define TYPE_ARMSSE_MHU "armsse-mhu"
 typedef struct ARMSSEMHU ARMSSEMHU;
-#define ARMSSE_MHU(obj) OBJECT_CHECK(ARMSSEMHU, (obj), TYPE_ARMSSE_MHU)
+DECLARE_INSTANCE_CHECKER(ARMSSEMHU, ARMSSE_MHU,
+                         TYPE_ARMSSE_MHU)
 
 struct ARMSSEMHU {
     /*< private >*/
index feebb1baf6b6dc8bd287b620a9d05420e515ea56..8d3b14acd479553a29f718a82fe94114c30f649e 100644 (file)
@@ -17,7 +17,8 @@
 #define TYPE_ASPEED_SCU "aspeed.scu"
 typedef struct AspeedSCUClass AspeedSCUClass;
 typedef struct AspeedSCUState AspeedSCUState;
-#define ASPEED_SCU(obj) OBJECT_CHECK(AspeedSCUState, (obj), TYPE_ASPEED_SCU)
+DECLARE_OBJ_CHECKERS(AspeedSCUState, AspeedSCUClass,
+                     ASPEED_SCU, TYPE_ASPEED_SCU)
 #define TYPE_ASPEED_2400_SCU TYPE_ASPEED_SCU "-ast2400"
 #define TYPE_ASPEED_2500_SCU TYPE_ASPEED_SCU "-ast2500"
 #define TYPE_ASPEED_2600_SCU TYPE_ASPEED_SCU "-ast2600"
@@ -50,10 +51,6 @@ struct AspeedSCUState {
 
 extern bool is_supported_silicon_rev(uint32_t silicon_rev);
 
-#define ASPEED_SCU_CLASS(klass) \
-     OBJECT_CLASS_CHECK(AspeedSCUClass, (klass), TYPE_ASPEED_SCU)
-#define ASPEED_SCU_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(AspeedSCUClass, (obj), TYPE_ASPEED_SCU)
 
 struct AspeedSCUClass {
     SysBusDeviceClass parent_class;
index 3d98817715190890dcbdc483270b2791585fed1d..3375afc89b7da75189ce074c1639beabe21a2d5b 100644 (file)
@@ -15,7 +15,8 @@
 #define TYPE_ASPEED_SDMC "aspeed.sdmc"
 typedef struct AspeedSDMCClass AspeedSDMCClass;
 typedef struct AspeedSDMCState AspeedSDMCState;
-#define ASPEED_SDMC(obj) OBJECT_CHECK(AspeedSDMCState, (obj), TYPE_ASPEED_SDMC)
+DECLARE_OBJ_CHECKERS(AspeedSDMCState, AspeedSDMCClass,
+                     ASPEED_SDMC, TYPE_ASPEED_SDMC)
 #define TYPE_ASPEED_2400_SDMC TYPE_ASPEED_SDMC "-ast2400"
 #define TYPE_ASPEED_2500_SDMC TYPE_ASPEED_SDMC "-ast2500"
 #define TYPE_ASPEED_2600_SDMC TYPE_ASPEED_SDMC "-ast2600"
@@ -45,10 +46,6 @@ struct AspeedSDMCState {
     uint64_t max_ram_size;
 };
 
-#define ASPEED_SDMC_CLASS(klass) \
-     OBJECT_CLASS_CHECK(AspeedSDMCClass, (klass), TYPE_ASPEED_SDMC)
-#define ASPEED_SDMC_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(AspeedSDMCClass, (obj), TYPE_ASPEED_SDMC)
 
 struct AspeedSDMCClass {
     SysBusDeviceClass parent_class;
index e5177e2c02a74ad7093d3bec3ae774a1a70801e7..0e62c04520ebee0765b86f177b874aa033f2c6bf 100644 (file)
@@ -14,7 +14,8 @@
 
 #define TYPE_ASPEED_XDMA "aspeed.xdma"
 typedef struct AspeedXDMAState AspeedXDMAState;
-#define ASPEED_XDMA(obj) OBJECT_CHECK(AspeedXDMAState, (obj), TYPE_ASPEED_XDMA)
+DECLARE_INSTANCE_CHECKER(AspeedXDMAState, ASPEED_XDMA,
+                         TYPE_ASPEED_XDMA)
 
 #define ASPEED_XDMA_NUM_REGS (ASPEED_XDMA_REG_SIZE / sizeof(uint32_t))
 #define ASPEED_XDMA_REG_SIZE 0x7C
index f24f2fd7891ff6f05808d044aa8394bf15226a41..f910d941180e207192475d13ac3e5cf81a06b430 100644 (file)
@@ -36,7 +36,8 @@ typedef enum AUXReply AUXReply;
 
 #define TYPE_AUXTOI2C "aux-to-i2c-bridge"
 typedef struct AUXTOI2CState AUXTOI2CState;
-#define AUXTOI2C(obj) OBJECT_CHECK(AUXTOI2CState, (obj), TYPE_AUXTOI2C)
+DECLARE_INSTANCE_CHECKER(AUXTOI2CState, AUXTOI2C,
+                         TYPE_AUXTOI2C)
 
 enum AUXCommand {
     WRITE_I2C = 0,
@@ -57,7 +58,8 @@ enum AUXReply {
 };
 
 #define TYPE_AUX_BUS "aux-bus"
-#define AUX_BUS(obj) OBJECT_CHECK(AUXBus, (obj), TYPE_AUX_BUS)
+DECLARE_INSTANCE_CHECKER(AUXBus, AUX_BUS,
+                         TYPE_AUX_BUS)
 
 struct AUXBus {
     /* < private > */
@@ -76,8 +78,8 @@ struct AUXBus {
 };
 
 #define TYPE_AUX_SLAVE "aux-slave"
-#define AUX_SLAVE(obj) \
-     OBJECT_CHECK(AUXSlave, (obj), TYPE_AUX_SLAVE)
+DECLARE_INSTANCE_CHECKER(AUXSlave, AUX_SLAVE,
+                         TYPE_AUX_SLAVE)
 
 struct AUXSlave {
     /* < private > */
index c230a2655c5faf6170319bc79b48422da7c2faa1..938ab3e21b5904970300e602f399a44b86947de4 100644 (file)
@@ -32,7 +32,8 @@
 
 #define TYPE_AVR_MASK "avr-power"
 typedef struct AVRMaskState AVRMaskState;
-#define AVR_MASK(obj) OBJECT_CHECK(AVRMaskState, (obj), TYPE_AVR_MASK)
+DECLARE_INSTANCE_CHECKER(AVRMaskState, AVR_MASK,
+                         TYPE_AVR_MASK)
 
 struct AVRMaskState {
     /* <private> */
index 3ec6a2f0e81ee71cd5a76bdb7cbabd10b2d7a4b2..d8c8017f4e6e45c7fcbcb43411ae4acc289e6e95 100644 (file)
@@ -14,8 +14,8 @@
 
 #define TYPE_BCM2835_MBOX "bcm2835-mbox"
 typedef struct BCM2835MboxState BCM2835MboxState;
-#define BCM2835_MBOX(obj) \
-        OBJECT_CHECK(BCM2835MboxState, (obj), TYPE_BCM2835_MBOX)
+DECLARE_INSTANCE_CHECKER(BCM2835MboxState, BCM2835_MBOX,
+                         TYPE_BCM2835_MBOX)
 
 typedef struct {
     uint32_t reg[MBOX_SIZE];
index ce1c273cfb6ee8551fd50a2d7cbc45fc149d5767..249511182ec0f1f4a91473a308240cb987c98c45 100644 (file)
@@ -39,7 +39,7 @@ struct BCM2835MphiState {
 
 #define TYPE_BCM2835_MPHI   "bcm2835-mphi"
 
-#define BCM2835_MPHI(obj) \
-    OBJECT_CHECK(BCM2835MphiState, (obj), TYPE_BCM2835_MPHI)
+DECLARE_INSTANCE_CHECKER(BCM2835MphiState, BCM2835_MPHI,
+                         TYPE_BCM2835_MPHI)
 
 #endif
index 28bf2b49b6a496e2e2ffec9f37e7073e806edc61..5c827a1900b966572af51b35aeb90f444d5d1be4 100644 (file)
@@ -15,8 +15,8 @@
 
 #define TYPE_BCM2835_PROPERTY "bcm2835-property"
 typedef struct BCM2835PropertyState BCM2835PropertyState;
-#define BCM2835_PROPERTY(obj) \
-        OBJECT_CHECK(BCM2835PropertyState, (obj), TYPE_BCM2835_PROPERTY)
+DECLARE_INSTANCE_CHECKER(BCM2835PropertyState, BCM2835_PROPERTY,
+                         TYPE_BCM2835_PROPERTY)
 
 struct BCM2835PropertyState {
     /*< private >*/
index 0921d9b3f1e61ebe817bcb0ccf375c34331bc9fd..fec76eef8eca7e93d249dbafd20666853b2bbd7a 100644 (file)
@@ -15,8 +15,8 @@
 
 #define TYPE_BCM2835_RNG "bcm2835-rng"
 typedef struct BCM2835RngState BCM2835RngState;
-#define BCM2835_RNG(obj) \
-        OBJECT_CHECK(BCM2835RngState, (obj), TYPE_BCM2835_RNG)
+DECLARE_INSTANCE_CHECKER(BCM2835RngState, BCM2835_RNG,
+                         TYPE_BCM2835_RNG)
 
 struct BCM2835RngState {
     SysBusDevice busdev;
index 2b937527eb961b223fc1ec7bc6a9950e066a38bc..5b827c970ec0579c6df4cdd43f4d4fea9d0a2829 100644 (file)
@@ -15,8 +15,8 @@
 #define TYPE_BCM2835_THERMAL "bcm2835-thermal"
 
 typedef struct Bcm2835ThermalState Bcm2835ThermalState;
-#define BCM2835_THERMAL(obj) \
-    OBJECT_CHECK(Bcm2835ThermalState, (obj), TYPE_BCM2835_THERMAL)
+DECLARE_INSTANCE_CHECKER(Bcm2835ThermalState, BCM2835_THERMAL,
+                         TYPE_BCM2835_THERMAL)
 
 struct Bcm2835ThermalState {
     /*< private >*/
index 427606fd6b459836daa3a009ede84eea81a6d138..34b18e31939dea3edf269390963cfdcfbf34a918 100644 (file)
 
 #define TYPE_GRLIB_AHB_PNP "grlib,ahbpnp"
 typedef struct AHBPnp AHBPnp;
-#define GRLIB_AHB_PNP(obj) \
-    OBJECT_CHECK(AHBPnp, (obj), TYPE_GRLIB_AHB_PNP)
+DECLARE_INSTANCE_CHECKER(AHBPnp, GRLIB_AHB_PNP,
+                         TYPE_GRLIB_AHB_PNP)
 
 #define TYPE_GRLIB_APB_PNP "grlib,apbpnp"
 typedef struct APBPnp APBPnp;
-#define GRLIB_APB_PNP(obj) \
-    OBJECT_CHECK(APBPnp, (obj), TYPE_GRLIB_APB_PNP)
+DECLARE_INSTANCE_CHECKER(APBPnp, GRLIB_APB_PNP,
+                         TYPE_GRLIB_APB_PNP)
 
 void grlib_ahb_pnp_add_entry(AHBPnp *dev, uint32_t address, uint32_t mask,
                              uint8_t vendor, uint16_t device, int slave,
index 8a7a9b675f4002bdd9945dcca0ac2f766895f3ec..55c5db88151f1b925f00bbef8bdb2c27e66c4143 100644 (file)
@@ -65,7 +65,8 @@
 
 #define TYPE_IMX25_CCM "imx25.ccm"
 typedef struct IMX25CCMState IMX25CCMState;
-#define IMX25_CCM(obj) OBJECT_CHECK(IMX25CCMState, (obj), TYPE_IMX25_CCM)
+DECLARE_INSTANCE_CHECKER(IMX25CCMState, IMX25_CCM,
+                         TYPE_IMX25_CCM)
 
 struct IMX25CCMState {
     /* <private> */
index a56ee992afef058114823d5d20157d54bf4075c7..25e280e976af83fc1f58763012020dbc767fb8fe 100644 (file)
@@ -74,7 +74,8 @@
 
 #define TYPE_IMX31_CCM "imx31.ccm"
 typedef struct IMX31CCMState IMX31CCMState;
-#define IMX31_CCM(obj) OBJECT_CHECK(IMX31CCMState, (obj), TYPE_IMX31_CCM)
+DECLARE_INSTANCE_CHECKER(IMX31CCMState, IMX31_CCM,
+                         TYPE_IMX31_CCM)
 
 struct IMX31CCMState {
     /* <private> */
index affa13087eaee91ab51a03dc028b31671a321eb3..85f32417d639ff1063fc8e1962554e8dac9d90fc 100644 (file)
 
 #define TYPE_IMX6_CCM "imx6.ccm"
 typedef struct IMX6CCMState IMX6CCMState;
-#define IMX6_CCM(obj) OBJECT_CHECK(IMX6CCMState, (obj), TYPE_IMX6_CCM)
+DECLARE_INSTANCE_CHECKER(IMX6CCMState, IMX6_CCM,
+                         TYPE_IMX6_CCM)
 
 struct IMX6CCMState {
     /* <private> */
index f1d70ec177e5fe107de6d0f010be4d237392e541..15b51757ba909df5c41aa0090fd44319d2a976f8 100644 (file)
@@ -59,7 +59,8 @@
 
 #define TYPE_IMX6_SRC "imx6.src"
 typedef struct IMX6SRCState IMX6SRCState;
-#define IMX6_SRC(obj) OBJECT_CHECK(IMX6SRCState, (obj), TYPE_IMX6_SRC)
+DECLARE_INSTANCE_CHECKER(IMX6SRCState, IMX6_SRC,
+                         TYPE_IMX6_SRC)
 
 struct IMX6SRCState {
     /* <private> */
index 2304c6e7382b0688eefcb23dcb4645c06179ab18..d614de0edd998df0d2ae8cbfacac6211ad091a7c 100644 (file)
 
 #define TYPE_IMX6UL_CCM "imx6ul.ccm"
 typedef struct IMX6ULCCMState IMX6ULCCMState;
-#define IMX6UL_CCM(obj) OBJECT_CHECK(IMX6ULCCMState, (obj), TYPE_IMX6UL_CCM)
+DECLARE_INSTANCE_CHECKER(IMX6ULCCMState, IMX6UL_CCM,
+                         TYPE_IMX6UL_CCM)
 
 struct IMX6ULCCMState {
     /* <private> */
index 9e9e58a5c25108e57b1c962f5e45c63864cda72d..e2757622d08669be08939eddbf49859198da6894 100644 (file)
@@ -106,7 +106,8 @@ enum IMX7PMURegisters {
 
 #define TYPE_IMX7_CCM "imx7.ccm"
 typedef struct IMX7CCMState IMX7CCMState;
-#define IMX7_CCM(obj) OBJECT_CHECK(IMX7CCMState, (obj), TYPE_IMX7_CCM)
+DECLARE_INSTANCE_CHECKER(IMX7CCMState, IMX7_CCM,
+                         TYPE_IMX7_CCM)
 
 struct IMX7CCMState {
     /* <private> */
@@ -121,7 +122,8 @@ struct IMX7CCMState {
 
 #define TYPE_IMX7_ANALOG "imx7.analog"
 typedef struct IMX7AnalogState IMX7AnalogState;
-#define IMX7_ANALOG(obj) OBJECT_CHECK(IMX7AnalogState, (obj), TYPE_IMX7_ANALOG)
+DECLARE_INSTANCE_CHECKER(IMX7AnalogState, IMX7_ANALOG,
+                         TYPE_IMX7_ANALOG)
 
 struct IMX7AnalogState {
     /* <private> */
index 83384ec0cced127487c87ada5d31dbbd76e63012..f80b3ed28cac7acd53d7072fe8f22aa285d43435 100644 (file)
@@ -18,7 +18,8 @@
 
 #define TYPE_IMX7_GPR "imx7.gpr"
 typedef struct IMX7GPRState IMX7GPRState;
-#define IMX7_GPR(obj) OBJECT_CHECK(IMX7GPRState, (obj), TYPE_IMX7_GPR)
+DECLARE_INSTANCE_CHECKER(IMX7GPRState, IMX7_GPR,
+                         TYPE_IMX7_GPR)
 
 struct IMX7GPRState {
     /* <private> */
index f8659acb7d1b7e941ab1f14555823dc8fbdfe305..ea5395c1075fdb53c366fe12dd4246f411e28a73 100644 (file)
@@ -25,7 +25,8 @@ enum IMX7SNVSRegisters {
 
 #define TYPE_IMX7_SNVS "imx7.snvs"
 typedef struct IMX7SNVSState IMX7SNVSState;
-#define IMX7_SNVS(obj) OBJECT_CHECK(IMX7SNVSState, (obj), TYPE_IMX7_SNVS)
+DECLARE_INSTANCE_CHECKER(IMX7SNVSState, IMX7_SNVS,
+                         TYPE_IMX7_SNVS)
 
 struct IMX7SNVSState {
     /* <private> */
index 174248e5dfeb899c678e2de4c857af47730e3192..e9d82a2a508444cf4251131cdb1968368f530b14 100644 (file)
 #define TYPE_IMX_CCM "imx.ccm"
 typedef struct IMXCCMClass IMXCCMClass;
 typedef struct IMXCCMState IMXCCMState;
-#define IMX_CCM(obj) \
-     OBJECT_CHECK(IMXCCMState, (obj), TYPE_IMX_CCM)
-#define IMX_CCM_CLASS(klass) \
-     OBJECT_CLASS_CHECK(IMXCCMClass, (klass), TYPE_IMX_CCM)
-#define IMX_CCM_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(IMXCCMClass, (obj), TYPE_IMX_CCM)
+DECLARE_OBJ_CHECKERS(IMXCCMState, IMXCCMClass,
+                     IMX_CCM, TYPE_IMX_CCM)
 
 struct IMXCCMState {
     /* <private> */
index cd7ba8f91e984afaab33ac38826ce371f3ec470c..f7b569cac5d71b4e16306e755e7952ba00598d8e 100644 (file)
@@ -15,7 +15,8 @@
 
 #define TYPE_IMX_RNGC "imx.rngc"
 typedef struct IMXRNGCState IMXRNGCState;
-#define IMX_RNGC(obj) OBJECT_CHECK(IMXRNGCState, (obj), TYPE_IMX_RNGC)
+DECLARE_INSTANCE_CHECKER(IMXRNGCState, IMX_RNGC,
+                         TYPE_IMX_RNGC)
 
 struct IMXRNGCState {
     /*< private >*/
index 3d54d8f3debac2d44fc046205cb777bcd8cb88fd..d062ed43e77f7447b7262fc8e11ca4d766f2479f 100644 (file)
@@ -60,7 +60,8 @@
 
 #define TYPE_IOTKIT_SECCTL "iotkit-secctl"
 typedef struct IoTKitSecCtl IoTKitSecCtl;
-#define IOTKIT_SECCTL(obj) OBJECT_CHECK(IoTKitSecCtl, (obj), TYPE_IOTKIT_SECCTL)
+DECLARE_INSTANCE_CHECKER(IoTKitSecCtl, IOTKIT_SECCTL,
+                         TYPE_IOTKIT_SECCTL)
 
 #define IOTS_APB_PPC0_NUM_PORTS 3
 #define IOTS_APB_PPC1_NUM_PORTS 1
index 27fe6346e697218e29b1e12fedb00b34fcb9e126..22ceb5d76d4f70024fb48a5f69d91cfdc02b4491 100644 (file)
@@ -32,8 +32,8 @@
 
 #define TYPE_IOTKIT_SYSCTL "iotkit-sysctl"
 typedef struct IoTKitSysCtl IoTKitSysCtl;
-#define IOTKIT_SYSCTL(obj) OBJECT_CHECK(IoTKitSysCtl, (obj), \
-                                        TYPE_IOTKIT_SYSCTL)
+DECLARE_INSTANCE_CHECKER(IoTKitSysCtl, IOTKIT_SYSCTL,
+                         TYPE_IOTKIT_SYSCTL)
 
 struct IoTKitSysCtl {
     /*< private >*/
index e0e610c75c4102f012e27ec68c37b0b93d5d56cd..23ae43e54906440964299c267ab7bedb30963f73 100644 (file)
@@ -27,8 +27,8 @@
 
 #define TYPE_IOTKIT_SYSINFO "iotkit-sysinfo"
 typedef struct IoTKitSysInfo IoTKitSysInfo;
-#define IOTKIT_SYSINFO(obj) OBJECT_CHECK(IoTKitSysInfo, (obj), \
-                                        TYPE_IOTKIT_SYSINFO)
+DECLARE_INSTANCE_CHECKER(IoTKitSysInfo, IOTKIT_SYSINFO,
+                         TYPE_IOTKIT_SYSINFO)
 
 struct IoTKitSysInfo {
     /*< private >*/
index a59750634f638dbfe0ede58f3f9d13104b353258..862cbba3abf72dc60178395e4a4df7a709b9a6ba 100644 (file)
@@ -33,8 +33,8 @@
 
 #define TYPE_MOS6522_Q800_VIA1 "mos6522-q800-via1"
 typedef struct MOS6522Q800VIA1State MOS6522Q800VIA1State;
-#define MOS6522_Q800_VIA1(obj)  OBJECT_CHECK(MOS6522Q800VIA1State, (obj), \
-                                    TYPE_MOS6522_Q800_VIA1)
+DECLARE_INSTANCE_CHECKER(MOS6522Q800VIA1State, MOS6522_Q800_VIA1,
+                         TYPE_MOS6522_Q800_VIA1)
 
 struct MOS6522Q800VIA1State {
     /*< private >*/
@@ -69,8 +69,8 @@ struct MOS6522Q800VIA1State {
 
 #define TYPE_MOS6522_Q800_VIA2 "mos6522-q800-via2"
 typedef struct MOS6522Q800VIA2State MOS6522Q800VIA2State;
-#define MOS6522_Q800_VIA2(obj)  OBJECT_CHECK(MOS6522Q800VIA2State, (obj), \
-                                    TYPE_MOS6522_Q800_VIA2)
+DECLARE_INSTANCE_CHECKER(MOS6522Q800VIA2State, MOS6522_Q800_VIA2,
+                         TYPE_MOS6522_Q800_VIA2)
 
 struct MOS6522Q800VIA2State {
     /*< private >*/
@@ -80,7 +80,8 @@ struct MOS6522Q800VIA2State {
 
 #define TYPE_MAC_VIA "mac_via"
 typedef struct MacVIAState MacVIAState;
-#define MAC_VIA(obj)   OBJECT_CHECK(MacVIAState, (obj), TYPE_MAC_VIA)
+DECLARE_INSTANCE_CHECKER(MacVIAState, MAC_VIA,
+                         TYPE_MAC_VIA)
 
 struct MacVIAState {
     SysBusDevice busdev;
index f2b0069262789e5f6c78a03032207c84b844e99e..e738b6376fdd6e7c347d0a492ac957d47edb58b3 100644 (file)
@@ -66,13 +66,14 @@ struct MOS6522CUDAState {
 typedef struct MOS6522CUDAState MOS6522CUDAState;
 
 #define TYPE_MOS6522_CUDA "mos6522-cuda"
-#define MOS6522_CUDA(obj) OBJECT_CHECK(MOS6522CUDAState, (obj), \
-                                       TYPE_MOS6522_CUDA)
+DECLARE_INSTANCE_CHECKER(MOS6522CUDAState, MOS6522_CUDA,
+                         TYPE_MOS6522_CUDA)
 
 /* Cuda */
 #define TYPE_CUDA "cuda"
 typedef struct CUDAState CUDAState;
-#define CUDA(obj) OBJECT_CHECK(CUDAState, (obj), TYPE_CUDA)
+DECLARE_INSTANCE_CHECKER(CUDAState, CUDA,
+                         TYPE_CUDA)
 
 struct CUDAState {
     /*< private >*/
index 22348732506b919126c7ac2dd516dbbbf9fffcc5..1d0c8434ae5330d7d60d7155311683c9544edbd0 100644 (file)
@@ -32,7 +32,8 @@
 
 #define TYPE_MACIO_GPIO "macio-gpio"
 typedef struct MacIOGPIOState MacIOGPIOState;
-#define MACIO_GPIO(obj) OBJECT_CHECK(MacIOGPIOState, (obj), TYPE_MACIO_GPIO)
+DECLARE_INSTANCE_CHECKER(MacIOGPIOState, MACIO_GPIO,
+                         TYPE_MACIO_GPIO)
 
 struct MacIOGPIOState {
     /*< private >*/
index 81c28eeef779468967d30c992d42c1d5bb5d4c92..02dbf3763004f1944d510bc14a433db4360ab40e 100644 (file)
@@ -41,7 +41,8 @@
 /* MacIO virtual bus */
 #define TYPE_MACIO_BUS "macio-bus"
 typedef struct MacIOBusState MacIOBusState;
-#define MACIO_BUS(obj) OBJECT_CHECK(MacIOBusState, (obj), TYPE_MACIO_BUS)
+DECLARE_INSTANCE_CHECKER(MacIOBusState, MACIO_BUS,
+                         TYPE_MACIO_BUS)
 
 struct MacIOBusState {
     /*< private >*/
@@ -51,7 +52,8 @@ struct MacIOBusState {
 /* MacIO IDE */
 #define TYPE_MACIO_IDE "macio-ide"
 typedef struct MACIOIDEState MACIOIDEState;
-#define MACIO_IDE(obj) OBJECT_CHECK(MACIOIDEState, (obj), TYPE_MACIO_IDE)
+DECLARE_INSTANCE_CHECKER(MACIOIDEState, MACIO_IDE,
+                         TYPE_MACIO_IDE)
 
 struct MACIOIDEState {
     /*< private >*/
@@ -78,7 +80,8 @@ void macio_ide_register_dma(MACIOIDEState *ide);
 
 #define TYPE_MACIO "macio"
 typedef struct MacIOState MacIOState;
-#define MACIO(obj) OBJECT_CHECK(MacIOState, (obj), TYPE_MACIO)
+DECLARE_INSTANCE_CHECKER(MacIOState, MACIO,
+                         TYPE_MACIO)
 
 struct MacIOState {
     /*< private >*/
@@ -96,8 +99,8 @@ struct MacIOState {
 
 #define TYPE_OLDWORLD_MACIO "macio-oldworld"
 typedef struct OldWorldMacIOState OldWorldMacIOState;
-#define OLDWORLD_MACIO(obj) \
-    OBJECT_CHECK(OldWorldMacIOState, (obj), TYPE_OLDWORLD_MACIO)
+DECLARE_INSTANCE_CHECKER(OldWorldMacIOState, OLDWORLD_MACIO,
+                         TYPE_OLDWORLD_MACIO)
 
 struct OldWorldMacIOState {
     /*< private >*/
@@ -112,8 +115,8 @@ struct OldWorldMacIOState {
 
 #define TYPE_NEWWORLD_MACIO "macio-newworld"
 typedef struct NewWorldMacIOState NewWorldMacIOState;
-#define NEWWORLD_MACIO(obj) \
-    OBJECT_CHECK(NewWorldMacIOState, (obj), TYPE_NEWWORLD_MACIO)
+DECLARE_INSTANCE_CHECKER(NewWorldMacIOState, NEWWORLD_MACIO,
+                         TYPE_NEWWORLD_MACIO)
 
 struct NewWorldMacIOState {
     /*< private >*/
index b3982f6f322ba59f0a0f9db0621789a2d8149120..0d1a5c1406d4035f3d38920d0a71d97a45d09b9a 100644 (file)
@@ -181,8 +181,8 @@ struct MOS6522PMUState {
 typedef struct MOS6522PMUState MOS6522PMUState;
 
 #define TYPE_MOS6522_PMU "mos6522-pmu"
-#define MOS6522_PMU(obj) OBJECT_CHECK(MOS6522PMUState, (obj), \
-                                      TYPE_MOS6522_PMU)
+DECLARE_INSTANCE_CHECKER(MOS6522PMUState, MOS6522_PMU,
+                         TYPE_MOS6522_PMU)
 /**
  * PMUState:
  * @last_b: last value of B register
@@ -234,6 +234,7 @@ struct PMUState {
 typedef struct PMUState PMUState;
 
 #define TYPE_VIA_PMU "via-pmu"
-#define VIA_PMU(obj) OBJECT_CHECK(PMUState, (obj), TYPE_VIA_PMU)
+DECLARE_INSTANCE_CHECKER(PMUState, VIA_PMU,
+                         TYPE_VIA_PMU)
 
 #endif /* PMU_H */
index e903a1af9c4755995fa0cdc42998b465767994a1..6350a3f7c0aaa6927362e4c402f57d36e3d15936 100644 (file)
@@ -49,8 +49,8 @@ typedef struct MAX111xState MAX111xState;
 
 #define TYPE_MAX_111X "max111x"
 
-#define MAX_111X(obj) \
-    OBJECT_CHECK(MAX111xState, (obj), TYPE_MAX_111X)
+DECLARE_INSTANCE_CHECKER(MAX111xState, MAX_111X,
+                         TYPE_MAX_111X)
 
 #define TYPE_MAX_1110 "max1110"
 #define TYPE_MAX_1111 "max1111"
index a334be8eddc7fa5ef71a07baa50155341404cf06..923df4f1124a8a0db9055cdb162644c836c14b52 100644 (file)
@@ -15,7 +15,8 @@
 
 #define TYPE_MIPS_GCR "mips-gcr"
 typedef struct MIPSGCRState MIPSGCRState;
-#define MIPS_GCR(obj) OBJECT_CHECK(MIPSGCRState, (obj), TYPE_MIPS_GCR)
+DECLARE_INSTANCE_CHECKER(MIPSGCRState, MIPS_GCR,
+                         TYPE_MIPS_GCR)
 
 #define GCR_BASE_ADDR           0x1fbf8000ULL
 #define GCR_ADDRSPACE_SZ        0x8000
index b0131e4a54f9e7d7a61a893dfd00a521dbe90b30..7dc188e8a2b5a42d55e35b75c8009eded4fe76fe 100644 (file)
@@ -36,7 +36,8 @@
 
 #define TYPE_MIPS_CPC "mips-cpc"
 typedef struct MIPSCPCState MIPSCPCState;
-#define MIPS_CPC(obj) OBJECT_CHECK(MIPSCPCState, (obj), TYPE_MIPS_CPC)
+DECLARE_INSTANCE_CHECKER(MIPSCPCState, MIPS_CPC,
+                         TYPE_MIPS_CPC)
 
 struct MIPSCPCState {
     SysBusDevice parent_obj;
index 9ddb04708af7d18b49f0378e9e9c674f510a17a0..7c19f61fbb68d0085802d966e97236f3d6dfeb00 100644 (file)
@@ -25,7 +25,8 @@
 
 #define TYPE_MIPS_ITU "mips-itu"
 typedef struct MIPSITUState MIPSITUState;
-#define MIPS_ITU(obj) OBJECT_CHECK(MIPSITUState, (obj), TYPE_MIPS_ITU)
+DECLARE_INSTANCE_CHECKER(MIPSITUState, MIPS_ITU,
+                         TYPE_MIPS_ITU)
 
 #define ITC_CELL_DEPTH_SHIFT 2
 #define ITC_CELL_DEPTH (1u << ITC_CELL_DEPTH_SHIFT)
index b0998148797f4ef10ffd77a5f4defc5aed601928..f73271ba67bb681b55488dca33b78ae2fe63ceb1 100644 (file)
@@ -126,7 +126,8 @@ typedef struct MOS6522State MOS6522State;
 
 #define TYPE_MOS6522 "mos6522"
 typedef struct MOS6522DeviceClass MOS6522DeviceClass;
-#define MOS6522(obj) OBJECT_CHECK(MOS6522State, (obj), TYPE_MOS6522)
+DECLARE_OBJ_CHECKERS(MOS6522State, MOS6522DeviceClass,
+                     MOS6522, TYPE_MOS6522)
 
 struct MOS6522DeviceClass {
     DeviceClass parent_class;
@@ -143,10 +144,6 @@ struct MOS6522DeviceClass {
     uint64_t (*get_timer2_load_time)(MOS6522State *dev, MOS6522Timer *ti);
 };
 
-#define MOS6522_CLASS(cls) \
-    OBJECT_CLASS_CHECK(MOS6522DeviceClass, (cls), TYPE_MOS6522)
-#define MOS6522_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(MOS6522DeviceClass, (obj), TYPE_MOS6522)
 
 extern const VMStateDescription vmstate_mos6522;
 
index e844041bb04ad2f97f8c47ce8f75b47b6343b860..991f5b731e830366528ab743d0553b2e68d70a47 100644 (file)
@@ -26,7 +26,8 @@
 
 #define TYPE_MPS2_FPGAIO "mps2-fpgaio"
 typedef struct MPS2FPGAIO MPS2FPGAIO;
-#define MPS2_FPGAIO(obj) OBJECT_CHECK(MPS2FPGAIO, (obj), TYPE_MPS2_FPGAIO)
+DECLARE_INSTANCE_CHECKER(MPS2FPGAIO, MPS2_FPGAIO,
+                         TYPE_MPS2_FPGAIO)
 
 struct MPS2FPGAIO {
     /*< private >*/
index 10393c4e3a057d4af571764451361fc68f6f8998..445e268b1fdabc11d373f4a2df0867dbd7cbc43e 100644 (file)
@@ -17,7 +17,8 @@
 
 #define TYPE_MPS2_SCC "mps2-scc"
 typedef struct MPS2SCC MPS2SCC;
-#define MPS2_SCC(obj) OBJECT_CHECK(MPS2SCC, (obj), TYPE_MPS2_SCC)
+DECLARE_INSTANCE_CHECKER(MPS2SCC, MPS2_SCC,
+                         TYPE_MPS2_SCC)
 
 #define NUM_OSCCLK 3
 
index 6b5d03608a177e5046560f61b338b6515744503c..625932354ac631f5ff1ae11d536a970ba3aa0f81 100644 (file)
@@ -63,7 +63,8 @@ enum {
 
 #define TYPE_MSF2_SYSREG          "msf2-sysreg"
 typedef struct MSF2SysregState MSF2SysregState;
-#define MSF2_SYSREG(obj)  OBJECT_CHECK(MSF2SysregState, (obj), TYPE_MSF2_SYSREG)
+DECLARE_INSTANCE_CHECKER(MSF2SysregState, MSF2_SYSREG,
+                         TYPE_MSF2_SYSREG)
 
 struct MSF2SysregState {
     SysBusDevice parent_obj;
index 247f167100c4f1ce8c431996e1c4c6d891f35e10..7f2263a90624a0fedae2b56477741c4518fb9e37 100644 (file)
@@ -39,7 +39,8 @@
 #include "qom/object.h"
 #define TYPE_NRF51_RNG "nrf51_soc.rng"
 typedef struct NRF51RNGState NRF51RNGState;
-#define NRF51_RNG(obj) OBJECT_CHECK(NRF51RNGState, (obj), TYPE_NRF51_RNG)
+DECLARE_INSTANCE_CHECKER(NRF51RNGState, NRF51_RNG,
+                         TYPE_NRF51_RNG)
 
 #define NRF51_RNG_SIZE         0x1000
 
index ebf8425903e70803dc3e89f3117704aac98cdd62..b6f4e264fedbb5cc39b11e5438799cf4b16c173c 100644 (file)
@@ -15,7 +15,8 @@
 #define TYPE_PCA9552 "pca9552"
 #define TYPE_PCA955X "pca955x"
 typedef struct PCA955xState PCA955xState;
-#define PCA955X(obj) OBJECT_CHECK(PCA955xState, (obj), TYPE_PCA955X)
+DECLARE_INSTANCE_CHECKER(PCA955xState, PCA955X,
+                         TYPE_PCA955X)
 
 #define PCA955X_NR_REGS 10
 #define PCA955X_PIN_COUNT_MAX 16
index ff7c976d66c670bd3f4d6a8af44eb91d0cdc3738..82ccd7cc2400fe5965876037682faa89218736e6 100644 (file)
@@ -38,8 +38,8 @@
 
 #define TYPE_STM32F2XX_SYSCFG "stm32f2xx-syscfg"
 typedef struct STM32F2XXSyscfgState STM32F2XXSyscfgState;
-#define STM32F2XX_SYSCFG(obj) \
-    OBJECT_CHECK(STM32F2XXSyscfgState, (obj), TYPE_STM32F2XX_SYSCFG)
+DECLARE_INSTANCE_CHECKER(STM32F2XXSyscfgState, STM32F2XX_SYSCFG,
+                         TYPE_STM32F2XX_SYSCFG)
 
 struct STM32F2XXSyscfgState {
     /* <private> */
index 71326157859969d3946567a2df61e9b5bf521997..4987c286ed964d2bf0d5690400683016cd893d5b 100644 (file)
@@ -38,8 +38,8 @@
 
 #define TYPE_STM32F4XX_EXTI "stm32f4xx-exti"
 typedef struct STM32F4xxExtiState STM32F4xxExtiState;
-#define STM32F4XX_EXTI(obj) \
-    OBJECT_CHECK(STM32F4xxExtiState, (obj), TYPE_STM32F4XX_EXTI)
+DECLARE_INSTANCE_CHECKER(STM32F4xxExtiState, STM32F4XX_EXTI,
+                         TYPE_STM32F4XX_EXTI)
 
 #define NUM_GPIO_EVENT_IN_LINES 16
 #define NUM_INTERRUPT_OUT_LINES 16
index 78130cb9c38488324db21adeb5e3e2bae44af94c..c3d89d4536273f04d9970d0dcba82c3b1006e7e4 100644 (file)
@@ -39,8 +39,8 @@
 
 #define TYPE_STM32F4XX_SYSCFG "stm32f4xx-syscfg"
 typedef struct STM32F4xxSyscfgState STM32F4xxSyscfgState;
-#define STM32F4XX_SYSCFG(obj) \
-    OBJECT_CHECK(STM32F4xxSyscfgState, (obj), TYPE_STM32F4XX_SYSCFG)
+DECLARE_INSTANCE_CHECKER(STM32F4xxSyscfgState, STM32F4XX_SYSCFG,
+                         TYPE_STM32F4XX_SYSCFG)
 
 #define SYSCFG_NUM_EXTICR 4
 
index 2d3eae0834960e1aa779c9ebf228cf0c9c05f418..34e45fdb9708b7f8f8af01ef8e84179171de5b91 100644 (file)
@@ -36,7 +36,8 @@
 
 #define TYPE_TZ_MPC "tz-mpc"
 typedef struct TZMPC TZMPC;
-#define TZ_MPC(obj) OBJECT_CHECK(TZMPC, (obj), TYPE_TZ_MPC)
+DECLARE_INSTANCE_CHECKER(TZMPC, TZ_MPC,
+                         TYPE_TZ_MPC)
 
 #define TZ_NUM_PORTS 16
 
index 3f719833a9f59ce3749f9e4f6bcec02662982df3..7169f330ffdcc903a63b2bef45463c91c917e6e1 100644 (file)
@@ -56,7 +56,8 @@
 
 #define TYPE_TZ_MSC "tz-msc"
 typedef struct TZMSC TZMSC;
-#define TZ_MSC(obj) OBJECT_CHECK(TZMSC, (obj), TYPE_TZ_MSC)
+DECLARE_INSTANCE_CHECKER(TZMSC, TZ_MSC,
+                         TYPE_TZ_MSC)
 
 struct TZMSC {
     /*< private >*/
index 4646005fa578ed8e5aa2c2d989d19d55d8551a5a..b5251b715ecaebead3493c999c213b2d68d72fe7 100644 (file)
@@ -70,7 +70,8 @@
 
 #define TYPE_TZ_PPC "tz-ppc"
 typedef struct TZPPC TZPPC;
-#define TZ_PPC(obj) OBJECT_CHECK(TZPPC, (obj), TYPE_TZ_PPC)
+DECLARE_INSTANCE_CHECKER(TZPPC, TZ_PPC,
+                         TYPE_TZ_PPC)
 
 #define TZ_NUM_PORTS 16
 
index 6c04c8a923e3ddbbacd956a457b706d48f3c7916..7c724bab94530759dc46be28acc2b8604b699fab 100644 (file)
@@ -16,8 +16,8 @@
 #define TYPE_UNIMPLEMENTED_DEVICE "unimplemented-device"
 
 typedef struct UnimplementedDeviceState UnimplementedDeviceState;
-#define UNIMPLEMENTED_DEVICE(obj) \
-    OBJECT_CHECK(UnimplementedDeviceState, (obj), TYPE_UNIMPLEMENTED_DEVICE)
+DECLARE_INSTANCE_CHECKER(UnimplementedDeviceState, UNIMPLEMENTED_DEVICE,
+                         TYPE_UNIMPLEMENTED_DEVICE)
 
 struct UnimplementedDeviceState {
     SysBusDevice parent_obj;
index cf0e51f863820f8c4e5fbcf72e49c964027e718f..ebada6617a76714fce894a31eebcd4189645d8be 100644 (file)
@@ -18,7 +18,8 @@
 
 #define VMCOREINFO_DEVICE "vmcoreinfo"
 typedef struct VMCoreInfoState VMCoreInfoState;
-#define VMCOREINFO(obj) OBJECT_CHECK(VMCoreInfoState, (obj), VMCOREINFO_DEVICE)
+DECLARE_INSTANCE_CHECKER(VMCoreInfoState, VMCOREINFO,
+                         VMCOREINFO_DEVICE)
 
 typedef struct fw_cfg_vmcoreinfo FWCfgVMCoreInfo;
 
index 7e9767c74f646383df91d826b0a06bc790dcd124..052f47954f59016c235e9df4547bf0b5e6abcc5f 100644 (file)
@@ -25,8 +25,8 @@
 
 #define TYPE_ZYNQ_XADC          "xlnx,zynq-xadc"
 typedef struct ZynqXADCState ZynqXADCState;
-#define ZYNQ_XADC(obj) \
-    OBJECT_CHECK(ZynqXADCState, (obj), TYPE_ZYNQ_XADC)
+DECLARE_INSTANCE_CHECKER(ZynqXADCState, ZYNQ_XADC,
+                         TYPE_ZYNQ_XADC)
 
 struct ZynqXADCState {
     /*< private >*/
index bd38588885dc8d936f830c52040dc9833460a06d..89e56b815bc34791f83f29e7470d478b096f8473 100644 (file)
@@ -31,8 +31,8 @@
 
 #define TYPE_AW_SUN8I_EMAC "allwinner-sun8i-emac"
 typedef struct AwSun8iEmacState AwSun8iEmacState;
-#define AW_SUN8I_EMAC(obj) \
-    OBJECT_CHECK(AwSun8iEmacState, (obj), TYPE_AW_SUN8I_EMAC)
+DECLARE_INSTANCE_CHECKER(AwSun8iEmacState, AW_SUN8I_EMAC,
+                         TYPE_AW_SUN8I_EMAC)
 
 /** @} */
 
index e9270825802e8fcff756b5af4e27f742bb5022ca..f5f5b67939d2d40497559414bcd5b54e340bdb0c 100644 (file)
@@ -32,7 +32,8 @@
 
 #define TYPE_AW_EMAC "allwinner-emac"
 typedef struct AwEmacState AwEmacState;
-#define AW_EMAC(obj) OBJECT_CHECK(AwEmacState, (obj), TYPE_AW_EMAC)
+DECLARE_INSTANCE_CHECKER(AwEmacState, AW_EMAC,
+                         TYPE_AW_EMAC)
 
 /*
  * Allwinner EMAC register list
index 04fd59a52511f51fc99566f8d4d6bd0ddaac5303..dff108373883f60e38429aeaa1576bd5797727f8 100644 (file)
@@ -28,7 +28,8 @@
 
 #define TYPE_CADENCE_GEM "cadence_gem"
 typedef struct CadenceGEMState CadenceGEMState;
-#define CADENCE_GEM(obj) OBJECT_CHECK(CadenceGEMState, (obj), TYPE_CADENCE_GEM)
+DECLARE_INSTANCE_CHECKER(CadenceGEMState, CADENCE_GEM,
+                         TYPE_CADENCE_GEM)
 
 #include "net/net.h"
 #include "hw/sysbus.h"
index 6371bf60abbb749575ca4a66a3b2156a06a0f6fd..c6b1c11fcabee1fe8820f1ecc21de1a57eb36e36 100644 (file)
@@ -13,7 +13,8 @@
 
 #define TYPE_FTGMAC100 "ftgmac100"
 typedef struct FTGMAC100State FTGMAC100State;
-#define FTGMAC100(obj) OBJECT_CHECK(FTGMAC100State, (obj), TYPE_FTGMAC100)
+DECLARE_INSTANCE_CHECKER(FTGMAC100State, FTGMAC100,
+                         TYPE_FTGMAC100)
 
 #include "hw/sysbus.h"
 #include "net/net.h"
@@ -70,7 +71,8 @@ struct FTGMAC100State {
 
 #define TYPE_ASPEED_MII "aspeed-mmi"
 typedef struct AspeedMiiState AspeedMiiState;
-#define ASPEED_MII(obj) OBJECT_CHECK(AspeedMiiState, (obj), TYPE_ASPEED_MII)
+DECLARE_INSTANCE_CHECKER(AspeedMiiState, ASPEED_MII,
+                         TYPE_ASPEED_MII)
 
 /*
  * AST2600 MII controller
index 4d6ac5e408a488d7b6f7e53e413e3650e60526ea..ffdbc304b6eda50154302e0bdf9daab0a561175f 100644 (file)
@@ -27,7 +27,8 @@
 
 #define TYPE_IMX_FEC "imx.fec"
 typedef struct IMXFECState IMXFECState;
-#define IMX_FEC(obj) OBJECT_CHECK(IMXFECState, (obj), TYPE_IMX_FEC)
+DECLARE_INSTANCE_CHECKER(IMXFECState, IMX_FEC,
+                         TYPE_IMX_FEC)
 
 #define TYPE_IMX_ENET "imx.enet"
 
index fe459ffea79bd782302b6075d7a9eadc4a3ea52a..f645d6af67fd82a7daff4a180fdb02ac0b42c9e0 100644 (file)
@@ -36,8 +36,8 @@
 
 #define TYPE_LANCE "lance"
 typedef struct SysBusPCNetState SysBusPCNetState;
-#define SYSBUS_PCNET(obj) \
-    OBJECT_CHECK(SysBusPCNetState, (obj), TYPE_LANCE)
+DECLARE_INSTANCE_CHECKER(SysBusPCNetState, SYSBUS_PCNET,
+                         TYPE_LANCE)
 
 struct SysBusPCNetState {
     SysBusDevice parent_obj;
index 141e0cc17a7e475b3a9462e93111c40af87216db..7b62b048336ce8f1d64d0a8ad445ecd625655e62 100644 (file)
@@ -14,8 +14,8 @@
 
 #define TYPE_LASI_82596 "lasi_82596"
 typedef struct SysBusI82596State SysBusI82596State;
-#define SYSBUS_I82596(obj) \
-    OBJECT_CHECK(SysBusI82596State, (obj), TYPE_LASI_82596)
+DECLARE_INSTANCE_CHECKER(SysBusI82596State, SYSBUS_I82596,
+                         TYPE_LASI_82596)
 
 struct SysBusI82596State {
     SysBusDevice parent_obj;
index 6aef7110070c7e5ac8106c8b8488130c2dc92694..68194d798c74144fb2b22251fe6250e1e5ff35a7 100644 (file)
@@ -30,8 +30,8 @@
 
 #define TYPE_MSS_EMAC "msf2-emac"
 typedef struct MSF2EmacState MSF2EmacState;
-#define MSS_EMAC(obj) \
-    OBJECT_CHECK(MSF2EmacState, (obj), TYPE_MSS_EMAC)
+DECLARE_INSTANCE_CHECKER(MSF2EmacState, MSS_EMAC,
+                         TYPE_MSS_EMAC)
 
 #define R_MAX         (0x1a0 / 4)
 #define PHY_MAX_REGS  32
index 47fc036e749dafa3f7133c9e67a4f7c4f225ae8e..fff41bebc69a245a7f13685139234b690ab28ebd 100644 (file)
 #define TYPE_NMI "nmi"
 
 typedef struct NMIClass NMIClass;
-#define NMI_CLASS(klass) \
-     OBJECT_CLASS_CHECK(NMIClass, (klass), TYPE_NMI)
-#define NMI_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(NMIClass, (obj), TYPE_NMI)
+DECLARE_CLASS_CHECKERS(NMIClass, NMI,
+                       TYPE_NMI)
 #define NMI(obj) \
      INTERFACE_CHECK(NMIState, (obj), TYPE_NMI)
 
index 8407ad21f66ad7b399e63a3cad3ac374e11e13e4..6856d7e0954bd03f221d9c7382ea780a95178949 100644 (file)
@@ -14,8 +14,8 @@
 
 #define TYPE_MAC_NUBUS_BRIDGE "mac-nubus-bridge"
 typedef struct MacNubusState MacNubusState;
-#define MAC_NUBUS_BRIDGE(obj) OBJECT_CHECK(MacNubusState, (obj), \
-                                           TYPE_MAC_NUBUS_BRIDGE)
+DECLARE_INSTANCE_CHECKER(MacNubusState, MAC_NUBUS_BRIDGE,
+                         TYPE_MAC_NUBUS_BRIDGE)
 
 struct MacNubusState {
     SysBusDevice sysbus_dev;
index 226efb2ff7718691e66e531edaf0a897966cd76c..9370f0d8f07793bfe87cdf2ddbe6f3f74c1dcfea 100644 (file)
 
 #define TYPE_NUBUS_DEVICE "nubus-device"
 typedef struct NubusDevice NubusDevice;
-#define NUBUS_DEVICE(obj) \
-     OBJECT_CHECK(NubusDevice, (obj), TYPE_NUBUS_DEVICE)
+DECLARE_INSTANCE_CHECKER(NubusDevice, NUBUS_DEVICE,
+                         TYPE_NUBUS_DEVICE)
 
 #define TYPE_NUBUS_BUS "nubus-bus"
 typedef struct NubusBus NubusBus;
-#define NUBUS_BUS(obj) OBJECT_CHECK(NubusBus, (obj), TYPE_NUBUS_BUS)
+DECLARE_INSTANCE_CHECKER(NubusBus, NUBUS_BUS,
+                         TYPE_NUBUS_BUS)
 
 #define TYPE_NUBUS_BRIDGE "nubus-bridge"
 
index 5e00fdc21e10a2f990745d3d0647bae0b3ecc591..f85393400c84b4adb6de1b5094e4fa9e6702536f 100644 (file)
 #define TYPE_FW_CFG_MEM "fw_cfg_mem"
 #define TYPE_FW_CFG_DATA_GENERATOR_INTERFACE "fw_cfg-data-generator"
 
-#define FW_CFG(obj)     OBJECT_CHECK(FWCfgState,    (obj), TYPE_FW_CFG)
-#define FW_CFG_IO(obj)  OBJECT_CHECK(FWCfgIoState,  (obj), TYPE_FW_CFG_IO)
-#define FW_CFG_MEM(obj) OBJECT_CHECK(FWCfgMemState, (obj), TYPE_FW_CFG_MEM)
+DECLARE_INSTANCE_CHECKER(FWCfgState, FW_CFG,
+                         TYPE_FW_CFG)
+DECLARE_INSTANCE_CHECKER(FWCfgIoState, FW_CFG_IO,
+                         TYPE_FW_CFG_IO)
+DECLARE_INSTANCE_CHECKER(FWCfgMemState, FW_CFG_MEM,
+                         TYPE_FW_CFG_MEM)
 
 typedef struct FWCfgDataGeneratorClass FWCfgDataGeneratorClass;
-#define FW_CFG_DATA_GENERATOR_CLASS(class) \
-    OBJECT_CLASS_CHECK(FWCfgDataGeneratorClass, (class), \
+DECLARE_CLASS_CHECKERS(FWCfgDataGeneratorClass, FW_CFG_DATA_GENERATOR,
                        TYPE_FW_CFG_DATA_GENERATOR_INTERFACE)
-#define FW_CFG_DATA_GENERATOR_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(FWCfgDataGeneratorClass, (obj), \
-                     TYPE_FW_CFG_DATA_GENERATOR_INTERFACE)
 
 struct FWCfgDataGeneratorClass {
     /*< private >*/
index 48871667f13f61e4be50c7bf4ae0affd1c8d6f0f..ab99b092065c0a41ffd5a63570da691060ac436c 100644 (file)
@@ -26,7 +26,8 @@
 #include "qom/object.h"
 #define TYPE_NRF51_NVM "nrf51_soc.nvm"
 typedef struct NRF51NVMState NRF51NVMState;
-#define NRF51_NVM(obj) OBJECT_CHECK(NRF51NVMState, (obj), TYPE_NRF51_NVM)
+DECLARE_INSTANCE_CHECKER(NRF51NVMState, NRF51_NVM,
+                         TYPE_NRF51_NVM)
 
 #define NRF51_UICR_FIXTURE_SIZE 64
 
index 0038bfbe3d643bee26837500a42fd9d02b9140e1..f2f0a27381065df9ce69bf3d785a7dace608eeac 100644 (file)
@@ -37,7 +37,8 @@
 
 typedef struct OrIRQState qemu_or_irq;
 
-#define OR_IRQ(obj) OBJECT_CHECK(qemu_or_irq, (obj), TYPE_OR_IRQ)
+DECLARE_INSTANCE_CHECKER(qemu_or_irq, OR_IRQ,
+                         TYPE_OR_IRQ)
 
 struct OrIRQState {
     DeviceState parent_obj;
index 300379b94dec26691f9573f8a288eed2dd85b755..675aa5a99096b443dd41251729ce9ff1b9dc4be8 100644 (file)
@@ -38,7 +38,7 @@ struct SimbaPCIBridge {
 typedef struct SimbaPCIBridge SimbaPCIBridge;
 
 #define TYPE_SIMBA_PCI_BRIDGE "pbm-bridge"
-#define SIMBA_PCI_BRIDGE(obj) \
-    OBJECT_CHECK(SimbaPCIBridge, (obj), TYPE_SIMBA_PCI_BRIDGE)
+DECLARE_INSTANCE_CHECKER(SimbaPCIBridge, SIMBA_PCI_BRIDGE,
+                         TYPE_SIMBA_PCI_BRIDGE)
 
 #endif
index 43ee5b3a12589cd9ab21dce855efd3f29a5135f0..551eec3107b78fb5badc07db7298b541df51cb77 100644 (file)
 
 #define TYPE_DESIGNWARE_PCIE_HOST "designware-pcie-host"
 typedef struct DesignwarePCIEHost DesignwarePCIEHost;
-#define DESIGNWARE_PCIE_HOST(obj) \
-     OBJECT_CHECK(DesignwarePCIEHost, (obj), TYPE_DESIGNWARE_PCIE_HOST)
+DECLARE_INSTANCE_CHECKER(DesignwarePCIEHost, DESIGNWARE_PCIE_HOST,
+                         TYPE_DESIGNWARE_PCIE_HOST)
 
 #define TYPE_DESIGNWARE_PCIE_ROOT "designware-pcie-root"
 typedef struct DesignwarePCIERoot DesignwarePCIERoot;
-#define DESIGNWARE_PCIE_ROOT(obj) \
-     OBJECT_CHECK(DesignwarePCIERoot, (obj), TYPE_DESIGNWARE_PCIE_ROOT)
+DECLARE_INSTANCE_CHECKER(DesignwarePCIERoot, DESIGNWARE_PCIE_ROOT,
+                         TYPE_DESIGNWARE_PCIE_ROOT)
 
 struct DesignwarePCIERoot;
 
index d70e1c69dc67a725b4e74b1b474e81ef765425f9..e8432eced8a8ae11a29a481c1c74436fb2ac553f 100644 (file)
 
 #define TYPE_GPEX_HOST "gpex-pcihost"
 typedef struct GPEXHost GPEXHost;
-#define GPEX_HOST(obj) \
-     OBJECT_CHECK(GPEXHost, (obj), TYPE_GPEX_HOST)
+DECLARE_INSTANCE_CHECKER(GPEXHost, GPEX_HOST,
+                         TYPE_GPEX_HOST)
 
 #define TYPE_GPEX_ROOT_DEVICE "gpex-root"
 typedef struct GPEXRootState GPEXRootState;
-#define MCH_PCI_DEVICE(obj) \
-     OBJECT_CHECK(GPEXRootState, (obj), TYPE_GPEX_ROOT_DEVICE)
+DECLARE_INSTANCE_CHECKER(GPEXRootState, MCH_PCI_DEVICE,
+                         TYPE_GPEX_ROOT_DEVICE)
 
 #define GPEX_NUM_IRQS 4
 
index 74fe300bffb6b1d3f15221c719ddf298efadfd28..046c64576d063859887c27dfe18723cadc7972d6 100644 (file)
@@ -20,8 +20,8 @@
 #define TYPE_I440FX_PCI_DEVICE "i440FX"
 
 typedef struct PCII440FXState PCII440FXState;
-#define I440FX_PCI_DEVICE(obj) \
-    OBJECT_CHECK(PCII440FXState, (obj), TYPE_I440FX_PCI_DEVICE)
+DECLARE_INSTANCE_CHECKER(PCII440FXState, I440FX_PCI_DEVICE,
+                         TYPE_I440FX_PCI_DEVICE)
 
 struct PCII440FXState {
     /*< private >*/
index 43f9e873aeffdac3d45b9660435414b3336e504a..182f29d681b58345c32068acb897982e10f5fa84 100644 (file)
@@ -22,7 +22,8 @@ typedef struct PnvPHB3 PnvPHB3;
  */
 #define TYPE_PHB3_MSI "phb3-msi"
 typedef struct Phb3MsiState Phb3MsiState;
-#define PHB3_MSI(obj) OBJECT_CHECK(Phb3MsiState, (obj), TYPE_PHB3_MSI)
+DECLARE_INSTANCE_CHECKER(Phb3MsiState, PHB3_MSI,
+                         TYPE_PHB3_MSI)
 
 #define PHB3_MAX_MSI     2048
 
@@ -72,7 +73,8 @@ typedef struct PnvPhb3DMASpace {
  */
 #define TYPE_PNV_PBCQ "pnv-pbcq"
 typedef struct PnvPBCQState PnvPBCQState;
-#define PNV_PBCQ(obj) OBJECT_CHECK(PnvPBCQState, (obj), TYPE_PNV_PBCQ)
+DECLARE_INSTANCE_CHECKER(PnvPBCQState, PNV_PBCQ,
+                         TYPE_PNV_PBCQ)
 
 struct PnvPBCQState {
     DeviceState parent;
@@ -116,7 +118,8 @@ typedef struct PnvPHB3RootPort {
  * PHB3 PCIe Host Bridge for PowerNV machines (POWER8)
  */
 #define TYPE_PNV_PHB3 "pnv-phb3"
-#define PNV_PHB3(obj) OBJECT_CHECK(PnvPHB3, (obj), TYPE_PNV_PHB3)
+DECLARE_INSTANCE_CHECKER(PnvPHB3, PNV_PHB3,
+                         TYPE_PNV_PHB3)
 
 #define PNV_PHB3_NUM_M64      16
 #define PNV_PHB3_NUM_REGS     (0x1000 >> 3)
index 450602cb726c722e10b20fded5c9b9ff54395273..15a46331786952a7fa6c52c9d48c615b94b6e4dc 100644 (file)
@@ -58,7 +58,8 @@ typedef struct PnvPHB4RootPort {
  * PHB4 PCIe Host Bridge for PowerNV machines (POWER9)
  */
 #define TYPE_PNV_PHB4 "pnv-phb4"
-#define PNV_PHB4(obj) OBJECT_CHECK(PnvPHB4, (obj), TYPE_PNV_PHB4)
+DECLARE_INSTANCE_CHECKER(PnvPHB4, PNV_PHB4,
+                         TYPE_PNV_PHB4)
 
 #define PNV_PHB4_MAX_LSIs          8
 #define PNV_PHB4_MAX_INTs          4096
@@ -142,12 +143,12 @@ extern const MemoryRegionOps pnv_phb4_xscom_ops;
  */
 #define TYPE_PNV_PHB4_PEC "pnv-phb4-pec"
 typedef struct PnvPhb4PecClass PnvPhb4PecClass;
-#define PNV_PHB4_PEC(obj) \
-    OBJECT_CHECK(PnvPhb4PecState, (obj), TYPE_PNV_PHB4_PEC)
+DECLARE_OBJ_CHECKERS(PnvPhb4PecState, PnvPhb4PecClass,
+                     PNV_PHB4_PEC, TYPE_PNV_PHB4_PEC)
 
 #define TYPE_PNV_PHB4_PEC_STACK "pnv-phb4-pec-stack"
-#define PNV_PHB4_PEC_STACK(obj) \
-    OBJECT_CHECK(PnvPhb4PecStack, (obj), TYPE_PNV_PHB4_PEC_STACK)
+DECLARE_INSTANCE_CHECKER(PnvPhb4PecStack, PNV_PHB4_PEC_STACK,
+                         TYPE_PNV_PHB4_PEC_STACK)
 
 /* Per-stack data */
 struct PnvPhb4PecStack {
@@ -211,10 +212,6 @@ struct PnvPhb4PecState {
     PnvPhb4PecStack stacks[PHB4_PEC_MAX_STACKS];
 };
 
-#define PNV_PHB4_PEC_CLASS(klass) \
-     OBJECT_CLASS_CHECK(PnvPhb4PecClass, (klass), TYPE_PNV_PHB4_PEC)
-#define PNV_PHB4_PEC_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(PnvPhb4PecClass, (obj), TYPE_PNV_PHB4_PEC)
 
 struct PnvPhb4PecClass {
     DeviceClass parent_class;
index 5db5a763d4203d609df887a2cf363cdb1c8278bb..0f5a534f77ac0eb737d1bfcb219afa2b84084c3e 100644 (file)
 
 #define TYPE_Q35_HOST_DEVICE "q35-pcihost"
 typedef struct Q35PCIHost Q35PCIHost;
-#define Q35_HOST_DEVICE(obj) \
-     OBJECT_CHECK(Q35PCIHost, (obj), TYPE_Q35_HOST_DEVICE)
+DECLARE_INSTANCE_CHECKER(Q35PCIHost, Q35_HOST_DEVICE,
+                         TYPE_Q35_HOST_DEVICE)
 
 #define TYPE_MCH_PCI_DEVICE "mch"
 typedef struct MCHPCIState MCHPCIState;
-#define MCH_PCI_DEVICE(obj) \
-     OBJECT_CHECK(MCHPCIState, (obj), TYPE_MCH_PCI_DEVICE)
+DECLARE_INSTANCE_CHECKER(MCHPCIState, MCH_PCI_DEVICE,
+                         TYPE_MCH_PCI_DEVICE)
 
 struct MCHPCIState {
     /*< private >*/
index 5fb508e9cea770b914bffc7c10718118b81635a5..597bf70d691d7f162d2d1f3f516f266acbe3875b 100644 (file)
@@ -23,8 +23,8 @@ struct SabrePCIState {
 typedef struct SabrePCIState SabrePCIState;
 
 #define TYPE_SABRE_PCI_DEVICE "sabre-pci"
-#define SABRE_PCI_DEVICE(obj) \
-    OBJECT_CHECK(SabrePCIState, (obj), TYPE_SABRE_PCI_DEVICE)
+DECLARE_INSTANCE_CHECKER(SabrePCIState, SABRE_PCI_DEVICE,
+                         TYPE_SABRE_PCI_DEVICE)
 
 struct SabreState {
     PCIHostState parent_obj;
@@ -51,7 +51,7 @@ struct SabreState {
 typedef struct SabreState SabreState;
 
 #define TYPE_SABRE "sabre"
-#define SABRE_DEVICE(obj) \
-    OBJECT_CHECK(SabreState, (obj), TYPE_SABRE)
+DECLARE_INSTANCE_CHECKER(SabreState, SABRE_DEVICE,
+                         TYPE_SABRE)
 
 #endif
index 783e8905dfdcb964d350e3841d8a5fe8d241682e..0431ce10480441c650a65a7da019ef5840a75ebd 100644 (file)
@@ -29,8 +29,8 @@
 #define TYPE_SPAPR_PCI_HOST_BRIDGE "spapr-pci-host-bridge"
 
 typedef struct SpaprPhbState SpaprPhbState;
-#define SPAPR_PCI_HOST_BRIDGE(obj) \
-    OBJECT_CHECK(SpaprPhbState, (obj), TYPE_SPAPR_PCI_HOST_BRIDGE)
+DECLARE_INSTANCE_CHECKER(SpaprPhbState, SPAPR_PCI_HOST_BRIDGE,
+                         TYPE_SPAPR_PCI_HOST_BRIDGE)
 
 #define SPAPR_PCI_DMA_MAX_WINDOWS    2
 
index a1f3aaaecdbbaa98cfca7d94122028d13ef40855..d10c598298b5200673ff574a42094b7bb34e034c 100644 (file)
 #define TYPE_U3_AGP_HOST_BRIDGE "u3-agp-pcihost"
 
 typedef struct UNINHostState UNINHostState;
-#define UNI_NORTH_PCI_HOST_BRIDGE(obj) \
-    OBJECT_CHECK(UNINHostState, (obj), TYPE_UNI_NORTH_PCI_HOST_BRIDGE)
-#define UNI_NORTH_AGP_HOST_BRIDGE(obj) \
-    OBJECT_CHECK(UNINHostState, (obj), TYPE_UNI_NORTH_AGP_HOST_BRIDGE)
-#define UNI_NORTH_INTERNAL_PCI_HOST_BRIDGE(obj) \
-    OBJECT_CHECK(UNINHostState, (obj), TYPE_UNI_NORTH_INTERNAL_PCI_HOST_BRIDGE)
-#define U3_AGP_HOST_BRIDGE(obj) \
-    OBJECT_CHECK(UNINHostState, (obj), TYPE_U3_AGP_HOST_BRIDGE)
+DECLARE_INSTANCE_CHECKER(UNINHostState, UNI_NORTH_PCI_HOST_BRIDGE,
+                         TYPE_UNI_NORTH_PCI_HOST_BRIDGE)
+DECLARE_INSTANCE_CHECKER(UNINHostState, UNI_NORTH_AGP_HOST_BRIDGE,
+                         TYPE_UNI_NORTH_AGP_HOST_BRIDGE)
+DECLARE_INSTANCE_CHECKER(UNINHostState, UNI_NORTH_INTERNAL_PCI_HOST_BRIDGE,
+                         TYPE_UNI_NORTH_INTERNAL_PCI_HOST_BRIDGE)
+DECLARE_INSTANCE_CHECKER(UNINHostState, U3_AGP_HOST_BRIDGE,
+                         TYPE_U3_AGP_HOST_BRIDGE)
 
 struct UNINHostState {
     PCIHostState parent_obj;
@@ -66,7 +66,7 @@ struct UNINState {
 typedef struct UNINState UNINState;
 
 #define TYPE_UNI_NORTH "uni-north"
-#define UNI_NORTH(obj) \
-    OBJECT_CHECK(UNINState, (obj), TYPE_UNI_NORTH)
+DECLARE_INSTANCE_CHECKER(UNINState, UNI_NORTH,
+                         TYPE_UNI_NORTH)
 
 #endif /* UNINORTH_H */
index 1cbd6d2f794938343fb6089557134246c1250bd2..6058c8c9e2fdece7c872c4b772c21f0b7d144e4e 100644 (file)
 
 #define TYPE_XILINX_PCIE_HOST "xilinx-pcie-host"
 typedef struct XilinxPCIEHost XilinxPCIEHost;
-#define XILINX_PCIE_HOST(obj) \
-     OBJECT_CHECK(XilinxPCIEHost, (obj), TYPE_XILINX_PCIE_HOST)
+DECLARE_INSTANCE_CHECKER(XilinxPCIEHost, XILINX_PCIE_HOST,
+                         TYPE_XILINX_PCIE_HOST)
 
 #define TYPE_XILINX_PCIE_ROOT "xilinx-pcie-root"
 typedef struct XilinxPCIERoot XilinxPCIERoot;
-#define XILINX_PCIE_ROOT(obj) \
-     OBJECT_CHECK(XilinxPCIERoot, (obj), TYPE_XILINX_PCIE_ROOT)
+DECLARE_INSTANCE_CHECKER(XilinxPCIERoot, XILINX_PCIE_ROOT,
+                         TYPE_XILINX_PCIE_ROOT)
 
 struct XilinxPCIERoot {
     PCIBridge parent_obj;
index be9e298dbaa49422febe8f725b31b354cae5bff3..c13ae1f8580b9f2b60123e214ad032ffcf97fbfe 100644 (file)
@@ -197,12 +197,8 @@ enum {
 
 #define TYPE_PCI_DEVICE "pci-device"
 typedef struct PCIDeviceClass PCIDeviceClass;
-#define PCI_DEVICE(obj) \
-     OBJECT_CHECK(PCIDevice, (obj), TYPE_PCI_DEVICE)
-#define PCI_DEVICE_CLASS(klass) \
-     OBJECT_CLASS_CHECK(PCIDeviceClass, (klass), TYPE_PCI_DEVICE)
-#define PCI_DEVICE_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(PCIDeviceClass, (obj), TYPE_PCI_DEVICE)
+DECLARE_OBJ_CHECKERS(PCIDevice, PCIDeviceClass,
+                     PCI_DEVICE, TYPE_PCI_DEVICE)
 
 /* Implemented by devices that can be plugged on PCI Express buses */
 #define INTERFACE_PCIE_DEVICE "pci-express-device"
@@ -399,9 +395,8 @@ typedef PCIINTxRoute (*pci_route_irq_fn)(void *opaque, int pin);
 
 #define TYPE_PCI_BUS "PCI"
 typedef struct PCIBusClass PCIBusClass;
-#define PCI_BUS(obj) OBJECT_CHECK(PCIBus, (obj), TYPE_PCI_BUS)
-#define PCI_BUS_CLASS(klass) OBJECT_CLASS_CHECK(PCIBusClass, (klass), TYPE_PCI_BUS)
-#define PCI_BUS_GET_CLASS(obj) OBJECT_GET_CLASS(PCIBusClass, (obj), TYPE_PCI_BUS)
+DECLARE_OBJ_CHECKERS(PCIBus, PCIBusClass,
+                     PCI_BUS, TYPE_PCI_BUS)
 #define TYPE_PCIE_BUS "PCIE"
 
 bool pci_bus_is_express(PCIBus *bus);
index b46d37faa833cd812abff45515ea450133a7b320..7ab145955a971e47641770bfe097bc058a1f48d1 100644 (file)
@@ -51,7 +51,8 @@ struct PCIBridgeWindows {
 };
 
 #define TYPE_PCI_BRIDGE "base-pci-bridge"
-#define PCI_BRIDGE(obj) OBJECT_CHECK(PCIBridge, (obj), TYPE_PCI_BRIDGE)
+DECLARE_INSTANCE_CHECKER(PCIBridge, PCI_BRIDGE,
+                         TYPE_PCI_BRIDGE)
 
 struct PCIBridge {
     /*< private >*/
index 51ea53908f0ba5abb897436199764196b4110f9a..d1fc1c3604a21b390f6bc2bb12078c035fd405a8 100644 (file)
 
 #define TYPE_PCI_HOST_BRIDGE "pci-host-bridge"
 typedef struct PCIHostBridgeClass PCIHostBridgeClass;
-#define PCI_HOST_BRIDGE(obj) \
-    OBJECT_CHECK(PCIHostState, (obj), TYPE_PCI_HOST_BRIDGE)
-#define PCI_HOST_BRIDGE_CLASS(klass) \
-     OBJECT_CLASS_CHECK(PCIHostBridgeClass, (klass), TYPE_PCI_HOST_BRIDGE)
-#define PCI_HOST_BRIDGE_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(PCIHostBridgeClass, (obj), TYPE_PCI_HOST_BRIDGE)
+DECLARE_OBJ_CHECKERS(PCIHostState, PCIHostBridgeClass,
+                     PCI_HOST_BRIDGE, TYPE_PCI_HOST_BRIDGE)
 
 struct PCIHostState {
     SysBusDevice busdev;
index c7d2ae5bf40ff4071ca350d9b00944ac91f006a6..f512646c0c903784dc1f4186ce954a7f3a15d3fa 100644 (file)
@@ -26,8 +26,8 @@
 #include "qom/object.h"
 
 #define TYPE_PCIE_HOST_BRIDGE "pcie-host-bridge"
-#define PCIE_HOST_BRIDGE(obj) \
-    OBJECT_CHECK(PCIExpressHost, (obj), TYPE_PCIE_HOST_BRIDGE)
+DECLARE_INSTANCE_CHECKER(PCIExpressHost, PCIE_HOST_BRIDGE,
+                         TYPE_PCIE_HOST_BRIDGE)
 
 #define PCIE_HOST_MCFG_BASE "MCFG"
 #define PCIE_HOST_MCFG_SIZE "mcfg_size"
index 765399159f6815f43691872b029cd380010772b1..2463c07fa76ed75ef64569003f69308fe975d31f 100644 (file)
@@ -26,7 +26,8 @@
 #include "qom/object.h"
 
 #define TYPE_PCIE_PORT "pcie-port"
-#define PCIE_PORT(obj) OBJECT_CHECK(PCIEPort, (obj), TYPE_PCIE_PORT)
+DECLARE_INSTANCE_CHECKER(PCIEPort, PCIE_PORT,
+                         TYPE_PCIE_PORT)
 
 struct PCIEPort {
     /*< private >*/
@@ -40,7 +41,8 @@ struct PCIEPort {
 void pcie_port_init_reg(PCIDevice *d);
 
 #define TYPE_PCIE_SLOT "pcie-slot"
-#define PCIE_SLOT(obj) OBJECT_CHECK(PCIESlot, (obj), TYPE_PCIE_SLOT)
+DECLARE_INSTANCE_CHECKER(PCIESlot, PCIE_SLOT,
+                         TYPE_PCIE_SLOT)
 
 struct PCIESlot {
     /*< private >*/
@@ -69,10 +71,8 @@ void pcie_chassis_del_slot(PCIESlot *s);
 
 #define TYPE_PCIE_ROOT_PORT         "pcie-root-port-base"
 typedef struct PCIERootPortClass PCIERootPortClass;
-#define PCIE_ROOT_PORT_CLASS(klass) \
-     OBJECT_CLASS_CHECK(PCIERootPortClass, (klass), TYPE_PCIE_ROOT_PORT)
-#define PCIE_ROOT_PORT_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(PCIERootPortClass, (obj), TYPE_PCIE_ROOT_PORT)
+DECLARE_CLASS_CHECKERS(PCIERootPortClass, PCIE_ROOT_PORT,
+                       TYPE_PCIE_ROOT_PORT)
 
 struct PCIERootPortClass {
     PCIDeviceClass parent_class;
index 0f9e41db02e20ecb0a64e1e0a6d03496f46de389..fb40ae7e0949575845fb2e1ea8c3798e7ab05194 100644 (file)
@@ -14,12 +14,8 @@ typedef struct PCMCIASocket {
 #define TYPE_PCMCIA_CARD "pcmcia-card"
 typedef struct PCMCIACardClass PCMCIACardClass;
 typedef struct PCMCIACardState PCMCIACardState;
-#define PCMCIA_CARD(obj) \
-    OBJECT_CHECK(PCMCIACardState, (obj), TYPE_PCMCIA_CARD)
-#define PCMCIA_CARD_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(PCMCIACardClass, obj, TYPE_PCMCIA_CARD)
-#define PCMCIA_CARD_CLASS(cls) \
-    OBJECT_CLASS_CHECK(PCMCIACardClass, cls, TYPE_PCMCIA_CARD)
+DECLARE_OBJ_CHECKERS(PCMCIACardState, PCMCIACardClass,
+                     PCMCIA_CARD, TYPE_PCMCIA_CARD)
 
 struct PCMCIACardState {
     /*< private >*/
index cda1346a4f0b318fc8a7e5d13a3640274c0257b1..0d035e1b71d7ed7065601234f5840cd7c1c2b715 100644 (file)
@@ -28,8 +28,8 @@
 typedef struct PlatformBusDevice PlatformBusDevice;
 
 #define TYPE_PLATFORM_BUS_DEVICE "platform-bus-device"
-#define PLATFORM_BUS_DEVICE(obj) \
-     OBJECT_CHECK(PlatformBusDevice, (obj), TYPE_PLATFORM_BUS_DEVICE)
+DECLARE_INSTANCE_CHECKER(PlatformBusDevice, PLATFORM_BUS_DEVICE,
+                         TYPE_PLATFORM_BUS_DEVICE)
 
 struct PlatformBusDevice {
     /*< private >*/
index e1f42cdbd3bfc5defc94339270fc27f636f06688..9166d5f75818d29bed4769ea91c911407da58e3b 100644 (file)
@@ -178,6 +178,7 @@ void DBDMA_register_channel(void *dbdma, int nchan, qemu_irq irq,
 void DBDMA_kick(DBDMAState *dbdma);
 
 #define TYPE_MAC_DBDMA "mac-dbdma"
-#define MAC_DBDMA(obj) OBJECT_CHECK(DBDMAState, (obj), TYPE_MAC_DBDMA)
+DECLARE_INSTANCE_CHECKER(DBDMAState, MAC_DBDMA,
+                         TYPE_MAC_DBDMA)
 
 #endif
index 81a0b3b1eee04249c3c9958500c38b5151d6d562..61908c7858ab25059290900c46cd7c508e36d835 100644 (file)
@@ -138,7 +138,8 @@ typedef struct IRQDest {
 
 #define TYPE_OPENPIC "openpic"
 typedef struct OpenPICState OpenPICState;
-#define OPENPIC(obj) OBJECT_CHECK(OpenPICState, (obj), TYPE_OPENPIC)
+DECLARE_INSTANCE_CHECKER(OpenPICState, OPENPIC,
+                         TYPE_OPENPIC)
 
 struct OpenPICState {
     /*< private >*/
index 64f9ee88675f81ec2a4c46ecae6f99eeb6bf75c0..f3bacb6a5c2cf84e6d1bff5e3da6b1214e845fcb 100644 (file)
 #define TYPE_PNV_CHIP "pnv-chip"
 typedef struct PnvChip PnvChip;
 typedef struct PnvChipClass PnvChipClass;
-#define PNV_CHIP(obj) OBJECT_CHECK(PnvChip, (obj), TYPE_PNV_CHIP)
-#define PNV_CHIP_CLASS(klass) \
-     OBJECT_CLASS_CHECK(PnvChipClass, (klass), TYPE_PNV_CHIP)
-#define PNV_CHIP_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(PnvChipClass, (obj), TYPE_PNV_CHIP)
+DECLARE_OBJ_CHECKERS(PnvChip, PnvChipClass,
+                     PNV_CHIP, TYPE_PNV_CHIP)
 
 struct PnvChip {
     /*< private >*/
@@ -68,7 +65,8 @@ struct PnvChip {
 
 #define TYPE_PNV8_CHIP "pnv8-chip"
 typedef struct Pnv8Chip Pnv8Chip;
-#define PNV8_CHIP(obj) OBJECT_CHECK(Pnv8Chip, (obj), TYPE_PNV8_CHIP)
+DECLARE_INSTANCE_CHECKER(Pnv8Chip, PNV8_CHIP,
+                         TYPE_PNV8_CHIP)
 
 struct Pnv8Chip {
     /*< private >*/
@@ -90,7 +88,8 @@ struct Pnv8Chip {
 
 #define TYPE_PNV9_CHIP "pnv9-chip"
 typedef struct Pnv9Chip Pnv9Chip;
-#define PNV9_CHIP(obj) OBJECT_CHECK(Pnv9Chip, (obj), TYPE_PNV9_CHIP)
+DECLARE_INSTANCE_CHECKER(Pnv9Chip, PNV9_CHIP,
+                         TYPE_PNV9_CHIP)
 
 struct Pnv9Chip {
     /*< private >*/
@@ -118,7 +117,8 @@ struct Pnv9Chip {
 
 #define TYPE_PNV10_CHIP "pnv10-chip"
 typedef struct Pnv10Chip Pnv10Chip;
-#define PNV10_CHIP(obj) OBJECT_CHECK(Pnv10Chip, (obj), TYPE_PNV10_CHIP)
+DECLARE_INSTANCE_CHECKER(Pnv10Chip, PNV10_CHIP,
+                         TYPE_PNV10_CHIP)
 
 struct Pnv10Chip {
     /*< private >*/
@@ -156,24 +156,24 @@ struct PnvChipClass {
 #define PNV_CHIP_TYPE_NAME(cpu_model) cpu_model PNV_CHIP_TYPE_SUFFIX
 
 #define TYPE_PNV_CHIP_POWER8E PNV_CHIP_TYPE_NAME("power8e_v2.1")
-#define PNV_CHIP_POWER8E(obj) \
-    OBJECT_CHECK(PnvChip, (obj), TYPE_PNV_CHIP_POWER8E)
+DECLARE_INSTANCE_CHECKER(PnvChip, PNV_CHIP_POWER8E,
+                         TYPE_PNV_CHIP_POWER8E)
 
 #define TYPE_PNV_CHIP_POWER8 PNV_CHIP_TYPE_NAME("power8_v2.0")
-#define PNV_CHIP_POWER8(obj) \
-    OBJECT_CHECK(PnvChip, (obj), TYPE_PNV_CHIP_POWER8)
+DECLARE_INSTANCE_CHECKER(PnvChip, PNV_CHIP_POWER8,
+                         TYPE_PNV_CHIP_POWER8)
 
 #define TYPE_PNV_CHIP_POWER8NVL PNV_CHIP_TYPE_NAME("power8nvl_v1.0")
-#define PNV_CHIP_POWER8NVL(obj) \
-    OBJECT_CHECK(PnvChip, (obj), TYPE_PNV_CHIP_POWER8NVL)
+DECLARE_INSTANCE_CHECKER(PnvChip, PNV_CHIP_POWER8NVL,
+                         TYPE_PNV_CHIP_POWER8NVL)
 
 #define TYPE_PNV_CHIP_POWER9 PNV_CHIP_TYPE_NAME("power9_v2.0")
-#define PNV_CHIP_POWER9(obj) \
-    OBJECT_CHECK(PnvChip, (obj), TYPE_PNV_CHIP_POWER9)
+DECLARE_INSTANCE_CHECKER(PnvChip, PNV_CHIP_POWER9,
+                         TYPE_PNV_CHIP_POWER9)
 
 #define TYPE_PNV_CHIP_POWER10 PNV_CHIP_TYPE_NAME("power10_v1.0")
-#define PNV_CHIP_POWER10(obj) \
-    OBJECT_CHECK(PnvChip, (obj), TYPE_PNV_CHIP_POWER10)
+DECLARE_INSTANCE_CHECKER(PnvChip, PNV_CHIP_POWER10,
+                         TYPE_PNV_CHIP_POWER10)
 
 /*
  * This generates a HW chip id depending on an index, as found on a
@@ -199,12 +199,8 @@ PowerPCCPU *pnv_chip_find_cpu(PnvChip *chip, uint32_t pir);
 #define TYPE_PNV_MACHINE       MACHINE_TYPE_NAME("powernv")
 typedef struct PnvMachineClass PnvMachineClass;
 typedef struct PnvMachineState PnvMachineState;
-#define PNV_MACHINE(obj) \
-    OBJECT_CHECK(PnvMachineState, (obj), TYPE_PNV_MACHINE)
-#define PNV_MACHINE_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(PnvMachineClass, obj, TYPE_PNV_MACHINE)
-#define PNV_MACHINE_CLASS(klass) \
-    OBJECT_CLASS_CHECK(PnvMachineClass, klass, TYPE_PNV_MACHINE)
+DECLARE_OBJ_CHECKERS(PnvMachineState, PnvMachineClass,
+                     PNV_MACHINE, TYPE_PNV_MACHINE)
 
 
 struct PnvMachineClass {
index 2d91a7d519ab646494ed3250c64994affcbba82f..fd17a236e3a29be681069f32f4a5dbf35b3fe6ed 100644 (file)
 #define TYPE_PNV_CORE "powernv-cpu-core"
 typedef struct PnvCore PnvCore;
 typedef struct PnvCoreClass PnvCoreClass;
-#define PNV_CORE(obj) \
-    OBJECT_CHECK(PnvCore, (obj), TYPE_PNV_CORE)
-#define PNV_CORE_CLASS(klass) \
-     OBJECT_CLASS_CHECK(PnvCoreClass, (klass), TYPE_PNV_CORE)
-#define PNV_CORE_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(PnvCoreClass, (obj), TYPE_PNV_CORE)
+DECLARE_OBJ_CHECKERS(PnvCore, PnvCoreClass,
+                     PNV_CORE, TYPE_PNV_CORE)
 
 typedef struct PnvChip PnvChip;
 
@@ -69,8 +65,8 @@ static inline PnvCPUState *pnv_cpu_state(PowerPCCPU *cpu)
 
 #define TYPE_PNV_QUAD "powernv-cpu-quad"
 typedef struct PnvQuad PnvQuad;
-#define PNV_QUAD(obj) \
-    OBJECT_CHECK(PnvQuad, (obj), TYPE_PNV_QUAD)
+DECLARE_INSTANCE_CHECKER(PnvQuad, PNV_QUAD,
+                         TYPE_PNV_QUAD)
 
 struct PnvQuad {
     DeviceState parent_obj;
index bedba94e18cee822393fbc1bd611c3648cd2595a..7aadcab03cbe1152ab35d652082a79f149986817 100644 (file)
 #define TYPE_PNV_HOMER "pnv-homer"
 typedef struct PnvHomer PnvHomer;
 typedef struct PnvHomerClass PnvHomerClass;
-#define PNV_HOMER(obj) OBJECT_CHECK(PnvHomer, (obj), TYPE_PNV_HOMER)
+DECLARE_OBJ_CHECKERS(PnvHomer, PnvHomerClass,
+                     PNV_HOMER, TYPE_PNV_HOMER)
 #define TYPE_PNV8_HOMER TYPE_PNV_HOMER "-POWER8"
-#define PNV8_HOMER(obj) OBJECT_CHECK(PnvHomer, (obj), TYPE_PNV8_HOMER)
+DECLARE_INSTANCE_CHECKER(PnvHomer, PNV8_HOMER,
+                         TYPE_PNV8_HOMER)
 #define TYPE_PNV9_HOMER TYPE_PNV_HOMER "-POWER9"
-#define PNV9_HOMER(obj) OBJECT_CHECK(PnvHomer, (obj), TYPE_PNV9_HOMER)
+DECLARE_INSTANCE_CHECKER(PnvHomer, PNV9_HOMER,
+                         TYPE_PNV9_HOMER)
 
 struct PnvHomer {
     DeviceState parent;
@@ -40,10 +43,6 @@ struct PnvHomer {
     MemoryRegion regs;
 };
 
-#define PNV_HOMER_CLASS(klass)   \
-     OBJECT_CLASS_CHECK(PnvHomerClass, (klass), TYPE_PNV_HOMER)
-#define PNV_HOMER_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(PnvHomerClass, (obj), TYPE_PNV_HOMER)
 
 struct PnvHomerClass {
     DeviceClass parent_class;
index 50d92517f22509eea51cb3a0cbf60dda84291bab..cd3c13c2a87e0dedfd22c1c1ea9dfb4edbd6352d 100644 (file)
 #define TYPE_PNV_LPC "pnv-lpc"
 typedef struct PnvLpcClass PnvLpcClass;
 typedef struct PnvLpcController PnvLpcController;
-#define PNV_LPC(obj) \
-     OBJECT_CHECK(PnvLpcController, (obj), TYPE_PNV_LPC)
+DECLARE_OBJ_CHECKERS(PnvLpcController, PnvLpcClass,
+                     PNV_LPC, TYPE_PNV_LPC)
 #define TYPE_PNV8_LPC TYPE_PNV_LPC "-POWER8"
-#define PNV8_LPC(obj) OBJECT_CHECK(PnvLpcController, (obj), TYPE_PNV8_LPC)
+DECLARE_INSTANCE_CHECKER(PnvLpcController, PNV8_LPC,
+                         TYPE_PNV8_LPC)
 
 #define TYPE_PNV9_LPC TYPE_PNV_LPC "-POWER9"
-#define PNV9_LPC(obj) OBJECT_CHECK(PnvLpcController, (obj), TYPE_PNV9_LPC)
+DECLARE_INSTANCE_CHECKER(PnvLpcController, PNV9_LPC,
+                         TYPE_PNV9_LPC)
 
 #define TYPE_PNV10_LPC TYPE_PNV_LPC "-POWER10"
-#define PNV10_LPC(obj) OBJECT_CHECK(PnvLpcController, (obj), TYPE_PNV10_LPC)
+DECLARE_INSTANCE_CHECKER(PnvLpcController, PNV10_LPC,
+                         TYPE_PNV10_LPC)
 
 struct PnvLpcController {
     DeviceState parent;
@@ -84,10 +87,6 @@ struct PnvLpcController {
     PnvPsi *psi;
 };
 
-#define PNV_LPC_CLASS(klass) \
-     OBJECT_CLASS_CHECK(PnvLpcClass, (klass), TYPE_PNV_LPC)
-#define PNV_LPC_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(PnvLpcClass, (obj), TYPE_PNV_LPC)
 
 struct PnvLpcClass {
     DeviceClass parent_class;
index 30a9faea781839808a86a1354f2e86ed1c25ebd4..4fcfb32417ec82ba55f75b666eba73d739798719 100644 (file)
 #define TYPE_PNV_OCC "pnv-occ"
 typedef struct PnvOCC PnvOCC;
 typedef struct PnvOCCClass PnvOCCClass;
-#define PNV_OCC(obj) OBJECT_CHECK(PnvOCC, (obj), TYPE_PNV_OCC)
+DECLARE_OBJ_CHECKERS(PnvOCC, PnvOCCClass,
+                     PNV_OCC, TYPE_PNV_OCC)
 #define TYPE_PNV8_OCC TYPE_PNV_OCC "-POWER8"
-#define PNV8_OCC(obj) OBJECT_CHECK(PnvOCC, (obj), TYPE_PNV8_OCC)
+DECLARE_INSTANCE_CHECKER(PnvOCC, PNV8_OCC,
+                         TYPE_PNV8_OCC)
 #define TYPE_PNV9_OCC TYPE_PNV_OCC "-POWER9"
-#define PNV9_OCC(obj) OBJECT_CHECK(PnvOCC, (obj), TYPE_PNV9_OCC)
+DECLARE_INSTANCE_CHECKER(PnvOCC, PNV9_OCC,
+                         TYPE_PNV9_OCC)
 
 #define PNV_OCC_SENSOR_DATA_BLOCK_OFFSET 0x00580000
 #define PNV_OCC_SENSOR_DATA_BLOCK_SIZE   0x00025800
@@ -47,10 +50,6 @@ struct PnvOCC {
     MemoryRegion sram_regs;
 };
 
-#define PNV_OCC_CLASS(klass) \
-     OBJECT_CLASS_CHECK(PnvOCCClass, (klass), TYPE_PNV_OCC)
-#define PNV_OCC_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(PnvOCCClass, (obj), TYPE_PNV_OCC)
 
 struct PnvOCCClass {
     DeviceClass parent_class;
index 8b27bf111c15f6b756f2b69dd0652da02a74be20..1ec4098bb949d2130182d801a01d8fda06171ef8 100644 (file)
@@ -17,7 +17,8 @@
 
 #define TYPE_PNV_PNOR  "pnv-pnor"
 typedef struct PnvPnor PnvPnor;
-#define PNV_PNOR(obj)  OBJECT_CHECK(PnvPnor, (obj), TYPE_PNV_PNOR)
+DECLARE_INSTANCE_CHECKER(PnvPnor, PNV_PNOR,
+                         TYPE_PNV_PNOR)
 
 struct PnvPnor {
     SysBusDevice   parent_obj;
index 060a7a110c52de2560262487f9998e009ac99d67..a33195df179cce24d9b79affa15433c5b5f3fc67 100644 (file)
@@ -28,8 +28,8 @@
 #define TYPE_PNV_PSI "pnv-psi"
 typedef struct PnvPsi PnvPsi;
 typedef struct PnvPsiClass PnvPsiClass;
-#define PNV_PSI(obj) \
-     OBJECT_CHECK(PnvPsi, (obj), TYPE_PNV_PSI)
+DECLARE_OBJ_CHECKERS(PnvPsi, PnvPsiClass,
+                     PNV_PSI, TYPE_PNV_PSI)
 
 #define PSIHB_XSCOM_MAX         0x20
 
@@ -54,8 +54,8 @@ struct PnvPsi {
 
 #define TYPE_PNV8_PSI TYPE_PNV_PSI "-POWER8"
 typedef struct Pnv8Psi Pnv8Psi;
-#define PNV8_PSI(obj) \
-    OBJECT_CHECK(Pnv8Psi, (obj), TYPE_PNV8_PSI)
+DECLARE_INSTANCE_CHECKER(Pnv8Psi, PNV8_PSI,
+                         TYPE_PNV8_PSI)
 
 struct Pnv8Psi {
     PnvPsi   parent;
@@ -65,8 +65,8 @@ struct Pnv8Psi {
 
 #define TYPE_PNV9_PSI TYPE_PNV_PSI "-POWER9"
 typedef struct Pnv9Psi Pnv9Psi;
-#define PNV9_PSI(obj) \
-    OBJECT_CHECK(Pnv9Psi, (obj), TYPE_PNV9_PSI)
+DECLARE_INSTANCE_CHECKER(Pnv9Psi, PNV9_PSI,
+                         TYPE_PNV9_PSI)
 
 struct Pnv9Psi {
     PnvPsi   parent;
@@ -76,10 +76,6 @@ struct Pnv9Psi {
 
 #define TYPE_PNV10_PSI TYPE_PNV_PSI "-POWER10"
 
-#define PNV_PSI_CLASS(klass) \
-     OBJECT_CLASS_CHECK(PnvPsiClass, (klass), TYPE_PNV_PSI)
-#define PNV_PSI_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(PnvPsiClass, (obj), TYPE_PNV_PSI)
 
 struct PnvPsiClass {
     SysBusDeviceClass parent_class;
index 24c37de184d295b94c92610a2bb64dca3df83431..a014e2a726de71939084b46d0bd814a5d97028dc 100644 (file)
@@ -18,11 +18,8 @@ struct PnvChip;
 #define TYPE_PNV_XIVE "pnv-xive"
 typedef struct PnvXive PnvXive;
 typedef struct PnvXiveClass PnvXiveClass;
-#define PNV_XIVE(obj) OBJECT_CHECK(PnvXive, (obj), TYPE_PNV_XIVE)
-#define PNV_XIVE_CLASS(klass)                                   \
-    OBJECT_CLASS_CHECK(PnvXiveClass, (klass), TYPE_PNV_XIVE)
-#define PNV_XIVE_GET_CLASS(obj)                                 \
-    OBJECT_GET_CLASS(PnvXiveClass, (obj), TYPE_PNV_XIVE)
+DECLARE_OBJ_CHECKERS(PnvXive, PnvXiveClass,
+                     PNV_XIVE, TYPE_PNV_XIVE)
 
 #define XIVE_BLOCK_MAX      16
 
index fb9b97f5bef99ab328a23fcbc8e049c35d6820e7..7e3b189c079328357f23f6849e28e2e80e4dfc2d 100644 (file)
@@ -28,11 +28,8 @@ typedef struct PnvXScomInterface PnvXScomInterface;
 #define PNV_XSCOM_INTERFACE(obj) \
     INTERFACE_CHECK(PnvXScomInterface, (obj), TYPE_PNV_XSCOM_INTERFACE)
 typedef struct PnvXScomInterfaceClass PnvXScomInterfaceClass;
-#define PNV_XSCOM_INTERFACE_CLASS(klass)                \
-    OBJECT_CLASS_CHECK(PnvXScomInterfaceClass, (klass), \
+DECLARE_CLASS_CHECKERS(PnvXScomInterfaceClass, PNV_XSCOM_INTERFACE,
                        TYPE_PNV_XSCOM_INTERFACE)
-#define PNV_XSCOM_INTERFACE_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(PnvXScomInterfaceClass, (obj), TYPE_PNV_XSCOM_INTERFACE)
 
 struct PnvXScomInterfaceClass {
     InterfaceClass parent;
index c0be8980c7747e96adbd3998f4d61d6bf7da8f75..c8cd63bc06673702612b8c83442ae3701359a0ac 100644 (file)
@@ -29,8 +29,8 @@ typedef struct SpaprPendingHpt SpaprPendingHpt;
 #define TYPE_SPAPR_RTC "spapr-rtc"
 
 typedef struct SpaprRtcState SpaprRtcState;
-#define SPAPR_RTC(obj)                                  \
-    OBJECT_CHECK(SpaprRtcState, (obj), TYPE_SPAPR_RTC)
+DECLARE_INSTANCE_CHECKER(SpaprRtcState, SPAPR_RTC,
+                         TYPE_SPAPR_RTC)
 
 struct SpaprRtcState {
     /*< private >*/
@@ -43,12 +43,8 @@ typedef struct SpaprMachineClass SpaprMachineClass;
 
 #define TYPE_SPAPR_MACHINE      "spapr-machine"
 typedef struct SpaprMachineState SpaprMachineState;
-#define SPAPR_MACHINE(obj) \
-    OBJECT_CHECK(SpaprMachineState, (obj), TYPE_SPAPR_MACHINE)
-#define SPAPR_MACHINE_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(SpaprMachineClass, obj, TYPE_SPAPR_MACHINE)
-#define SPAPR_MACHINE_CLASS(klass) \
-    OBJECT_CLASS_CHECK(SpaprMachineClass, klass, TYPE_SPAPR_MACHINE)
+DECLARE_OBJ_CHECKERS(SpaprMachineState, SpaprMachineClass,
+                     SPAPR_MACHINE, TYPE_SPAPR_MACHINE)
 
 typedef enum {
     SPAPR_RESIZE_HPT_DEFAULT = 0,
@@ -791,12 +787,12 @@ static inline void spapr_dt_irq(uint32_t *intspec, int irq, bool is_lsi)
 typedef struct SpaprTceTable SpaprTceTable;
 
 #define TYPE_SPAPR_TCE_TABLE "spapr-tce-table"
-#define SPAPR_TCE_TABLE(obj) \
-    OBJECT_CHECK(SpaprTceTable, (obj), TYPE_SPAPR_TCE_TABLE)
+DECLARE_INSTANCE_CHECKER(SpaprTceTable, SPAPR_TCE_TABLE,
+                         TYPE_SPAPR_TCE_TABLE)
 
 #define TYPE_SPAPR_IOMMU_MEMORY_REGION "spapr-iommu-memory-region"
-#define SPAPR_IOMMU_MEMORY_REGION(obj) \
-        OBJECT_CHECK(IOMMUMemoryRegion, (obj), TYPE_SPAPR_IOMMU_MEMORY_REGION)
+DECLARE_INSTANCE_CHECKER(IOMMUMemoryRegion, SPAPR_IOMMU_MEMORY_REGION,
+                         TYPE_SPAPR_IOMMU_MEMORY_REGION)
 
 struct SpaprTceTable {
     DeviceState parent;
index adcf74dbc3e2bdc95a9b0df64c6cb5fac3ae85a2..fba6a01050849aec22518e0dcec9ea7811f30a1c 100644 (file)
 #define TYPE_SPAPR_CPU_CORE "spapr-cpu-core"
 typedef struct SpaprCpuCore SpaprCpuCore;
 typedef struct SpaprCpuCoreClass SpaprCpuCoreClass;
-#define SPAPR_CPU_CORE(obj) \
-    OBJECT_CHECK(SpaprCpuCore, (obj), TYPE_SPAPR_CPU_CORE)
-#define SPAPR_CPU_CORE_CLASS(klass) \
-    OBJECT_CLASS_CHECK(SpaprCpuCoreClass, (klass), TYPE_SPAPR_CPU_CORE)
-#define SPAPR_CPU_CORE_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(SpaprCpuCoreClass, (obj), TYPE_SPAPR_CPU_CORE)
+DECLARE_OBJ_CHECKERS(SpaprCpuCore, SpaprCpuCoreClass,
+                     SPAPR_CPU_CORE, TYPE_SPAPR_CPU_CORE)
 
 #define SPAPR_CPU_CORE_TYPE_NAME(model) model "-" TYPE_SPAPR_CPU_CORE
 
index 83addd0a0beb77ae412c9ad69f935b798b6e87fd..c22a72c9e27050c294230c44763c855b174815e6 100644 (file)
@@ -37,10 +37,8 @@ typedef struct SpaprInterruptController SpaprInterruptController;
 #define SPAPR_INTC(obj)                                     \
     INTERFACE_CHECK(SpaprInterruptController, (obj), TYPE_SPAPR_INTC)
 typedef struct SpaprInterruptControllerClass SpaprInterruptControllerClass;
-#define SPAPR_INTC_CLASS(klass)                                     \
-    OBJECT_CLASS_CHECK(SpaprInterruptControllerClass, (klass), TYPE_SPAPR_INTC)
-#define SPAPR_INTC_GET_CLASS(obj)                                   \
-    OBJECT_GET_CLASS(SpaprInterruptControllerClass, (obj), TYPE_SPAPR_INTC)
+DECLARE_CLASS_CHECKERS(SpaprInterruptControllerClass, SPAPR_INTC,
+                       TYPE_SPAPR_INTC)
 
 struct SpaprInterruptControllerClass {
     InterfaceClass parent;
index 1e9890d978b59e99a6fd29508e46c56240cf46a7..300c81b1f090e9349b65d352db5926c9c1bd7517 100644 (file)
@@ -18,8 +18,8 @@
 
 #define TYPE_SPAPR_TPM_PROXY "spapr-tpm-proxy"
 typedef struct SpaprTpmProxy SpaprTpmProxy;
-#define SPAPR_TPM_PROXY(obj) OBJECT_CHECK(SpaprTpmProxy, (obj), \
-                                          TYPE_SPAPR_TPM_PROXY)
+DECLARE_INSTANCE_CHECKER(SpaprTpmProxy, SPAPR_TPM_PROXY,
+                         TYPE_SPAPR_TPM_PROXY)
 
 struct SpaprTpmProxy {
     /*< private >*/
index 9c9d14e63b4e4fcebe53ffca27924aedf0527723..e289028634b359dcff1c13fa56712cda2c81ce68 100644 (file)
 #define TYPE_VIO_SPAPR_DEVICE "vio-spapr-device"
 typedef struct SpaprVioDevice SpaprVioDevice;
 typedef struct SpaprVioDeviceClass SpaprVioDeviceClass;
-#define VIO_SPAPR_DEVICE(obj) \
-     OBJECT_CHECK(SpaprVioDevice, (obj), TYPE_VIO_SPAPR_DEVICE)
-#define VIO_SPAPR_DEVICE_CLASS(klass) \
-     OBJECT_CLASS_CHECK(SpaprVioDeviceClass, (klass), TYPE_VIO_SPAPR_DEVICE)
-#define VIO_SPAPR_DEVICE_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(SpaprVioDeviceClass, (obj), TYPE_VIO_SPAPR_DEVICE)
+DECLARE_OBJ_CHECKERS(SpaprVioDevice, SpaprVioDeviceClass,
+                     VIO_SPAPR_DEVICE, TYPE_VIO_SPAPR_DEVICE)
 
 #define TYPE_SPAPR_VIO_BUS "spapr-vio-bus"
 typedef struct SpaprVioBus SpaprVioBus;
-#define SPAPR_VIO_BUS(obj) OBJECT_CHECK(SpaprVioBus, (obj), TYPE_SPAPR_VIO_BUS)
+DECLARE_INSTANCE_CHECKER(SpaprVioBus, SPAPR_VIO_BUS,
+                         TYPE_SPAPR_VIO_BUS)
 
 #define TYPE_SPAPR_VIO_BRIDGE "spapr-vio-bridge"
 
index e5f48faba0379ffc99764b617960cfc0867d47bb..bcb584b90de5e96d7b6233d18cb0526ca08809c4 100644 (file)
@@ -50,15 +50,13 @@ typedef struct ICSIRQState ICSIRQState;
 typedef struct XICSFabric XICSFabric;
 
 #define TYPE_ICP "icp"
-#define ICP(obj) OBJECT_CHECK(ICPState, (obj), TYPE_ICP)
+DECLARE_OBJ_CHECKERS(ICPState, ICPStateClass,
+                     ICP, TYPE_ICP)
 
 #define TYPE_PNV_ICP "pnv-icp"
-#define PNV_ICP(obj) OBJECT_CHECK(PnvICPState, (obj), TYPE_PNV_ICP)
+DECLARE_INSTANCE_CHECKER(PnvICPState, PNV_ICP,
+                         TYPE_PNV_ICP)
 
-#define ICP_CLASS(klass) \
-     OBJECT_CLASS_CHECK(ICPStateClass, (klass), TYPE_ICP)
-#define ICP_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(ICPStateClass, (obj), TYPE_ICP)
 
 struct ICPStateClass {
     DeviceClass parent_class;
@@ -91,12 +89,9 @@ struct PnvICPState {
 };
 
 #define TYPE_ICS "ics"
-#define ICS(obj) OBJECT_CHECK(ICSState, (obj), TYPE_ICS)
+DECLARE_OBJ_CHECKERS(ICSState, ICSStateClass,
+                     ICS, TYPE_ICS)
 
-#define ICS_CLASS(klass) \
-     OBJECT_CLASS_CHECK(ICSStateClass, (klass), TYPE_ICS)
-#define ICS_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(ICSStateClass, (obj), TYPE_ICS)
 
 struct ICSStateClass {
     DeviceClass parent_class;
@@ -147,10 +142,8 @@ struct ICSIRQState {
 #define XICS_FABRIC(obj)                                     \
     INTERFACE_CHECK(XICSFabric, (obj), TYPE_XICS_FABRIC)
 typedef struct XICSFabricClass XICSFabricClass;
-#define XICS_FABRIC_CLASS(klass)                                     \
-    OBJECT_CLASS_CHECK(XICSFabricClass, (klass), TYPE_XICS_FABRIC)
-#define XICS_FABRIC_GET_CLASS(obj)                                   \
-    OBJECT_GET_CLASS(XICSFabricClass, (obj), TYPE_XICS_FABRIC)
+DECLARE_CLASS_CHECKERS(XICSFabricClass, XICS_FABRIC,
+                       TYPE_XICS_FABRIC)
 
 struct XICSFabricClass {
     InterfaceClass parent;
index 8ef9af1969e80414d023183fe6090dce224bc2e1..48595ab641a50a2f4c3e70b2e193daa9def2351c 100644 (file)
@@ -155,10 +155,8 @@ typedef struct XiveNotifier XiveNotifier;
 #define XIVE_NOTIFIER(obj)                                     \
     INTERFACE_CHECK(XiveNotifier, (obj), TYPE_XIVE_NOTIFIER)
 typedef struct XiveNotifierClass XiveNotifierClass;
-#define XIVE_NOTIFIER_CLASS(klass)                                     \
-    OBJECT_CLASS_CHECK(XiveNotifierClass, (klass), TYPE_XIVE_NOTIFIER)
-#define XIVE_NOTIFIER_GET_CLASS(obj)                                   \
-    OBJECT_GET_CLASS(XiveNotifierClass, (obj), TYPE_XIVE_NOTIFIER)
+DECLARE_CLASS_CHECKERS(XiveNotifierClass, XIVE_NOTIFIER,
+                       TYPE_XIVE_NOTIFIER)
 
 struct XiveNotifierClass {
     InterfaceClass parent;
@@ -171,7 +169,8 @@ struct XiveNotifierClass {
 
 #define TYPE_XIVE_SOURCE "xive-source"
 typedef struct XiveSource XiveSource;
-#define XIVE_SOURCE(obj) OBJECT_CHECK(XiveSource, (obj), TYPE_XIVE_SOURCE)
+DECLARE_INSTANCE_CHECKER(XiveSource, XIVE_SOURCE,
+                         TYPE_XIVE_SOURCE)
 
 /*
  * XIVE Interrupt Source characteristics, which define how the ESB are
@@ -308,7 +307,8 @@ void xive_source_set_irq(void *opaque, int srcno, int val);
 
 #define TYPE_XIVE_TCTX "xive-tctx"
 typedef struct XiveTCTX XiveTCTX;
-#define XIVE_TCTX(obj) OBJECT_CHECK(XiveTCTX, (obj), TYPE_XIVE_TCTX)
+DECLARE_INSTANCE_CHECKER(XiveTCTX, XIVE_TCTX,
+                         TYPE_XIVE_TCTX)
 
 /*
  * XIVE Thread interrupt Management register rings :
@@ -349,12 +349,8 @@ typedef struct XiveRouter XiveRouter;
 
 #define TYPE_XIVE_ROUTER "xive-router"
 typedef struct XiveRouterClass XiveRouterClass;
-#define XIVE_ROUTER(obj)                                \
-    OBJECT_CHECK(XiveRouter, (obj), TYPE_XIVE_ROUTER)
-#define XIVE_ROUTER_CLASS(klass)                                        \
-    OBJECT_CLASS_CHECK(XiveRouterClass, (klass), TYPE_XIVE_ROUTER)
-#define XIVE_ROUTER_GET_CLASS(obj)                              \
-    OBJECT_GET_CLASS(XiveRouterClass, (obj), TYPE_XIVE_ROUTER)
+DECLARE_OBJ_CHECKERS(XiveRouter, XiveRouterClass,
+                     XIVE_ROUTER, TYPE_XIVE_ROUTER)
 
 struct XiveRouterClass {
     SysBusDeviceClass parent;
@@ -398,10 +394,8 @@ typedef struct XiveTCTXMatch {
 #define XIVE_PRESENTER(obj)                                     \
     INTERFACE_CHECK(XivePresenter, (obj), TYPE_XIVE_PRESENTER)
 typedef struct XivePresenterClass XivePresenterClass;
-#define XIVE_PRESENTER_CLASS(klass)                                     \
-    OBJECT_CLASS_CHECK(XivePresenterClass, (klass), TYPE_XIVE_PRESENTER)
-#define XIVE_PRESENTER_GET_CLASS(obj)                                   \
-    OBJECT_GET_CLASS(XivePresenterClass, (obj), TYPE_XIVE_PRESENTER)
+DECLARE_CLASS_CHECKERS(XivePresenterClass, XIVE_PRESENTER,
+                       TYPE_XIVE_PRESENTER)
 
 struct XivePresenterClass {
     InterfaceClass parent;
@@ -425,10 +419,8 @@ int xive_presenter_tctx_match(XivePresenter *xptr, XiveTCTX *tctx,
 #define XIVE_FABRIC(obj)                                     \
     INTERFACE_CHECK(XiveFabric, (obj), TYPE_XIVE_FABRIC)
 typedef struct XiveFabricClass XiveFabricClass;
-#define XIVE_FABRIC_CLASS(klass)                                     \
-    OBJECT_CLASS_CHECK(XiveFabricClass, (klass), TYPE_XIVE_FABRIC)
-#define XIVE_FABRIC_GET_CLASS(obj)                                   \
-    OBJECT_GET_CLASS(XiveFabricClass, (obj), TYPE_XIVE_FABRIC)
+DECLARE_CLASS_CHECKERS(XiveFabricClass, XIVE_FABRIC,
+                       TYPE_XIVE_FABRIC)
 
 struct XiveFabricClass {
     InterfaceClass parent;
@@ -444,8 +436,8 @@ struct XiveFabricClass {
 
 #define TYPE_XIVE_END_SOURCE "xive-end-source"
 typedef struct XiveENDSource XiveENDSource;
-#define XIVE_END_SOURCE(obj) \
-    OBJECT_CHECK(XiveENDSource, (obj), TYPE_XIVE_END_SOURCE)
+DECLARE_INSTANCE_CHECKER(XiveENDSource, XIVE_END_SOURCE,
+                         TYPE_XIVE_END_SOURCE)
 
 struct XiveENDSource {
     DeviceState parent;
index 479377f37bbca24f68e7f03f1a965382ce6da0fa..e025ba9653f67e9b5ef2387914377d9bd7872d4e 100644 (file)
@@ -13,9 +13,8 @@ enum {
 
 #define TYPE_DEVICE "device"
 typedef struct DeviceClass DeviceClass;
-#define DEVICE(obj) OBJECT_CHECK(DeviceState, (obj), TYPE_DEVICE)
-#define DEVICE_CLASS(klass) OBJECT_CLASS_CHECK(DeviceClass, (klass), TYPE_DEVICE)
-#define DEVICE_GET_CLASS(obj) OBJECT_GET_CLASS(DeviceClass, (obj), TYPE_DEVICE)
+DECLARE_OBJ_CHECKERS(DeviceState, DeviceClass,
+                     DEVICE, TYPE_DEVICE)
 
 typedef enum DeviceCategory {
     DEVICE_CATEGORY_BRIDGE,
@@ -204,9 +203,8 @@ struct DeviceListener {
 };
 
 #define TYPE_BUS "bus"
-#define BUS(obj) OBJECT_CHECK(BusState, (obj), TYPE_BUS)
-#define BUS_CLASS(klass) OBJECT_CLASS_CHECK(BusClass, (klass), TYPE_BUS)
-#define BUS_GET_CLASS(obj) OBJECT_GET_CLASS(BusClass, (obj), TYPE_BUS)
+DECLARE_OBJ_CHECKERS(BusState, BusClass,
+                     BUS, TYPE_BUS)
 
 struct BusClass {
     ObjectClass parent_class;
index aef82e58dbb0c74cebcfc1c6de5aed045f2c7fdb..e77e43a1709f7cce96f47834707f448dcbc4fb94 100644 (file)
 #define INTERFACE_RDMA_PROVIDER "rdma"
 
 typedef struct RdmaProviderClass RdmaProviderClass;
-#define RDMA_PROVIDER_CLASS(klass) \
-    OBJECT_CLASS_CHECK(RdmaProviderClass, (klass), \
+DECLARE_CLASS_CHECKERS(RdmaProviderClass, RDMA_PROVIDER,
                        INTERFACE_RDMA_PROVIDER)
-#define RDMA_PROVIDER_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(RdmaProviderClass, (obj), \
-                     INTERFACE_RDMA_PROVIDER)
 #define RDMA_PROVIDER(obj) \
     INTERFACE_CHECK(RdmaProvider, (obj), \
                     INTERFACE_RDMA_PROVIDER)
index 29c669e901b06b88f7c5576c077e13d799eda5dd..03c8926d275acb95bdc9ad8f5b6869a817939e69 100644 (file)
@@ -88,7 +88,8 @@ struct RegisterInfo {
 };
 
 #define TYPE_REGISTER "qemu,register"
-#define REGISTER(obj) OBJECT_CHECK(RegisterInfo, (obj), TYPE_REGISTER)
+DECLARE_INSTANCE_CHECKER(RegisterInfo, REGISTER,
+                         TYPE_REGISTER)
 
 /**
  * This structure is used to group all of the individual registers which are
index bcd36bce06dfeb487e8334625222934a71e9fe6d..bdcd1276b695ad648f641ae7e9c747189710a38d 100644 (file)
 #define TYPE_RESETTABLE_INTERFACE "resettable"
 
 typedef struct ResettableClass ResettableClass;
-#define RESETTABLE_CLASS(class) \
-    OBJECT_CLASS_CHECK(ResettableClass, (class), TYPE_RESETTABLE_INTERFACE)
+DECLARE_CLASS_CHECKERS(ResettableClass, RESETTABLE,
+                       TYPE_RESETTABLE_INTERFACE)
 
-#define RESETTABLE_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(ResettableClass, (obj), TYPE_RESETTABLE_INTERFACE)
 
 typedef struct ResettableState ResettableState;
 
index b42599ff5420abeb8c2bc36769eac7ce0964f77e..8c15b6325f3b9d9694e8a14b6cb3a17d0d044da2 100644 (file)
@@ -26,8 +26,8 @@
 
 #define TYPE_RISCV_IBEX_SOC "riscv.lowrisc.ibex.soc"
 typedef struct LowRISCIbexSoCState LowRISCIbexSoCState;
-#define RISCV_IBEX_SOC(obj) \
-    OBJECT_CHECK(LowRISCIbexSoCState, (obj), TYPE_RISCV_IBEX_SOC)
+DECLARE_INSTANCE_CHECKER(LowRISCIbexSoCState, RISCV_IBEX_SOC,
+                         TYPE_RISCV_IBEX_SOC)
 
 struct LowRISCIbexSoCState {
     /*< private >*/
index 617b977214f1dded1119fb5e6f0e97a91d3028fc..9be1fd80ed8bdd6827f7fad409927096627d3b10 100644 (file)
@@ -28,8 +28,8 @@
 #define TYPE_RISCV_HART_ARRAY "riscv.hart_array"
 
 typedef struct RISCVHartArrayState RISCVHartArrayState;
-#define RISCV_HART_ARRAY(obj) \
-    OBJECT_CHECK(RISCVHartArrayState, (obj), TYPE_RISCV_HART_ARRAY)
+DECLARE_INSTANCE_CHECKER(RISCVHartArrayState, RISCV_HART_ARRAY,
+                         TYPE_RISCV_HART_ARRAY)
 
 struct RISCVHartArrayState {
     /*< private >*/
index 121396d07ab43df3b94bb44cc5590e3ff6f39942..cddeca2e7728a62f7f1dce021822f584f3257483 100644 (file)
@@ -28,8 +28,8 @@
 
 #define TYPE_SPIKE_MACHINE MACHINE_TYPE_NAME("spike")
 typedef struct SpikeState SpikeState;
-#define SPIKE_MACHINE(obj) \
-    OBJECT_CHECK(SpikeState, (obj), TYPE_SPIKE_MACHINE)
+DECLARE_INSTANCE_CHECKER(SpikeState, SPIKE_MACHINE,
+                         TYPE_SPIKE_MACHINE)
 
 struct SpikeState {
     /*< private >*/
index 3069379c84cf7b2c279ec898b6e115c8e77495d6..b4ed9a32ebd271a95d1047ec11c0ad208908332f 100644 (file)
@@ -29,8 +29,8 @@
 
 #define TYPE_RISCV_VIRT_MACHINE MACHINE_TYPE_NAME("virt")
 typedef struct RISCVVirtState RISCVVirtState;
-#define RISCV_VIRT_MACHINE(obj) \
-    OBJECT_CHECK(RISCVVirtState, (obj), TYPE_RISCV_VIRT_MACHINE)
+DECLARE_INSTANCE_CHECKER(RISCVVirtState, RISCV_VIRT_MACHINE,
+                         TYPE_RISCV_VIRT_MACHINE)
 
 struct RISCVVirtState {
     /*< private >*/
index 1126e05f232f870000dba63e45e5391ed914defb..5a6e9fff323ec33a89a9c08dab2063a5638daa6f 100644 (file)
 
 typedef struct AwRtcClass AwRtcClass;
 typedef struct AwRtcState AwRtcState;
-#define AW_RTC(obj) \
-    OBJECT_CHECK(AwRtcState, (obj), TYPE_AW_RTC)
-#define AW_RTC_CLASS(klass) \
-     OBJECT_CLASS_CHECK(AwRtcClass, (klass), TYPE_AW_RTC)
-#define AW_RTC_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(AwRtcClass, (obj), TYPE_AW_RTC)
+DECLARE_OBJ_CHECKERS(AwRtcState, AwRtcClass,
+                     AW_RTC, TYPE_AW_RTC)
 
 /** @} */
 
index 295f4a7d30f0673c44b11f56a30a733191ff562f..d7691ab88f5b2009c0e134d0dc23c6886cd72850 100644 (file)
@@ -24,6 +24,7 @@ struct AspeedRtcState {
 typedef struct AspeedRtcState AspeedRtcState;
 
 #define TYPE_ASPEED_RTC "aspeed.rtc"
-#define ASPEED_RTC(obj) OBJECT_CHECK(AspeedRtcState, (obj), TYPE_ASPEED_RTC)
+DECLARE_INSTANCE_CHECKER(AspeedRtcState, ASPEED_RTC,
+                         TYPE_ASPEED_RTC)
 
 #endif /* HW_RTC_ASPEED_RTC_H */
index f31b0cbb89dbcf09dee5a3460aab6caabad55c72..b710c21c946913d8934f1c0cef655b99fc45a61b 100644 (file)
@@ -27,8 +27,8 @@
 
 #define TYPE_GOLDFISH_RTC "goldfish_rtc"
 typedef struct GoldfishRTCState GoldfishRTCState;
-#define GOLDFISH_RTC(obj) \
-    OBJECT_CHECK(GoldfishRTCState, (obj), TYPE_GOLDFISH_RTC)
+DECLARE_INSTANCE_CHECKER(GoldfishRTCState, GOLDFISH_RTC,
+                         TYPE_GOLDFISH_RTC)
 
 struct GoldfishRTCState {
     SysBusDevice parent_obj;
index 78aae2c0729bc71b0a5b828741173ec5ec2379ea..04abedf3b2becb1c6c5aecd4ed1c45f96358034a 100644 (file)
 #define TYPE_NVRAM "nvram"
 
 typedef struct NvramClass NvramClass;
-#define NVRAM_CLASS(klass) \
-    OBJECT_CLASS_CHECK(NvramClass, (klass), TYPE_NVRAM)
-#define NVRAM_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(NvramClass, (obj), TYPE_NVRAM)
+DECLARE_CLASS_CHECKERS(NvramClass, NVRAM,
+                       TYPE_NVRAM)
 #define NVRAM(obj) \
     INTERFACE_CHECK(Nvram, (obj), TYPE_NVRAM)
 
index 7b42d9c534a6ab1deae0155d571d111b083ad1fd..e58e006d0d0eaa60f4d80a246ca0d15d1fd7e211 100644 (file)
@@ -17,7 +17,8 @@
 
 #define TYPE_MC146818_RTC "mc146818rtc"
 typedef struct RTCState RTCState;
-#define MC146818_RTC(obj) OBJECT_CHECK(RTCState, (obj), TYPE_MC146818_RTC)
+DECLARE_INSTANCE_CHECKER(RTCState, MC146818_RTC,
+                         TYPE_MC146818_RTC)
 
 struct RTCState {
     ISADevice parent_obj;
index 3ddf48cc76c722409c5b183a6bbb8b4e6f92c6d3..3897b424d400124e8a2376361e99067c57a629b0 100644 (file)
@@ -20,7 +20,8 @@
 
 #define TYPE_PL031 "pl031"
 typedef struct PL031State PL031State;
-#define PL031(obj) OBJECT_CHECK(PL031State, (obj), TYPE_PL031)
+DECLARE_INSTANCE_CHECKER(PL031State, PL031,
+                         TYPE_PL031)
 
 struct PL031State {
     SysBusDevice parent_obj;
index 95c85d3bf1071940867c92c6492f813ef080402c..209de85ae6bd40b6b1bfe17c2f8c463b3e845751 100644 (file)
@@ -34,8 +34,8 @@
 #define TYPE_XLNX_ZYNQMP_RTC "xlnx-zynmp.rtc"
 
 typedef struct XlnxZynqMPRTC XlnxZynqMPRTC;
-#define XLNX_ZYNQMP_RTC(obj) \
-     OBJECT_CHECK(XlnxZynqMPRTC, (obj), TYPE_XLNX_ZYNQMP_RTC)
+DECLARE_INSTANCE_CHECKER(XlnxZynqMPRTC, XLNX_ZYNQMP_RTC,
+                         TYPE_XLNX_ZYNQMP_RTC)
 
 REG32(SET_TIME_WRITE, 0x0)
 REG32(SET_TIME_READ, 0x4)
index 4451a9e00674533e4e583c78f7451a0afdd5c55d..3ed80dba0dd34d76eeaca8bf0b585ced3124e841 100644 (file)
@@ -34,7 +34,8 @@
 
 #define TYPE_RX62N_MCU "rx62n-mcu"
 typedef struct RX62NState RX62NState;
-#define RX62N_MCU(obj) OBJECT_CHECK(RX62NState, (obj), TYPE_RX62N_MCU)
+DECLARE_INSTANCE_CHECKER(RX62NState, RX62N_MCU,
+                         TYPE_RX62N_MCU)
 
 #define TYPE_R5F562N7_MCU "r5f562n7-mcu"
 #define TYPE_R5F562N8_MCU "r5f562n8-mcu"
index ac254f95ed1c0cfca40f8efe91e60d94fbd1f890..9a11093192a97691fb8a7b2666986da85a4fcdc9 100644 (file)
 
 typedef struct EmulatedCcw3270Class EmulatedCcw3270Class;
 typedef struct EmulatedCcw3270Device EmulatedCcw3270Device;
-#define EMULATED_CCW_3270(obj) \
-     OBJECT_CHECK(EmulatedCcw3270Device, (obj), TYPE_EMULATED_CCW_3270)
-#define EMULATED_CCW_3270_CLASS(klass) \
-     OBJECT_CLASS_CHECK(EmulatedCcw3270Class, (klass), TYPE_EMULATED_CCW_3270)
-#define EMULATED_CCW_3270_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(EmulatedCcw3270Class, (obj), TYPE_EMULATED_CCW_3270)
+DECLARE_OBJ_CHECKERS(EmulatedCcw3270Device, EmulatedCcw3270Class,
+                     EMULATED_CCW_3270, TYPE_EMULATED_CCW_3270)
 
 struct EmulatedCcw3270Device {
     CcwDevice parent_obj;
index b3b3e98a679456e9b44827178758b9a275bb4f20..fb250a20f3c5ce78770940290406f0d536a111f1 100644 (file)
@@ -21,7 +21,7 @@ struct APDevice {
 };
 typedef struct APDevice APDevice;
 
-#define AP_DEVICE(obj) \
-    OBJECT_CHECK(APDevice, (obj), AP_DEVICE_TYPE)
+DECLARE_INSTANCE_CHECKER(APDevice, AP_DEVICE,
+                         AP_DEVICE_TYPE)
 
 #endif /* HW_S390X_AP_DEVICE_H */
index 05786b38de17173514191751bce66afe0e27af85..9fd448420487179a104f2bfffc9593f7f9fa26b6 100644 (file)
@@ -24,8 +24,8 @@ struct VirtualCssBridge {
 typedef struct VirtualCssBridge VirtualCssBridge;
 
 #define TYPE_VIRTUAL_CSS_BRIDGE "virtual-css-bridge"
-#define VIRTUAL_CSS_BRIDGE(obj) \
-    OBJECT_CHECK(VirtualCssBridge, (obj), TYPE_VIRTUAL_CSS_BRIDGE)
+DECLARE_INSTANCE_CHECKER(VirtualCssBridge, VIRTUAL_CSS_BRIDGE,
+                         TYPE_VIRTUAL_CSS_BRIDGE)
 
 /* virtual css bus type */
 struct VirtualCssBus {
@@ -34,8 +34,8 @@ struct VirtualCssBus {
 typedef struct VirtualCssBus VirtualCssBus;
 
 #define TYPE_VIRTUAL_CSS_BUS "virtual-css-bus"
-#define VIRTUAL_CSS_BUS(obj) \
-     OBJECT_CHECK(VirtualCssBus, (obj), TYPE_VIRTUAL_CSS_BUS)
+DECLARE_INSTANCE_CHECKER(VirtualCssBus, VIRTUAL_CSS_BUS,
+                         TYPE_VIRTUAL_CSS_BUS)
 VirtualCssBus *virtual_css_bus_init(void);
 
 #endif
index dd1a6a44c05f8b9409c16a70ae8312c5afa42f9d..eccf6e924b4404a2f8477650e4ff605e1f764d03 100644 (file)
 #define TYPE_SCLP_EVENT "s390-sclp-event-type"
 typedef struct SCLPEvent SCLPEvent;
 typedef struct SCLPEventClass SCLPEventClass;
-#define SCLP_EVENT(obj) \
-     OBJECT_CHECK(SCLPEvent, (obj), TYPE_SCLP_EVENT)
-#define SCLP_EVENT_CLASS(klass) \
-     OBJECT_CLASS_CHECK(SCLPEventClass, (klass), TYPE_SCLP_EVENT)
-#define SCLP_EVENT_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(SCLPEventClass, (obj), TYPE_SCLP_EVENT)
+DECLARE_OBJ_CHECKERS(SCLPEvent, SCLPEventClass,
+                     SCLP_EVENT, TYPE_SCLP_EVENT)
 
 #define TYPE_SCLP_CPU_HOTPLUG "sclp-cpu-hotplug"
 #define TYPE_SCLP_QUIESCE "sclpquiesce"
@@ -200,14 +196,8 @@ struct SCLPEventClass {
 #define TYPE_SCLP_EVENT_FACILITY "s390-sclp-event-facility"
 typedef struct SCLPEventFacility SCLPEventFacility;
 typedef struct SCLPEventFacilityClass SCLPEventFacilityClass;
-#define EVENT_FACILITY(obj) \
-     OBJECT_CHECK(SCLPEventFacility, (obj), TYPE_SCLP_EVENT_FACILITY)
-#define EVENT_FACILITY_CLASS(klass) \
-     OBJECT_CLASS_CHECK(SCLPEventFacilityClass, (klass), \
-                        TYPE_SCLP_EVENT_FACILITY)
-#define EVENT_FACILITY_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(SCLPEventFacilityClass, (obj), \
-                      TYPE_SCLP_EVENT_FACILITY)
+DECLARE_OBJ_CHECKERS(SCLPEventFacility, SCLPEventFacilityClass,
+                     EVENT_FACILITY, TYPE_SCLP_EVENT_FACILITY)
 
 struct SCLPEventFacilityClass {
     SysBusDeviceClass parent_class;
index f0f96952f1868792f70bbb6ad29a70bc149cde37..2c807ee3a1ae8d85460fe65be8a62c64f212fe4b 100644 (file)
 #define TYPE_S390_CCW "s390-ccw"
 typedef struct S390CCWDevice S390CCWDevice;
 typedef struct S390CCWDeviceClass S390CCWDeviceClass;
-#define S390_CCW_DEVICE(obj) \
-    OBJECT_CHECK(S390CCWDevice, (obj), TYPE_S390_CCW)
-#define S390_CCW_DEVICE_CLASS(klass) \
-    OBJECT_CLASS_CHECK(S390CCWDeviceClass, (klass), TYPE_S390_CCW)
-#define S390_CCW_DEVICE_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(S390CCWDeviceClass, (obj), TYPE_S390_CCW)
+DECLARE_OBJ_CHECKERS(S390CCWDevice, S390CCWDeviceClass,
+                     S390_CCW_DEVICE, TYPE_S390_CCW)
 
 struct S390CCWDevice {
     CcwDevice parent_obj;
index f20c503b192ec281ba25b37965382a2e27f128e0..54d14da0a65f10c45eb25a4355dd8e064d30d236 100644 (file)
 
 typedef struct S390CcwMachineClass S390CcwMachineClass;
 typedef struct S390CcwMachineState S390CcwMachineState;
-#define S390_CCW_MACHINE(obj) \
-    OBJECT_CHECK(S390CcwMachineState, (obj), TYPE_S390_CCW_MACHINE)
+DECLARE_OBJ_CHECKERS(S390CcwMachineState, S390CcwMachineClass,
+                     S390_CCW_MACHINE, TYPE_S390_CCW_MACHINE)
 
-#define S390_CCW_MACHINE_CLASS(klass) \
-    OBJECT_CLASS_CHECK(S390CcwMachineClass, (klass), TYPE_S390_CCW_MACHINE)
 
 struct S390CcwMachineState {
     /*< private >*/
index 2ae7cca85b3d3fb61d055f5f4e9b18e6d9a8661f..a6a123598d447ef3ce7d08b424cf18656032b90e 100644 (file)
@@ -41,8 +41,8 @@ extern const VMStateDescription vmstate_adapter_routes;
 #define TYPE_S390_FLIC_COMMON "s390-flic"
 typedef struct S390FLICState S390FLICState;
 typedef struct S390FLICStateClass S390FLICStateClass;
-#define S390_FLIC_COMMON(obj) \
-    OBJECT_CHECK(S390FLICState, (obj), TYPE_S390_FLIC_COMMON)
+DECLARE_OBJ_CHECKERS(S390FLICState, S390FLICStateClass,
+                     S390_FLIC_COMMON, TYPE_S390_FLIC_COMMON)
 
 struct S390FLICState {
     SysBusDevice parent_obj;
@@ -51,10 +51,6 @@ struct S390FLICState {
     bool ais_supported;
 };
 
-#define S390_FLIC_COMMON_CLASS(klass) \
-    OBJECT_CLASS_CHECK(S390FLICStateClass, (klass), TYPE_S390_FLIC_COMMON)
-#define S390_FLIC_COMMON_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(S390FLICStateClass, (obj), TYPE_S390_FLIC_COMMON)
 
 struct S390FLICStateClass {
     DeviceClass parent_class;
@@ -79,13 +75,13 @@ struct S390FLICStateClass {
 
 #define TYPE_KVM_S390_FLIC "s390-flic-kvm"
 typedef struct KVMS390FLICState KVMS390FLICState;
-#define KVM_S390_FLIC(obj) \
-    OBJECT_CHECK(KVMS390FLICState, (obj), TYPE_KVM_S390_FLIC)
+DECLARE_INSTANCE_CHECKER(KVMS390FLICState, KVM_S390_FLIC,
+                         TYPE_KVM_S390_FLIC)
 
 #define TYPE_QEMU_S390_FLIC "s390-flic-qemu"
 typedef struct QEMUS390FLICState QEMUS390FLICState;
-#define QEMU_S390_FLIC(obj) \
-    OBJECT_CHECK(QEMUS390FLICState, (obj), TYPE_QEMU_S390_FLIC)
+DECLARE_INSTANCE_CHECKER(QEMUS390FLICState, QEMU_S390_FLIC,
+                         TYPE_QEMU_S390_FLIC)
 
 #define SIC_IRQ_MODE_ALL 0
 #define SIC_IRQ_MODE_SINGLE 1
index 2a5bdc6dfef738590077bbc30f29b5501cf50e7a..5038a45612275348f89b194cd1cbbe4e0f9c55a6 100644 (file)
@@ -184,9 +184,8 @@ typedef struct SCCB {
 #define TYPE_SCLP "sclp"
 typedef struct SCLPDevice SCLPDevice;
 typedef struct SCLPDeviceClass SCLPDeviceClass;
-#define SCLP(obj) OBJECT_CHECK(SCLPDevice, (obj), TYPE_SCLP)
-#define SCLP_CLASS(oc) OBJECT_CLASS_CHECK(SCLPDeviceClass, (oc), TYPE_SCLP)
-#define SCLP_GET_CLASS(obj) OBJECT_GET_CLASS(SCLPDeviceClass, (obj), TYPE_SCLP)
+DECLARE_OBJ_CHECKERS(SCLPDevice, SCLPDeviceClass,
+                     SCLP, TYPE_SCLP)
 
 struct SCLPEventFacility;
 
index b5d9663f7cf33c67ddc5d9bdb9f463aee5d1d183..efb28c48be307204a2ba70113ee57432fe39979f 100644 (file)
@@ -22,8 +22,8 @@
 
 typedef struct S390StAttribClass S390StAttribClass;
 typedef struct S390StAttribState S390StAttribState;
-#define S390_STATTRIB(obj) \
-    OBJECT_CHECK(S390StAttribState, (obj), TYPE_S390_STATTRIB)
+DECLARE_OBJ_CHECKERS(S390StAttribState, S390StAttribClass,
+                     S390_STATTRIB, TYPE_S390_STATTRIB)
 
 struct S390StAttribState {
     DeviceState parent_obj;
@@ -31,10 +31,6 @@ struct S390StAttribState {
     bool migration_enabled;
 };
 
-#define S390_STATTRIB_CLASS(klass) \
-    OBJECT_CLASS_CHECK(S390StAttribClass, (klass), TYPE_S390_STATTRIB)
-#define S390_STATTRIB_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(S390StAttribClass, (obj), TYPE_S390_STATTRIB)
 
 struct S390StAttribClass {
     DeviceClass parent_class;
@@ -52,16 +48,16 @@ struct S390StAttribClass {
 };
 
 typedef struct QEMUS390StAttribState QEMUS390StAttribState;
-#define QEMU_S390_STATTRIB(obj) \
-    OBJECT_CHECK(QEMUS390StAttribState, (obj), TYPE_QEMU_S390_STATTRIB)
+DECLARE_INSTANCE_CHECKER(QEMUS390StAttribState, QEMU_S390_STATTRIB,
+                         TYPE_QEMU_S390_STATTRIB)
 
 struct QEMUS390StAttribState {
     S390StAttribState parent_obj;
 };
 
 typedef struct KVMS390StAttribState KVMS390StAttribState;
-#define KVM_S390_STATTRIB(obj) \
-    OBJECT_CHECK(KVMS390StAttribState, (obj), TYPE_KVM_S390_STATTRIB)
+DECLARE_INSTANCE_CHECKER(KVMS390StAttribState, KVM_S390_STATTRIB,
+                         TYPE_KVM_S390_STATTRIB)
 
 struct KVMS390StAttribState {
     S390StAttribState parent_obj;
index e94a201f715c536e96d30b9cfaa7f9ba8632ad87..40f042f54e3c32f4cda41b21848d8589faa05c39 100644 (file)
@@ -19,8 +19,8 @@
 #define TYPE_S390_SKEYS "s390-skeys"
 typedef struct S390SKeysClass S390SKeysClass;
 typedef struct S390SKeysState S390SKeysState;
-#define S390_SKEYS(obj) \
-    OBJECT_CHECK(S390SKeysState, (obj), TYPE_S390_SKEYS)
+DECLARE_OBJ_CHECKERS(S390SKeysState, S390SKeysClass,
+                     S390_SKEYS, TYPE_S390_SKEYS)
 
 struct S390SKeysState {
     DeviceState parent_obj;
@@ -28,10 +28,6 @@ struct S390SKeysState {
 
 };
 
-#define S390_SKEYS_CLASS(klass) \
-    OBJECT_CLASS_CHECK(S390SKeysClass, (klass), TYPE_S390_SKEYS)
-#define S390_SKEYS_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(S390SKeysClass, (obj), TYPE_S390_SKEYS)
 
 struct S390SKeysClass {
     DeviceClass parent_class;
@@ -45,8 +41,8 @@ struct S390SKeysClass {
 #define TYPE_KVM_S390_SKEYS "s390-skeys-kvm"
 #define TYPE_QEMU_S390_SKEYS "s390-skeys-qemu"
 typedef struct QEMUS390SKeysState QEMUS390SKeysState;
-#define QEMU_S390_SKEYS(obj) \
-    OBJECT_CHECK(QEMUS390SKeysState, (obj), TYPE_QEMU_S390_SKEYS)
+DECLARE_INSTANCE_CHECKER(QEMUS390SKeysState, QEMU_S390_SKEYS,
+                         TYPE_QEMU_S390_SKEYS)
 
 struct QEMUS390SKeysState {
     S390SKeysState parent_obj;
index e240faf11cd290de89c285ca356fb19d282a8a4a..c02498f65e2f01ade7c1cee83ad0136b1e527339 100644 (file)
@@ -23,11 +23,8 @@ typedef struct S390TOD {
 #define TYPE_S390_TOD "s390-tod"
 typedef struct S390TODClass S390TODClass;
 typedef struct S390TODState S390TODState;
-#define S390_TOD(obj) OBJECT_CHECK(S390TODState, (obj), TYPE_S390_TOD)
-#define S390_TOD_CLASS(oc) OBJECT_CLASS_CHECK(S390TODClass, (oc), \
-                                              TYPE_S390_TOD)
-#define S390_TOD_GET_CLASS(obj) OBJECT_GET_CLASS(S390TODClass, (obj), \
-                                                 TYPE_S390_TOD)
+DECLARE_OBJ_CHECKERS(S390TODState, S390TODClass,
+                     S390_TOD, TYPE_S390_TOD)
 #define TYPE_KVM_S390_TOD TYPE_S390_TOD "-kvm"
 #define TYPE_QEMU_S390_TOD TYPE_S390_TOD "-qemu"
 
index 7bd4640ac379bb3d6aa110eb8922f0e6ae0617bb..9c9c8944adde02883eca521131cc568b0961d159 100644 (file)
@@ -21,8 +21,8 @@
 
 #define TYPE_VFIO_CCW "vfio-ccw"
 typedef struct VFIOCCWDevice VFIOCCWDevice;
-#define VFIO_CCW(obj) \
-        OBJECT_CHECK(VFIOCCWDevice, (obj), TYPE_VFIO_CCW)
+DECLARE_INSTANCE_CHECKER(VFIOCCWDevice, VFIO_CCW,
+                         TYPE_VFIO_CCW)
 
 #define TYPE_VFIO_CCW "vfio-ccw"
 
index d4a4e2930c35d5b76ecc40d2dfeb3ef2d0443958..f281625dd5f4dda718485c581145c3f35ee583ab 100644 (file)
@@ -67,7 +67,8 @@ struct ESPState {
 
 #define TYPE_ESP "esp"
 typedef struct SysBusESPState SysBusESPState;
-#define ESP_STATE(obj) OBJECT_CHECK(SysBusESPState, (obj), TYPE_ESP)
+DECLARE_INSTANCE_CHECKER(SysBusESPState, ESP_STATE,
+                         TYPE_ESP)
 
 struct SysBusESPState {
     /*< private >*/
index bad4dfb2239cfc7f5763264d04d4809c58894cde..3818e3fa46bbf1d8dfc8491f499ac851ff4e0a53 100644 (file)
@@ -51,12 +51,8 @@ struct SCSIRequest {
 
 #define TYPE_SCSI_DEVICE "scsi-device"
 typedef struct SCSIDeviceClass SCSIDeviceClass;
-#define SCSI_DEVICE(obj) \
-     OBJECT_CHECK(SCSIDevice, (obj), TYPE_SCSI_DEVICE)
-#define SCSI_DEVICE_CLASS(klass) \
-     OBJECT_CLASS_CHECK(SCSIDeviceClass, (klass), TYPE_SCSI_DEVICE)
-#define SCSI_DEVICE_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(SCSIDeviceClass, (obj), TYPE_SCSI_DEVICE)
+DECLARE_OBJ_CHECKERS(SCSIDevice, SCSIDeviceClass,
+                     SCSI_DEVICE, TYPE_SCSI_DEVICE)
 
 struct SCSIDeviceClass {
     DeviceClass parent_class;
@@ -138,7 +134,8 @@ struct SCSIBusInfo {
 };
 
 #define TYPE_SCSI_BUS "SCSI"
-#define SCSI_BUS(obj) OBJECT_CHECK(SCSIBus, (obj), TYPE_SCSI_BUS)
+DECLARE_INSTANCE_CHECKER(SCSIBus, SCSI_BUS,
+                         TYPE_SCSI_BUS)
 
 struct SCSIBus {
     BusState qbus;
index b23de2c54840e96583194ae465db267488a64c6f..7bccc06d1cb0dcf254c13ab647e57e32cfd8d6ca 100644 (file)
 
 typedef struct AwSdHostClass AwSdHostClass;
 typedef struct AwSdHostState AwSdHostState;
-#define AW_SDHOST(obj) \
-    OBJECT_CHECK(AwSdHostState, (obj), TYPE_AW_SDHOST)
-#define AW_SDHOST_CLASS(klass) \
-     OBJECT_CLASS_CHECK(AwSdHostClass, (klass), TYPE_AW_SDHOST)
-#define AW_SDHOST_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(AwSdHostClass, (obj), TYPE_AW_SDHOST)
+DECLARE_OBJ_CHECKERS(AwSdHostState, AwSdHostClass,
+                     AW_SDHOST, TYPE_AW_SDHOST)
 
 /** @} */
 
index 527075476bdef9e4ee36670f749b3dd03a1f08bf..783ccc2956ea134c4f326441b46c8e9fda4a8afe 100644 (file)
@@ -14,8 +14,8 @@
 
 #define TYPE_ASPEED_SDHCI "aspeed.sdhci"
 typedef struct AspeedSDHCIState AspeedSDHCIState;
-#define ASPEED_SDHCI(obj) OBJECT_CHECK(AspeedSDHCIState, (obj), \
-                                       TYPE_ASPEED_SDHCI)
+DECLARE_INSTANCE_CHECKER(AspeedSDHCIState, ASPEED_SDHCI,
+                         TYPE_ASPEED_SDHCI)
 
 #define ASPEED_SDHCI_CAPABILITIES 0x01E80080
 #define ASPEED_SDHCI_NUM_SLOTS    2
index 233e74b0029329889e0895b225fc1f8b51e35268..751ba531d662f8c54bf1aa33d31efcb19b13e4d0 100644 (file)
@@ -20,8 +20,8 @@
 
 #define TYPE_BCM2835_SDHOST "bcm2835-sdhost"
 typedef struct BCM2835SDHostState BCM2835SDHostState;
-#define BCM2835_SDHOST(obj) \
-        OBJECT_CHECK(BCM2835SDHostState, (obj), TYPE_BCM2835_SDHOST)
+DECLARE_INSTANCE_CHECKER(BCM2835SDHostState, BCM2835_SDHOST,
+                         TYPE_BCM2835_SDHOST)
 
 #define BCM2835_SDHOST_FIFO_LEN 16
 
index 850740ea92b8564e706629998a439273fc0534b3..31ccbeab0ef036ca3c8f0584a9e656b2e97d6691 100644 (file)
@@ -94,11 +94,8 @@ typedef struct SDBus SDBus;
 
 #define TYPE_SD_CARD "sd-card"
 typedef struct SDCardClass SDCardClass;
-#define SD_CARD(obj) OBJECT_CHECK(SDState, (obj), TYPE_SD_CARD)
-#define SD_CARD_CLASS(klass) \
-    OBJECT_CLASS_CHECK(SDCardClass, (klass), TYPE_SD_CARD)
-#define SD_CARD_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(SDCardClass, (obj), TYPE_SD_CARD)
+DECLARE_OBJ_CHECKERS(SDState, SDCardClass,
+                     SD_CARD, TYPE_SD_CARD)
 
 struct SDCardClass {
     /*< private >*/
@@ -134,9 +131,8 @@ struct SDCardClass {
 
 #define TYPE_SD_BUS "sd-bus"
 typedef struct SDBusClass SDBusClass;
-#define SD_BUS(obj) OBJECT_CHECK(SDBus, (obj), TYPE_SD_BUS)
-#define SD_BUS_CLASS(klass) OBJECT_CLASS_CHECK(SDBusClass, (klass), TYPE_SD_BUS)
-#define SD_BUS_GET_CLASS(obj) OBJECT_GET_CLASS(SDBusClass, (obj), TYPE_SD_BUS)
+DECLARE_OBJ_CHECKERS(SDBus, SDBusClass,
+                     SD_BUS, TYPE_SD_BUS)
 
 struct SDBus {
     BusState qbus;
index 67b01fcb28b840d94b5f3d0a40b73e601f7045ec..01a64c5442bfb66874693b1b8430b01f28f7912f 100644 (file)
@@ -115,11 +115,12 @@ typedef struct SDHCIState SDHCIState;
 #define SDHCI_QUIRK_NO_BUSY_IRQ    BIT(14)
 
 #define TYPE_PCI_SDHCI "sdhci-pci"
-#define PCI_SDHCI(obj) OBJECT_CHECK(SDHCIState, (obj), TYPE_PCI_SDHCI)
+DECLARE_INSTANCE_CHECKER(SDHCIState, PCI_SDHCI,
+                         TYPE_PCI_SDHCI)
 
 #define TYPE_SYSBUS_SDHCI "generic-sdhci"
-#define SYSBUS_SDHCI(obj)                               \
-     OBJECT_CHECK(SDHCIState, (obj), TYPE_SYSBUS_SDHCI)
+DECLARE_INSTANCE_CHECKER(SDHCIState, SYSBUS_SDHCI,
+                         TYPE_SYSBUS_SDHCI)
 
 #define TYPE_IMX_USDHC "imx-usdhc"
 
index 21ad6327d24296e5ca9a6aafcfbc08dc797500b5..6387f2b612869e20b2ffe63fd6c4259e99073091 100644 (file)
@@ -67,8 +67,8 @@ struct PIIXState {
 typedef struct PIIXState PIIX3State;
 
 #define TYPE_PIIX3_PCI_DEVICE "pci-piix3"
-#define PIIX3_PCI_DEVICE(obj) \
-    OBJECT_CHECK(PIIX3State, (obj), TYPE_PIIX3_PCI_DEVICE)
+DECLARE_INSTANCE_CHECKER(PIIX3State, PIIX3_PCI_DEVICE,
+                         TYPE_PIIX3_PCI_DEVICE)
 
 extern PCIDevice *piix4_dev;
 
index 9c80ef54ff628fa12818b66c872a131d9ec905e0..a402665a9c522bfa8bdc885c9d468bc303e4eee2 100644 (file)
@@ -10,8 +10,8 @@
 
 #define TYPE_SPARC32_DMA_DEVICE "sparc32-dma-device"
 typedef struct DMADeviceState DMADeviceState;
-#define SPARC32_DMA_DEVICE(obj) OBJECT_CHECK(DMADeviceState, (obj), \
-                                             TYPE_SPARC32_DMA_DEVICE)
+DECLARE_INSTANCE_CHECKER(DMADeviceState, SPARC32_DMA_DEVICE,
+                         TYPE_SPARC32_DMA_DEVICE)
 
 
 struct DMADeviceState {
@@ -26,8 +26,8 @@ struct DMADeviceState {
 
 #define TYPE_SPARC32_ESPDMA_DEVICE "sparc32-espdma"
 typedef struct ESPDMADeviceState ESPDMADeviceState;
-#define SPARC32_ESPDMA_DEVICE(obj) OBJECT_CHECK(ESPDMADeviceState, (obj), \
-                                                TYPE_SPARC32_ESPDMA_DEVICE)
+DECLARE_INSTANCE_CHECKER(ESPDMADeviceState, SPARC32_ESPDMA_DEVICE,
+                         TYPE_SPARC32_ESPDMA_DEVICE)
 
 struct ESPDMADeviceState {
     DMADeviceState parent_obj;
@@ -37,8 +37,8 @@ struct ESPDMADeviceState {
 
 #define TYPE_SPARC32_LEDMA_DEVICE "sparc32-ledma"
 typedef struct LEDMADeviceState LEDMADeviceState;
-#define SPARC32_LEDMA_DEVICE(obj) OBJECT_CHECK(LEDMADeviceState, (obj), \
-                                               TYPE_SPARC32_LEDMA_DEVICE)
+DECLARE_INSTANCE_CHECKER(LEDMADeviceState, SPARC32_LEDMA_DEVICE,
+                         TYPE_SPARC32_LEDMA_DEVICE)
 
 struct LEDMADeviceState {
     DMADeviceState parent_obj;
@@ -48,8 +48,8 @@ struct LEDMADeviceState {
 
 #define TYPE_SPARC32_DMA "sparc32-dma"
 typedef struct SPARC32DMAState SPARC32DMAState;
-#define SPARC32_DMA(obj) OBJECT_CHECK(SPARC32DMAState, (obj), \
-                                      TYPE_SPARC32_DMA)
+DECLARE_INSTANCE_CHECKER(SPARC32DMAState, SPARC32_DMA,
+                         TYPE_SPARC32_DMA)
 
 struct SPARC32DMAState {
     SysBusDevice parent_obj;
index 6095eed0af9e6efb42de56a08fe7a69e38def9b3..4e2ab34cdef33b40dcae7c11fa9f3cb5695345e9 100644 (file)
@@ -45,7 +45,8 @@ struct IOMMUState {
 typedef struct IOMMUState IOMMUState;
 
 #define TYPE_SUN4M_IOMMU "sun4m-iommu"
-#define SUN4M_IOMMU(obj) OBJECT_CHECK(IOMMUState, (obj), TYPE_SUN4M_IOMMU)
+DECLARE_INSTANCE_CHECKER(IOMMUState, SUN4M_IOMMU,
+                         TYPE_SUN4M_IOMMU)
 
 #define TYPE_SUN4M_IOMMU_MEMORY_REGION "sun4m-iommu-memory-region"
 
index dfe10459e5b1f764e87f151fd27ae3239aeee9e6..f94566a72c9cd1493e9a4ebe9a783a73c31338fa 100644 (file)
@@ -44,7 +44,8 @@ struct IOMMUState {
 typedef struct IOMMUState IOMMUState;
 
 #define TYPE_SUN4U_IOMMU "sun4u-iommu"
-#define SUN4U_IOMMU(obj) OBJECT_CHECK(IOMMUState, (obj), TYPE_SUN4U_IOMMU)
+DECLARE_INSTANCE_CHECKER(IOMMUState, SUN4U_IOMMU,
+                         TYPE_SUN4U_IOMMU)
 
 #define TYPE_SUN4U_IOMMU_MEMORY_REGION "sun4u-iommu-memory-region"
 
index a2072ffeea405c202decdfd0f8e2c61a7e729e53..8e023d8ff616618c074e20fb8c854838dbbbc3af 100644 (file)
@@ -70,11 +70,8 @@ typedef struct AspeedSMCFlash {
 #define TYPE_ASPEED_SMC "aspeed.smc"
 typedef struct AspeedSMCClass AspeedSMCClass;
 typedef struct AspeedSMCState AspeedSMCState;
-#define ASPEED_SMC(obj) OBJECT_CHECK(AspeedSMCState, (obj), TYPE_ASPEED_SMC)
-#define ASPEED_SMC_CLASS(klass) \
-     OBJECT_CLASS_CHECK(AspeedSMCClass, (klass), TYPE_ASPEED_SMC)
-#define ASPEED_SMC_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(AspeedSMCClass, (obj), TYPE_ASPEED_SMC)
+DECLARE_OBJ_CHECKERS(AspeedSMCState, AspeedSMCClass,
+                     ASPEED_SMC, TYPE_ASPEED_SMC)
 
 struct AspeedSMCClass {
     SysBusDevice parent_obj;
index 3a966af0ec0835199e6b2d3f63ca800a845d3e49..874fea492d62bd1daf2e61ce69acda13a2409fa7 100644 (file)
@@ -79,7 +79,8 @@
 
 #define TYPE_IMX_SPI "imx.spi"
 typedef struct IMXSPIState IMXSPIState;
-#define IMX_SPI(obj) OBJECT_CHECK(IMXSPIState, (obj), TYPE_IMX_SPI)
+DECLARE_INSTANCE_CHECKER(IMXSPIState, IMX_SPI,
+                         TYPE_IMX_SPI)
 
 struct IMXSPIState {
     /* <private> */
index 40e1a5ac9003851a727c4ffc9e76c805d49a5be8..7c16cf6b498102fb4e5dfe543b73278e316c2668 100644 (file)
@@ -32,7 +32,8 @@
 
 #define TYPE_MSS_SPI   "mss-spi"
 typedef struct MSSSpiState MSSSpiState;
-#define MSS_SPI(obj)   OBJECT_CHECK(MSSSpiState, (obj), TYPE_MSS_SPI)
+DECLARE_INSTANCE_CHECKER(MSSSpiState, MSS_SPI,
+                         TYPE_MSS_SPI)
 
 #define R_SPI_MAX             16
 
index 64aeb61eefd8728f6404d937858b264cd3b2a6b1..1f5da7cc449443d7476c41d3a199e58fe6b29877 100644 (file)
@@ -26,7 +26,8 @@
 
 #define TYPE_PL022 "pl022"
 typedef struct PL022State PL022State;
-#define PL022(obj) OBJECT_CHECK(PL022State, (obj), TYPE_PL022)
+DECLARE_INSTANCE_CHECKER(PL022State, PL022,
+                         TYPE_PL022)
 
 struct PL022State {
     SysBusDevice parent_obj;
index b42765f4158443121db3c66053bb8ffe22a0b73c..b9286989fc9df457e6b10928e7586e2096f3c4db 100644 (file)
@@ -19,12 +19,8 @@ typedef struct SSISlaveClass SSISlaveClass;
 typedef enum SSICSMode SSICSMode;
 
 #define TYPE_SSI_SLAVE "ssi-slave"
-#define SSI_SLAVE(obj) \
-     OBJECT_CHECK(SSISlave, (obj), TYPE_SSI_SLAVE)
-#define SSI_SLAVE_CLASS(klass) \
-     OBJECT_CLASS_CHECK(SSISlaveClass, (klass), TYPE_SSI_SLAVE)
-#define SSI_SLAVE_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(SSISlaveClass, (obj), TYPE_SSI_SLAVE)
+DECLARE_OBJ_CHECKERS(SSISlave, SSISlaveClass,
+                     SSI_SLAVE, TYPE_SSI_SLAVE)
 
 #define SSI_GPIO_CS "ssi-gpio-cs"
 
index 1c8ff7d724730567875b4cca50cae50289cd3a2b..4bb36d04ed4dd8d8a4e63b66247558fbadd710cd 100644 (file)
@@ -46,8 +46,8 @@
 
 #define TYPE_STM32F2XX_SPI "stm32f2xx-spi"
 typedef struct STM32F2XXSPIState STM32F2XXSPIState;
-#define STM32F2XX_SPI(obj) \
-    OBJECT_CHECK(STM32F2XXSPIState, (obj), TYPE_STM32F2XX_SPI)
+DECLARE_INSTANCE_CHECKER(STM32F2XXSPIState, STM32F2XX_SPI,
+                         TYPE_STM32F2XX_SPI)
 
 struct STM32F2XXSPIState {
     /* <private> */
index 2171018601ab328acf0c63b9b50bc972b1b58e32..b1ab34761765ece28791276e9afd2e716c844889 100644 (file)
@@ -136,17 +136,13 @@ typedef struct XilinxSPIPSClass XilinxSPIPSClass;
 #define TYPE_XILINX_QSPIPS "xlnx.ps7-qspi"
 #define TYPE_XLNX_ZYNQMP_QSPIPS "xlnx.usmp-gqspi"
 
-#define XILINX_SPIPS(obj) \
-     OBJECT_CHECK(XilinxSPIPS, (obj), TYPE_XILINX_SPIPS)
-#define XILINX_SPIPS_CLASS(klass) \
-     OBJECT_CLASS_CHECK(XilinxSPIPSClass, (klass), TYPE_XILINX_SPIPS)
-#define XILINX_SPIPS_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(XilinxSPIPSClass, (obj), TYPE_XILINX_SPIPS)
-
-#define XILINX_QSPIPS(obj) \
-     OBJECT_CHECK(XilinxQSPIPS, (obj), TYPE_XILINX_QSPIPS)
-
-#define XLNX_ZYNQMP_QSPIPS(obj) \
-     OBJECT_CHECK(XlnxZynqMPQSPIPS, (obj), TYPE_XLNX_ZYNQMP_QSPIPS)
+DECLARE_OBJ_CHECKERS(XilinxSPIPS, XilinxSPIPSClass,
+                     XILINX_SPIPS, TYPE_XILINX_SPIPS)
+
+DECLARE_INSTANCE_CHECKER(XilinxQSPIPS, XILINX_QSPIPS,
+                         TYPE_XILINX_QSPIPS)
+
+DECLARE_INSTANCE_CHECKER(XlnxZynqMPQSPIPS, XLNX_ZYNQMP_QSPIPS,
+                         TYPE_XLNX_ZYNQMP_QSPIPS)
 
 #endif /* XILINX_SPIPS_H */
index bd41750e9409276eca7e85ac081c50c2a18d4db3..e39d5a5b558458a5791e8f7f531fcc255d00ab60 100644 (file)
@@ -7,10 +7,8 @@
 #define TYPE_STREAM_SLAVE "stream-slave"
 
 typedef struct StreamSlaveClass StreamSlaveClass;
-#define STREAM_SLAVE_CLASS(klass) \
-     OBJECT_CLASS_CHECK(StreamSlaveClass, (klass), TYPE_STREAM_SLAVE)
-#define STREAM_SLAVE_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(StreamSlaveClass, (obj), TYPE_STREAM_SLAVE)
+DECLARE_CLASS_CHECKERS(StreamSlaveClass, STREAM_SLAVE,
+                       TYPE_STREAM_SLAVE)
 #define STREAM_SLAVE(obj) \
      INTERFACE_CHECK(StreamSlave, (obj), TYPE_STREAM_SLAVE)
 
index 3537e43f2370417b3fc53e2454343e25423d17bd..77e21bba18b1dda67a7b7d158e39c5bcd97cd05d 100644 (file)
 #define QDEV_MAX_PIO 32
 
 #define TYPE_SYSTEM_BUS "System"
-#define SYSTEM_BUS(obj) OBJECT_CHECK(BusState, (obj), TYPE_SYSTEM_BUS)
+DECLARE_INSTANCE_CHECKER(BusState, SYSTEM_BUS,
+                         TYPE_SYSTEM_BUS)
 
 typedef struct SysBusDevice SysBusDevice;
 
 #define TYPE_SYS_BUS_DEVICE "sys-bus-device"
 typedef struct SysBusDeviceClass SysBusDeviceClass;
-#define SYS_BUS_DEVICE(obj) \
-     OBJECT_CHECK(SysBusDevice, (obj), TYPE_SYS_BUS_DEVICE)
-#define SYS_BUS_DEVICE_CLASS(klass) \
-     OBJECT_CLASS_CHECK(SysBusDeviceClass, (klass), TYPE_SYS_BUS_DEVICE)
-#define SYS_BUS_DEVICE_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(SysBusDeviceClass, (obj), TYPE_SYS_BUS_DEVICE)
+DECLARE_OBJ_CHECKERS(SysBusDevice, SysBusDeviceClass,
+                     SYS_BUS_DEVICE, TYPE_SYS_BUS_DEVICE)
 
 /**
  * SysBusDeviceClass:
index 88811c6c8f12a0fe2fbf6c54415d0274fc9dfa4b..f6fcc4bfc6a556d57bcddfdb5a89b8f80ed55d7e 100644 (file)
@@ -30,7 +30,8 @@
 
 #define TYPE_A9_GTIMER "arm.cortex-a9-global-timer"
 typedef struct A9GTimerState A9GTimerState;
-#define A9_GTIMER(obj) OBJECT_CHECK(A9GTimerState, (obj), TYPE_A9_GTIMER)
+DECLARE_INSTANCE_CHECKER(A9GTimerState, A9_GTIMER,
+                         TYPE_A9_GTIMER)
 
 #define R_COUNTER_LO                0x00
 #define R_COUNTER_HI                0x04
index fa060c684d70f2fec7f29c638fa3ea72553b701b..9638e3c84c4f1735120ca071520325344efd9192 100644 (file)
@@ -7,7 +7,8 @@
 
 #define TYPE_AW_A10_PIT "allwinner-A10-timer"
 typedef struct AwA10PITState AwA10PITState;
-#define AW_A10_PIT(obj) OBJECT_CHECK(AwA10PITState, (obj), TYPE_AW_A10_PIT)
+DECLARE_INSTANCE_CHECKER(AwA10PITState, AW_A10_PIT,
+                         TYPE_AW_A10_PIT)
 
 #define AW_A10_PIT_TIMER_NR    6
 #define AW_A10_PIT_TIMER_IRQ   0x1
index 643a256ecfaec8e636880ccaa5bca0150308ef9b..47d5e5168671887c7c3e17e55834a2a54022b038 100644 (file)
@@ -37,8 +37,8 @@ typedef struct {
 
 #define TYPE_ARM_MPTIMER "arm_mptimer"
 typedef struct ARMMPTimerState ARMMPTimerState;
-#define ARM_MPTIMER(obj) \
-    OBJECT_CHECK(ARMMPTimerState, (obj), TYPE_ARM_MPTIMER)
+DECLARE_INSTANCE_CHECKER(ARMMPTimerState, ARM_MPTIMER,
+                         TYPE_ARM_MPTIMER)
 
 struct ARMMPTimerState {
     /*< private >*/
index 33df057958cd20a44eabfe4240de67b9abff3908..b605688fee2107e014c6d58d7eb2b23393b4e755 100644 (file)
@@ -18,7 +18,8 @@
 #define TYPE_SYSTICK "armv7m_systick"
 
 typedef struct SysTickState SysTickState;
-#define SYSTICK(obj) OBJECT_CHECK(SysTickState, (obj), TYPE_SYSTICK)
+DECLARE_INSTANCE_CHECKER(SysTickState, SYSTICK,
+                         TYPE_SYSTICK)
 
 struct SysTickState {
     /*< private >*/
index c890aaa949adacb1ef4f4f5c06ee8e9ac3f49a5f..4c76f955c9bf34c41f695b3264f5a6c0f0b3e868 100644 (file)
@@ -29,8 +29,8 @@
 #define TYPE_ASPEED_TIMER "aspeed.timer"
 typedef struct AspeedTimerClass AspeedTimerClass;
 typedef struct AspeedTimerCtrlState AspeedTimerCtrlState;
-#define ASPEED_TIMER(obj) \
-    OBJECT_CHECK(AspeedTimerCtrlState, (obj), TYPE_ASPEED_TIMER)
+DECLARE_OBJ_CHECKERS(AspeedTimerCtrlState, AspeedTimerClass,
+                     ASPEED_TIMER, TYPE_ASPEED_TIMER)
 #define TYPE_ASPEED_2400_TIMER TYPE_ASPEED_TIMER "-ast2400"
 #define TYPE_ASPEED_2500_TIMER TYPE_ASPEED_TIMER "-ast2500"
 #define TYPE_ASPEED_2600_TIMER TYPE_ASPEED_TIMER "-ast2600"
@@ -69,10 +69,6 @@ struct AspeedTimerCtrlState {
     AspeedSCUState *scu;
 };
 
-#define ASPEED_TIMER_CLASS(klass) \
-     OBJECT_CLASS_CHECK(AspeedTimerClass, (klass), TYPE_ASPEED_TIMER)
-#define ASPEED_TIMER_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(AspeedTimerClass, (obj), TYPE_ASPEED_TIMER)
 
 struct AspeedTimerClass {
     SysBusDeviceClass parent_class;
index 9efe75ce5e10c407233778c3697e821b21d3f827..d454bb31cb6b8e132be2686a8fd1e4554aa3f444 100644 (file)
@@ -43,8 +43,8 @@ enum NextInterrupt {
 
 #define TYPE_AVR_TIMER16 "avr-timer16"
 typedef struct AVRTimer16State AVRTimer16State;
-#define AVR_TIMER16(obj) \
-    OBJECT_CHECK(AVRTimer16State, (obj), TYPE_AVR_TIMER16)
+DECLARE_INSTANCE_CHECKER(AVRTimer16State, AVR_TIMER16,
+                         TYPE_AVR_TIMER16)
 
 struct AVRTimer16State {
     /* <private> */
index 796f62cf8890a1fbd6e42ba1fc77aa58aaccb2b9..64166bd7120af500533a721571bfd76a990229af 100644 (file)
@@ -15,8 +15,8 @@
 
 #define TYPE_BCM2835_SYSTIMER "bcm2835-sys-timer"
 typedef struct BCM2835SystemTimerState BCM2835SystemTimerState;
-#define BCM2835_SYSTIMER(obj) \
-    OBJECT_CHECK(BCM2835SystemTimerState, (obj), TYPE_BCM2835_SYSTIMER)
+DECLARE_INSTANCE_CHECKER(BCM2835SystemTimerState, BCM2835_SYSTIMER,
+                         TYPE_BCM2835_SYSTIMER)
 
 struct BCM2835SystemTimerState {
     /*< private >*/
index 8a1137aec7b009f368cdec315402089200c44b57..7a5b9df5e58c9bce47d9911eed6601444b098f6e 100644 (file)
@@ -32,8 +32,8 @@
 
 #define TYPE_CMSDK_APB_DUALTIMER "cmsdk-apb-dualtimer"
 typedef struct CMSDKAPBDualTimer CMSDKAPBDualTimer;
-#define CMSDK_APB_DUALTIMER(obj) OBJECT_CHECK(CMSDKAPBDualTimer, (obj), \
-                                              TYPE_CMSDK_APB_DUALTIMER)
+DECLARE_INSTANCE_CHECKER(CMSDKAPBDualTimer, CMSDK_APB_DUALTIMER,
+                         TYPE_CMSDK_APB_DUALTIMER)
 
 
 /* One of the two identical timer modules in the dual-timer module */
index a7ca523529bd8cae2afd157312f5c93edb676a90..0912bc0f3ca6109bb861bb42e4005b722a307eba 100644 (file)
@@ -19,8 +19,8 @@
 
 #define TYPE_CMSDK_APB_TIMER "cmsdk-apb-timer"
 typedef struct CMSDKAPBTIMER CMSDKAPBTIMER;
-#define CMSDK_APB_TIMER(obj) OBJECT_CHECK(CMSDKAPBTIMER, (obj), \
-                                         TYPE_CMSDK_APB_TIMER)
+DECLARE_INSTANCE_CHECKER(CMSDKAPBTIMER, CMSDK_APB_TIMER,
+                         TYPE_CMSDK_APB_TIMER)
 
 struct CMSDKAPBTIMER {
     /*< private >*/
index 543bf8c6be7a720e738af7862790204195ec124e..84a0ef473a0198aab8c9fd29e8c00b94932a8291 100644 (file)
@@ -24,7 +24,8 @@
 
 #define TYPE_DIGIC_TIMER "digic-timer"
 typedef struct DigicTimerState DigicTimerState;
-#define DIGIC_TIMER(obj) OBJECT_CHECK(DigicTimerState, (obj), TYPE_DIGIC_TIMER)
+DECLARE_INSTANCE_CHECKER(DigicTimerState, DIGIC_TIMER,
+                         TYPE_DIGIC_TIMER)
 
 #define DIGIC_TIMER_CONTROL 0x00
 #define DIGIC_TIMER_CONTROL_RST 0x80000000
index 6adbc31e7ee00380c1e8f774c2b3b6cb0dc73244..1a522a24570b33bf5c2fd778b40f6a306dc781ba 100644 (file)
@@ -42,12 +42,8 @@ typedef struct PITChannelInfo {
 #define TYPE_PIT_COMMON "pit-common"
 typedef struct PITCommonState PITCommonState;
 typedef struct PITCommonClass PITCommonClass;
-#define PIT_COMMON(obj) \
-     OBJECT_CHECK(PITCommonState, (obj), TYPE_PIT_COMMON)
-#define PIT_COMMON_CLASS(klass) \
-     OBJECT_CLASS_CHECK(PITCommonClass, (klass), TYPE_PIT_COMMON)
-#define PIT_COMMON_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(PITCommonClass, (obj), TYPE_PIT_COMMON)
+DECLARE_OBJ_CHECKERS(PITCommonState, PITCommonClass,
+                     PIT_COMMON, TYPE_PIT_COMMON)
 
 #define TYPE_I8254 "isa-pit"
 #define TYPE_KVM_I8254 "kvm-pit"
index 1ca110caf53289e0a2f515031fb389c93768391d..39bcf813318f0fd5794c1cc1ed5990a1ce510b08 100644 (file)
@@ -57,7 +57,8 @@
 
 #define TYPE_IMX_EPIT "imx.epit"
 typedef struct IMXEPITState IMXEPITState;
-#define IMX_EPIT(obj) OBJECT_CHECK(IMXEPITState, (obj), TYPE_IMX_EPIT)
+DECLARE_INSTANCE_CHECKER(IMXEPITState, IMX_EPIT,
+                         TYPE_IMX_EPIT)
 
 struct IMXEPITState {
     /*< private >*/
index b96633d8b2110261caf576d5017659a31ae7fdcf..ff5c8a351a053cce9e95489cfead5a1f9f1fabb4 100644 (file)
@@ -83,7 +83,8 @@
 #define TYPE_IMX_GPT TYPE_IMX25_GPT
 
 typedef struct IMXGPTState IMXGPTState;
-#define IMX_GPT(obj) OBJECT_CHECK(IMXGPTState, (obj), TYPE_IMX_GPT)
+DECLARE_INSTANCE_CHECKER(IMXGPTState, IMX_GPT,
+                         TYPE_IMX_GPT)
 
 struct IMXGPTState {
     /*< private >*/
index 011c5f1ba933d1354a7c260db097cbf1a1615531..d207bae2c0efa0d98229cc5886f3b530e909503e 100644 (file)
@@ -31,8 +31,8 @@
 
 #define TYPE_MSS_TIMER     "mss-timer"
 typedef struct MSSTimerState MSSTimerState;
-#define MSS_TIMER(obj)     OBJECT_CHECK(MSSTimerState, \
-                              (obj), TYPE_MSS_TIMER)
+DECLARE_INSTANCE_CHECKER(MSSTimerState, MSS_TIMER,
+                         TYPE_MSS_TIMER)
 
 /*
  * There are two 32-bit down counting timers.
index b4eb29bd761627d512d70a55850569e002b938c9..4261a03b95ccb793b1596c4f211bc1cf5f42045f 100644 (file)
@@ -18,7 +18,8 @@
 #include "qom/object.h"
 #define TYPE_NRF51_TIMER "nrf51_soc.timer"
 typedef struct NRF51TimerState NRF51TimerState;
-#define NRF51_TIMER(obj) OBJECT_CHECK(NRF51TimerState, (obj), TYPE_NRF51_TIMER)
+DECLARE_INSTANCE_CHECKER(NRF51TimerState, NRF51_TIMER,
+                         TYPE_NRF51_TIMER)
 
 #define NRF51_TIMER_REG_COUNT 4
 
index 313f9e19659f770df7c56f10e747b9e4d4128997..1c0b65c1d5a702c4c18b48a5f37dd6c20f1db56b 100644 (file)
@@ -15,7 +15,8 @@
 
 #define TYPE_RENESAS_CMT "renesas-cmt"
 typedef struct RCMTState RCMTState;
-#define RCMT(obj) OBJECT_CHECK(RCMTState, (obj), TYPE_RENESAS_CMT)
+DECLARE_INSTANCE_CHECKER(RCMTState, RCMT,
+                         TYPE_RENESAS_CMT)
 
 enum {
     CMT_CH = 2,
index e2abcb13ade4f3e29bdbec8587e842bac57dfbc2..caf7eec0dca527ecd97dc03600f91ef8ac02b363 100644 (file)
@@ -15,7 +15,8 @@
 
 #define TYPE_RENESAS_TMR "renesas-tmr"
 typedef struct RTMRState RTMRState;
-#define RTMR(obj) OBJECT_CHECK(RTMRState, (obj), TYPE_RENESAS_TMR)
+DECLARE_INSTANCE_CHECKER(RTMRState, RTMR,
+                         TYPE_RENESAS_TMR)
 
 enum timer_event {
     cmia = 0,
index 9eb9201085cb5d65a1f20c85be340b0cb1bf663b..90f40f1746f935d2657ca1ffc4c93615a64d3d71 100644 (file)
@@ -63,8 +63,8 @@
 
 #define TYPE_STM32F2XX_TIMER "stm32f2xx-timer"
 typedef struct STM32F2XXTimerState STM32F2XXTimerState;
-#define STM32F2XXTIMER(obj) OBJECT_CHECK(STM32F2XXTimerState, \
-                            (obj), TYPE_STM32F2XX_TIMER)
+DECLARE_INSTANCE_CHECKER(STM32F2XXTimerState, STM32F2XXTIMER,
+                         TYPE_STM32F2XX_TIMER)
 
 struct STM32F2XXTimerState {
     /* <private> */
index e6ec0c891cc29c9e615f847f8ed2645dd988c5e0..57836354917eb9463945ceeac98d05f6dc955976 100644 (file)
@@ -266,12 +266,8 @@ struct USBDevice {
 
 #define TYPE_USB_DEVICE "usb-device"
 typedef struct USBDeviceClass USBDeviceClass;
-#define USB_DEVICE(obj) \
-     OBJECT_CHECK(USBDevice, (obj), TYPE_USB_DEVICE)
-#define USB_DEVICE_CLASS(klass) \
-     OBJECT_CLASS_CHECK(USBDeviceClass, (klass), TYPE_USB_DEVICE)
-#define USB_DEVICE_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(USBDeviceClass, (obj), TYPE_USB_DEVICE)
+DECLARE_OBJ_CHECKERS(USBDevice, USBDeviceClass,
+                     USB_DEVICE, TYPE_USB_DEVICE)
 
 typedef void (*USBDeviceRealize)(USBDevice *dev, Error **errp);
 typedef void (*USBDeviceUnrealize)(USBDevice *dev);
@@ -479,7 +475,8 @@ bool usb_host_dev_is_scsi_storage(USBDevice *usbdev);
 /* usb-bus.c */
 
 #define TYPE_USB_BUS "usb-bus"
-#define USB_BUS(obj) OBJECT_CHECK(USBBus, (obj), TYPE_USB_BUS)
+DECLARE_INSTANCE_CHECKER(USBBus, USB_BUS,
+                         TYPE_USB_BUS)
 
 struct USBBus {
     BusState qbus;
index 1db449e1c4df9a8cddc0ffac54d201884128e9c8..f0303b87210418cbf0577bc4bbb932e380d5090d 100644 (file)
@@ -13,6 +13,7 @@ struct ChipideaState {
 typedef struct ChipideaState ChipideaState;
 
 #define TYPE_CHIPIDEA "usb-chipidea"
-#define CHIPIDEA(obj) OBJECT_CHECK(ChipideaState, (obj), TYPE_CHIPIDEA)
+DECLARE_INSTANCE_CHECKER(ChipideaState, CHIPIDEA,
+                         TYPE_CHIPIDEA)
 
 #endif /* CHIPIDEA_H */
index 9861acb5ac413fb4b13e7819cf84f3541bff4b52..f7f92fc4621b81c89611f1f794c6f34dee62222e 100644 (file)
@@ -40,7 +40,8 @@ enum IMXUsbPhyRegisters {
 
 #define TYPE_IMX_USBPHY "imx.usbphy"
 typedef struct IMXUSBPHYState IMXUSBPHYState;
-#define IMX_USBPHY(obj) OBJECT_CHECK(IMXUSBPHYState, (obj), TYPE_IMX_USBPHY)
+DECLARE_INSTANCE_CHECKER(IMXUSBPHYState, IMX_USBPHY,
+                         TYPE_IMX_USBPHY)
 
 struct IMXUSBPHYState {
     /* <private> */
index b860ac04468d31e32173396a735ade6ddea36487..a894546c02d140d2b689f09ace733c4d43019371 100644 (file)
@@ -40,13 +40,7 @@ struct VFIOAmdXgbeDeviceClass {
 
 typedef struct VFIOAmdXgbeDeviceClass VFIOAmdXgbeDeviceClass;
 
-#define VFIO_AMD_XGBE_DEVICE(obj) \
-     OBJECT_CHECK(VFIOAmdXgbeDevice, (obj), TYPE_VFIO_AMD_XGBE)
-#define VFIO_AMD_XGBE_DEVICE_CLASS(klass) \
-     OBJECT_CLASS_CHECK(VFIOAmdXgbeDeviceClass, (klass), \
-                        TYPE_VFIO_AMD_XGBE)
-#define VFIO_AMD_XGBE_DEVICE_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(VFIOAmdXgbeDeviceClass, (obj), \
-                      TYPE_VFIO_AMD_XGBE)
+DECLARE_OBJ_CHECKERS(VFIOAmdXgbeDevice, VFIOAmdXgbeDeviceClass,
+                     VFIO_AMD_XGBE_DEVICE, TYPE_VFIO_AMD_XGBE)
 
 #endif
index b19dc2160bab8ea11a9dfa3ed89f7854580cf6e1..8482f151dd5ab8ca5f7e8f4300e67314604a68e3 100644 (file)
@@ -37,13 +37,7 @@ struct VFIOCalxedaXgmacDeviceClass {
 };
 typedef struct VFIOCalxedaXgmacDeviceClass VFIOCalxedaXgmacDeviceClass;
 
-#define VFIO_CALXEDA_XGMAC_DEVICE(obj) \
-     OBJECT_CHECK(VFIOCalxedaXgmacDevice, (obj), TYPE_VFIO_CALXEDA_XGMAC)
-#define VFIO_CALXEDA_XGMAC_DEVICE_CLASS(klass) \
-     OBJECT_CLASS_CHECK(VFIOCalxedaXgmacDeviceClass, (klass), \
-                        TYPE_VFIO_CALXEDA_XGMAC)
-#define VFIO_CALXEDA_XGMAC_DEVICE_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(VFIOCalxedaXgmacDeviceClass, (obj), \
-                      TYPE_VFIO_CALXEDA_XGMAC)
+DECLARE_OBJ_CHECKERS(VFIOCalxedaXgmacDevice, VFIOCalxedaXgmacDeviceClass,
+                     VFIO_CALXEDA_XGMAC_DEVICE, TYPE_VFIO_CALXEDA_XGMAC)
 
 #endif
index 248c23dba7eb34ace891ddc74454489f4cdc032c..c414c3dffcc840a2f40a1b252d0f7b4e309c78d4 100644 (file)
@@ -70,11 +70,7 @@ struct VFIOPlatformDeviceClass {
 };
 typedef struct VFIOPlatformDeviceClass VFIOPlatformDeviceClass;
 
-#define VFIO_PLATFORM_DEVICE(obj) \
-     OBJECT_CHECK(VFIOPlatformDevice, (obj), TYPE_VFIO_PLATFORM)
-#define VFIO_PLATFORM_DEVICE_CLASS(klass) \
-     OBJECT_CLASS_CHECK(VFIOPlatformDeviceClass, (klass), TYPE_VFIO_PLATFORM)
-#define VFIO_PLATFORM_DEVICE_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(VFIOPlatformDeviceClass, (obj), TYPE_VFIO_PLATFORM)
+DECLARE_OBJ_CHECKERS(VFIOPlatformDevice, VFIOPlatformDeviceClass,
+                     VFIO_PLATFORM_DEVICE, TYPE_VFIO_PLATFORM)
 
 #endif /* HW_VFIO_VFIO_PLATFORM_H */
index f198f25119cbd015dc119a89884ed5ebc53c9944..5f0bf73d9ddb3476358c7cd758c03daab54d3560 100644 (file)
@@ -21,8 +21,8 @@
 
 #define TYPE_VHOST_SCSI_COMMON "vhost-scsi-common"
 typedef struct VHostSCSICommon VHostSCSICommon;
-#define VHOST_SCSI_COMMON(obj) \
-        OBJECT_CHECK(VHostSCSICommon, (obj), TYPE_VHOST_SCSI_COMMON)
+DECLARE_INSTANCE_CHECKER(VHostSCSICommon, VHOST_SCSI_COMMON,
+                         TYPE_VHOST_SCSI_COMMON)
 
 struct VHostSCSICommon {
     VirtIOSCSICommon parent_obj;
index 72ae842646721d31f1784dd95fff6b88e5743c97..7a776441506447e85f8194a488e1305fbda044df 100644 (file)
@@ -27,8 +27,8 @@ enum vhost_scsi_vq_list {
 
 #define TYPE_VHOST_SCSI "vhost-scsi"
 typedef struct VHostSCSI VHostSCSI;
-#define VHOST_SCSI(obj) \
-        OBJECT_CHECK(VHostSCSI, (obj), TYPE_VHOST_SCSI)
+DECLARE_INSTANCE_CHECKER(VHostSCSI, VHOST_SCSI,
+                         TYPE_VHOST_SCSI)
 
 struct VHostSCSI {
     VHostSCSICommon parent_obj;
index 9d38877907548c765e569c2926c64482dcb3eb8a..dc40ab6f11b4a2787df5b45e50b98b6e83ed8620 100644 (file)
@@ -24,8 +24,8 @@
 
 #define TYPE_VHOST_USER_BLK "vhost-user-blk"
 typedef struct VHostUserBlk VHostUserBlk;
-#define VHOST_USER_BLK(obj) \
-        OBJECT_CHECK(VHostUserBlk, (obj), TYPE_VHOST_USER_BLK)
+DECLARE_INSTANCE_CHECKER(VHostUserBlk, VHOST_USER_BLK,
+                         TYPE_VHOST_USER_BLK)
 
 #define VHOST_USER_BLK_AUTO_NUM_QUEUES UINT16_MAX
 
index fa82be0e8a4a63450387547dd8a401e751237a05..9033e6f902c29186493c75aa583c40c2d32b30c4 100644 (file)
@@ -22,8 +22,8 @@
 
 #define TYPE_VHOST_USER_FS "vhost-user-fs-device"
 typedef struct VHostUserFS VHostUserFS;
-#define VHOST_USER_FS(obj) \
-        OBJECT_CHECK(VHostUserFS, (obj), TYPE_VHOST_USER_FS)
+DECLARE_INSTANCE_CHECKER(VHostUserFS, VHOST_USER_FS,
+                         TYPE_VHOST_USER_FS)
 
 typedef struct {
     CharBackend chardev;
index c4c4c29bf94eb329d24c588b6647db9ea93e8e86..342d67ee9e3276d4950a61b739cbd347a9d0de6a 100644 (file)
@@ -25,8 +25,8 @@
 
 #define TYPE_VHOST_USER_SCSI "vhost-user-scsi"
 typedef struct VHostUserSCSI VHostUserSCSI;
-#define VHOST_USER_SCSI(obj) \
-        OBJECT_CHECK(VHostUserSCSI, (obj), TYPE_VHOST_USER_SCSI)
+DECLARE_INSTANCE_CHECKER(VHostUserSCSI, VHOST_USER_SCSI,
+                         TYPE_VHOST_USER_SCSI)
 
 struct VHostUserSCSI {
     VHostSCSICommon parent_obj;
index d7eda986b628d9e1fa77879658fd9ec6099ed030..b3c40c16a3091568cfd54741d4c0298d75e08a2a 100644 (file)
@@ -18,8 +18,8 @@
 
 #define TYPE_VHOST_USER_VSOCK "vhost-user-vsock-device"
 typedef struct VHostUserVSock VHostUserVSock;
-#define VHOST_USER_VSOCK(obj) \
-        OBJECT_CHECK(VHostUserVSock, (obj), TYPE_VHOST_USER_VSOCK)
+DECLARE_INSTANCE_CHECKER(VHostUserVSock, VHOST_USER_VSOCK,
+                         TYPE_VHOST_USER_VSOCK)
 
 typedef struct {
     CharBackend chardev;
index a1813962158825de41ed05d140e5718005a0ae08..60bfb68db10d01e9c19ccad6b73b9a77a67171f3 100644 (file)
@@ -17,8 +17,8 @@
 
 #define TYPE_VHOST_VSOCK_COMMON "vhost-vsock-common"
 typedef struct VHostVSockCommon VHostVSockCommon;
-#define VHOST_VSOCK_COMMON(obj) \
-        OBJECT_CHECK(VHostVSockCommon, (obj), TYPE_VHOST_VSOCK_COMMON)
+DECLARE_INSTANCE_CHECKER(VHostVSockCommon, VHOST_VSOCK_COMMON,
+                         TYPE_VHOST_VSOCK_COMMON)
 
 enum {
     VHOST_VSOCK_SAVEVM_VERSION = 0,
index e13ff85d12f79b90e87876b99ab2ccfce8489255..c561cc427ad5dcea42b3af3c9532ba6779806a44 100644 (file)
@@ -19,8 +19,8 @@
 
 #define TYPE_VHOST_VSOCK "vhost-vsock-device"
 typedef struct VHostVSock VHostVSock;
-#define VHOST_VSOCK(obj) \
-        OBJECT_CHECK(VHostVSock, (obj), TYPE_VHOST_VSOCK)
+DECLARE_INSTANCE_CHECKER(VHostVSock, VHOST_VSOCK,
+                         TYPE_VHOST_VSOCK)
 
 typedef struct {
     uint64_t guest_cid;
index a5b869a4d42174064a85f450aa685c14b9de2ec2..0d08f496d925861bf5d640128d8ffe91989488d4 100644 (file)
@@ -22,8 +22,8 @@
 
 #define TYPE_VIRTIO_BALLOON "virtio-balloon-device"
 typedef struct VirtIOBalloon VirtIOBalloon;
-#define VIRTIO_BALLOON(obj) \
-        OBJECT_CHECK(VirtIOBalloon, (obj), TYPE_VIRTIO_BALLOON)
+DECLARE_INSTANCE_CHECKER(VirtIOBalloon, VIRTIO_BALLOON,
+                         TYPE_VIRTIO_BALLOON)
 
 #define VIRTIO_BALLOON_FREE_PAGE_HINT_CMD_ID_MIN 0x80000000
 
index d299b55cb9706ffaac98446373751d4074c8190a..29c9f3235305cbd8a1e39538f88dccd53066e048 100644 (file)
@@ -23,8 +23,8 @@
 
 #define TYPE_VIRTIO_BLK "virtio-blk-device"
 typedef struct VirtIOBlock VirtIOBlock;
-#define VIRTIO_BLK(obj) \
-        OBJECT_CHECK(VirtIOBlock, (obj), TYPE_VIRTIO_BLK)
+DECLARE_INSTANCE_CHECKER(VirtIOBlock, VIRTIO_BLK,
+                         TYPE_VIRTIO_BLK)
 
 /* This is the last element of the write scatter-gather list */
 struct virtio_blk_inhdr
index f3e9096370aee16c412bd3a28b00ee08e08ad8cb..ef8abe49c5a160a078a50181cf8f82ff9af79858 100644 (file)
 #define TYPE_VIRTIO_BUS "virtio-bus"
 typedef struct VirtioBusClass VirtioBusClass;
 typedef struct VirtioBusState VirtioBusState;
-#define VIRTIO_BUS_GET_CLASS(obj) \
-        OBJECT_GET_CLASS(VirtioBusClass, obj, TYPE_VIRTIO_BUS)
-#define VIRTIO_BUS_CLASS(klass) \
-        OBJECT_CLASS_CHECK(VirtioBusClass, klass, TYPE_VIRTIO_BUS)
-#define VIRTIO_BUS(obj) OBJECT_CHECK(VirtioBusState, (obj), TYPE_VIRTIO_BUS)
+DECLARE_OBJ_CHECKERS(VirtioBusState, VirtioBusClass,
+                     VIRTIO_BUS, TYPE_VIRTIO_BUS)
 
 
 struct VirtioBusClass {
index 4134e1b7cadf3af52ddbc9bab8533eedc441e5d0..7969695983a4501159a06e71389ead6c15b9b918 100644 (file)
@@ -33,8 +33,8 @@ do { \
 
 #define TYPE_VIRTIO_CRYPTO "virtio-crypto-device"
 typedef struct VirtIOCrypto VirtIOCrypto;
-#define VIRTIO_CRYPTO(obj) \
-        OBJECT_CHECK(VirtIOCrypto, (obj), TYPE_VIRTIO_CRYPTO)
+DECLARE_INSTANCE_CHECKER(VirtIOCrypto, VIRTIO_CRYPTO,
+                         TYPE_VIRTIO_CRYPTO)
 #define VIRTIO_CRYPTO_GET_PARENT_CLASS(obj) \
         OBJECT_GET_PARENT_CLASS(obj, TYPE_VIRTIO_CRYPTO)
 
index d727c8cada266f9e788b447b9a8b23bc12792446..5201792ede0b785ae0dc6b508e709f393db02f75 100644 (file)
@@ -24,8 +24,8 @@ typedef struct VirtIOGPUPCIBase VirtIOGPUPCIBase;
  * virtio-gpu-pci-base: This extends VirtioPCIProxy.
  */
 #define TYPE_VIRTIO_GPU_PCI_BASE "virtio-gpu-pci-base"
-#define VIRTIO_GPU_PCI_BASE(obj)                                    \
-    OBJECT_CHECK(VirtIOGPUPCIBase, (obj), TYPE_VIRTIO_GPU_PCI_BASE)
+DECLARE_INSTANCE_CHECKER(VirtIOGPUPCIBase, VIRTIO_GPU_PCI_BASE,
+                         TYPE_VIRTIO_GPU_PCI_BASE)
 
 struct VirtIOGPUPCIBase {
     VirtIOPCIProxy parent_obj;
index f464004bc27f2955efa2bbbe1c36a30c15a7f3d8..72f8689e2eb6fb7ecfff98bab15fca4fdfa2db3e 100644 (file)
 #define TYPE_VIRTIO_GPU_BASE "virtio-gpu-base"
 typedef struct VirtIOGPUBase VirtIOGPUBase;
 typedef struct VirtIOGPUBaseClass VirtIOGPUBaseClass;
-#define VIRTIO_GPU_BASE(obj)                                                \
-    OBJECT_CHECK(VirtIOGPUBase, (obj), TYPE_VIRTIO_GPU_BASE)
-#define VIRTIO_GPU_BASE_GET_CLASS(obj)                                      \
-    OBJECT_GET_CLASS(VirtIOGPUBaseClass, obj, TYPE_VIRTIO_GPU_BASE)
-#define VIRTIO_GPU_BASE_CLASS(klass)                                        \
-    OBJECT_CLASS_CHECK(VirtIOGPUBaseClass, klass, TYPE_VIRTIO_GPU_BASE)
+DECLARE_OBJ_CHECKERS(VirtIOGPUBase, VirtIOGPUBaseClass,
+                     VIRTIO_GPU_BASE, TYPE_VIRTIO_GPU_BASE)
 
 #define TYPE_VIRTIO_GPU "virtio-gpu-device"
 typedef struct VirtIOGPU VirtIOGPU;
-#define VIRTIO_GPU(obj)                                        \
-        OBJECT_CHECK(VirtIOGPU, (obj), TYPE_VIRTIO_GPU)
+DECLARE_INSTANCE_CHECKER(VirtIOGPU, VIRTIO_GPU,
+                         TYPE_VIRTIO_GPU)
 
 #define TYPE_VHOST_USER_GPU "vhost-user-gpu"
 typedef struct VhostUserGPU VhostUserGPU;
-#define VHOST_USER_GPU(obj)                                    \
-    OBJECT_CHECK(VhostUserGPU, (obj), TYPE_VHOST_USER_GPU)
+DECLARE_INSTANCE_CHECKER(VhostUserGPU, VHOST_USER_GPU,
+                         TYPE_VHOST_USER_GPU)
 
 #define VIRTIO_ID_GPU 16
 
index c15e983d369604beb99134ac57ceee88158c4d74..c54aa6aa722b0c670af1595dda297f04eae9df7e 100644 (file)
@@ -21,14 +21,10 @@ typedef struct virtio_input_event virtio_input_event;
 #define TYPE_VIRTIO_INPUT "virtio-input-device"
 typedef struct VirtIOInput VirtIOInput;
 typedef struct VirtIOInputClass VirtIOInputClass;
-#define VIRTIO_INPUT(obj) \
-        OBJECT_CHECK(VirtIOInput, (obj), TYPE_VIRTIO_INPUT)
+DECLARE_OBJ_CHECKERS(VirtIOInput, VirtIOInputClass,
+                     VIRTIO_INPUT, TYPE_VIRTIO_INPUT)
 #define VIRTIO_INPUT_GET_PARENT_CLASS(obj) \
         OBJECT_GET_PARENT_CLASS(obj, TYPE_VIRTIO_INPUT)
-#define VIRTIO_INPUT_GET_CLASS(obj) \
-        OBJECT_GET_CLASS(VirtIOInputClass, obj, TYPE_VIRTIO_INPUT)
-#define VIRTIO_INPUT_CLASS(klass) \
-        OBJECT_CLASS_CHECK(VirtIOInputClass, klass, TYPE_VIRTIO_INPUT)
 
 #define TYPE_VIRTIO_INPUT_HID "virtio-input-hid-device"
 #define TYPE_VIRTIO_KEYBOARD  "virtio-keyboard-device"
@@ -36,22 +32,22 @@ typedef struct VirtIOInputClass VirtIOInputClass;
 #define TYPE_VIRTIO_TABLET    "virtio-tablet-device"
 
 typedef struct VirtIOInputHID VirtIOInputHID;
-#define VIRTIO_INPUT_HID(obj) \
-        OBJECT_CHECK(VirtIOInputHID, (obj), TYPE_VIRTIO_INPUT_HID)
+DECLARE_INSTANCE_CHECKER(VirtIOInputHID, VIRTIO_INPUT_HID,
+                         TYPE_VIRTIO_INPUT_HID)
 #define VIRTIO_INPUT_HID_GET_PARENT_CLASS(obj) \
         OBJECT_GET_PARENT_CLASS(obj, TYPE_VIRTIO_INPUT_HID)
 
 #define TYPE_VIRTIO_INPUT_HOST   "virtio-input-host-device"
 typedef struct VirtIOInputHost VirtIOInputHost;
-#define VIRTIO_INPUT_HOST(obj) \
-        OBJECT_CHECK(VirtIOInputHost, (obj), TYPE_VIRTIO_INPUT_HOST)
+DECLARE_INSTANCE_CHECKER(VirtIOInputHost, VIRTIO_INPUT_HOST,
+                         TYPE_VIRTIO_INPUT_HOST)
 #define VIRTIO_INPUT_HOST_GET_PARENT_CLASS(obj) \
         OBJECT_GET_PARENT_CLASS(obj, TYPE_VIRTIO_INPUT_HOST)
 
 #define TYPE_VHOST_USER_INPUT   "vhost-user-input"
 typedef struct VHostUserInput VHostUserInput;
-#define VHOST_USER_INPUT(obj)                              \
-    OBJECT_CHECK(VHostUserInput, (obj), TYPE_VHOST_USER_INPUT)
+DECLARE_INSTANCE_CHECKER(VHostUserInput, VHOST_USER_INPUT,
+                         TYPE_VHOST_USER_INPUT)
 #define VHOST_USER_INPUT_GET_PARENT_CLASS(obj)             \
     OBJECT_GET_PARENT_CLASS(obj, TYPE_VHOST_USER_INPUT)
 
index d852980b3074c99b3df70ca714974772af5be06e..ae9dc566c7e692ec7f6f60b41691c168f160f2ca 100644 (file)
@@ -28,8 +28,8 @@
 #define TYPE_VIRTIO_IOMMU "virtio-iommu-device"
 #define TYPE_VIRTIO_IOMMU_PCI "virtio-iommu-device-base"
 typedef struct VirtIOIOMMU VirtIOIOMMU;
-#define VIRTIO_IOMMU(obj) \
-        OBJECT_CHECK(VirtIOIOMMU, (obj), TYPE_VIRTIO_IOMMU)
+DECLARE_INSTANCE_CHECKER(VirtIOIOMMU, VIRTIO_IOMMU,
+                         TYPE_VIRTIO_IOMMU)
 
 #define TYPE_VIRTIO_IOMMU_MEMORY_REGION "virtio-iommu-memory-region"
 
index 08e37d8e8465d87a12a5782392a425eb5105e1a2..5f0b81a9674eae8676bb5724e29d1660e2f6aa90 100644 (file)
 
 typedef struct VirtIOMEM VirtIOMEM;
 typedef struct VirtIOMEMClass VirtIOMEMClass;
-#define VIRTIO_MEM(obj) \
-        OBJECT_CHECK(VirtIOMEM, (obj), TYPE_VIRTIO_MEM)
-#define VIRTIO_MEM_CLASS(oc) \
-        OBJECT_CLASS_CHECK(VirtIOMEMClass, (oc), TYPE_VIRTIO_MEM)
-#define VIRTIO_MEM_GET_CLASS(obj) \
-        OBJECT_GET_CLASS(VirtIOMEMClass, (obj), TYPE_VIRTIO_MEM)
+DECLARE_OBJ_CHECKERS(VirtIOMEM, VirtIOMEMClass,
+                     VIRTIO_MEM, TYPE_VIRTIO_MEM)
 
 #define VIRTIO_MEM_MEMDEV_PROP "memdev"
 #define VIRTIO_MEM_NODE_PROP "node"
index 947fb02d3ec40200f76f1aa0a3968cdc4a600b9a..dca651fd140603fe69c71ed5272dffc793e0a6cb 100644 (file)
@@ -38,8 +38,8 @@
 /* virtio-mmio */
 #define TYPE_VIRTIO_MMIO "virtio-mmio"
 typedef struct VirtIOMMIOProxy VirtIOMMIOProxy;
-#define VIRTIO_MMIO(obj) \
-        OBJECT_CHECK(VirtIOMMIOProxy, (obj), TYPE_VIRTIO_MMIO)
+DECLARE_INSTANCE_CHECKER(VirtIOMMIOProxy, VIRTIO_MMIO,
+                         TYPE_VIRTIO_MMIO)
 
 #define VIRT_MAGIC 0x74726976 /* 'virt' */
 #define VIRT_VERSION 2
index 2e81b5bfcb7c21b3bb50a62d556c899c01ab624b..929ed232dd1dd27f5c916b9fb7772330ec163459 100644 (file)
@@ -23,8 +23,8 @@
 
 #define TYPE_VIRTIO_NET "virtio-net-device"
 typedef struct VirtIONet VirtIONet;
-#define VIRTIO_NET(obj) \
-        OBJECT_CHECK(VirtIONet, (obj), TYPE_VIRTIO_NET)
+DECLARE_INSTANCE_CHECKER(VirtIONet, VIRTIO_NET,
+                         TYPE_VIRTIO_NET)
 
 #define TX_TIMER_INTERVAL 150000 /* 150 us */
 
index 56bce2be7a1e161f65ad5932b7ca348078224ef0..6c15abad707ff402cff14b455318f031bae448f9 100644 (file)
 
 typedef struct VirtIOPMEM VirtIOPMEM;
 typedef struct VirtIOPMEMClass VirtIOPMEMClass;
-#define VIRTIO_PMEM(obj) \
-        OBJECT_CHECK(VirtIOPMEM, (obj), TYPE_VIRTIO_PMEM)
-#define VIRTIO_PMEM_CLASS(oc) \
-        OBJECT_CLASS_CHECK(VirtIOPMEMClass, (oc), TYPE_VIRTIO_PMEM)
-#define VIRTIO_PMEM_GET_CLASS(obj) \
-        OBJECT_GET_CLASS(VirtIOPMEMClass, (obj), TYPE_VIRTIO_PMEM)
+DECLARE_OBJ_CHECKERS(VirtIOPMEM, VirtIOPMEMClass,
+                     VIRTIO_PMEM, TYPE_VIRTIO_PMEM)
 
 #define VIRTIO_PMEM_ADDR_PROP "memaddr"
 #define VIRTIO_PMEM_MEMDEV_PROP "memdev"
index 34fb5f695f9956709d1d68c6361a70212850eebb..3671c9ba19f07b43f754046c0ebe9d2760662efc 100644 (file)
@@ -19,8 +19,8 @@
 
 #define TYPE_VIRTIO_RNG "virtio-rng-device"
 typedef struct VirtIORNG VirtIORNG;
-#define VIRTIO_RNG(obj) \
-        OBJECT_CHECK(VirtIORNG, (obj), TYPE_VIRTIO_RNG)
+DECLARE_INSTANCE_CHECKER(VirtIORNG, VIRTIO_RNG,
+                         TYPE_VIRTIO_RNG)
 #define VIRTIO_RNG_GET_PARENT_CLASS(obj) \
         OBJECT_GET_PARENT_CLASS(obj, TYPE_VIRTIO_RNG)
 
index bbf4b9a3567673a082e209517d13b6c9698df918..9a8a06fdd18b4c43618305424f96c089be4591ed 100644 (file)
 
 #define TYPE_VIRTIO_SCSI_COMMON "virtio-scsi-common"
 typedef struct VirtIOSCSICommon VirtIOSCSICommon;
-#define VIRTIO_SCSI_COMMON(obj) \
-        OBJECT_CHECK(VirtIOSCSICommon, (obj), TYPE_VIRTIO_SCSI_COMMON)
+DECLARE_INSTANCE_CHECKER(VirtIOSCSICommon, VIRTIO_SCSI_COMMON,
+                         TYPE_VIRTIO_SCSI_COMMON)
 
 #define TYPE_VIRTIO_SCSI "virtio-scsi-device"
 typedef struct VirtIOSCSI VirtIOSCSI;
-#define VIRTIO_SCSI(obj) \
-        OBJECT_CHECK(VirtIOSCSI, (obj), TYPE_VIRTIO_SCSI)
+DECLARE_INSTANCE_CHECKER(VirtIOSCSI, VIRTIO_SCSI,
+                         TYPE_VIRTIO_SCSI)
 
 #define VIRTIO_SCSI_MAX_CHANNEL 0
 #define VIRTIO_SCSI_MAX_TARGET  255
index 94da09ec34f440782eb9cf7c713ed5bf3d0d5852..bbc76d50322f4ca8feb64b6162fe29866e7c90fa 100644 (file)
@@ -28,19 +28,15 @@ struct virtio_serial_conf {
 #define TYPE_VIRTIO_SERIAL_PORT "virtio-serial-port"
 typedef struct VirtIOSerialPort VirtIOSerialPort;
 typedef struct VirtIOSerialPortClass VirtIOSerialPortClass;
-#define VIRTIO_SERIAL_PORT(obj) \
-     OBJECT_CHECK(VirtIOSerialPort, (obj), TYPE_VIRTIO_SERIAL_PORT)
-#define VIRTIO_SERIAL_PORT_CLASS(klass) \
-     OBJECT_CLASS_CHECK(VirtIOSerialPortClass, (klass), TYPE_VIRTIO_SERIAL_PORT)
-#define VIRTIO_SERIAL_PORT_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(VirtIOSerialPortClass, (obj), TYPE_VIRTIO_SERIAL_PORT)
+DECLARE_OBJ_CHECKERS(VirtIOSerialPort, VirtIOSerialPortClass,
+                     VIRTIO_SERIAL_PORT, TYPE_VIRTIO_SERIAL_PORT)
 
 typedef struct VirtIOSerial VirtIOSerial;
 
 #define TYPE_VIRTIO_SERIAL_BUS "virtio-serial-bus"
 typedef struct VirtIOSerialBus VirtIOSerialBus;
-#define VIRTIO_SERIAL_BUS(obj) \
-      OBJECT_CHECK(VirtIOSerialBus, (obj), TYPE_VIRTIO_SERIAL_BUS)
+DECLARE_INSTANCE_CHECKER(VirtIOSerialBus, VIRTIO_SERIAL_BUS,
+                         TYPE_VIRTIO_SERIAL_BUS)
 
 
 struct VirtIOSerialPortClass {
@@ -230,7 +226,7 @@ size_t virtio_serial_guest_ready(VirtIOSerialPort *port);
 void virtio_serial_throttle_port(VirtIOSerialPort *port, bool throttle);
 
 #define TYPE_VIRTIO_SERIAL "virtio-serial-device"
-#define VIRTIO_SERIAL(obj) \
-        OBJECT_CHECK(VirtIOSerial, (obj), TYPE_VIRTIO_SERIAL)
+DECLARE_INSTANCE_CHECKER(VirtIOSerial, VIRTIO_SERIAL,
+                         TYPE_VIRTIO_SERIAL)
 
 #endif
index 261d087de816953c02fc75f4922abb644e43d65d..807280451b398897d24e97c0dac7b5690aaafa5b 100644 (file)
@@ -69,12 +69,8 @@ typedef struct VirtQueueElement
 
 #define TYPE_VIRTIO_DEVICE "virtio-device"
 typedef struct VirtioDeviceClass VirtioDeviceClass;
-#define VIRTIO_DEVICE_GET_CLASS(obj) \
-        OBJECT_GET_CLASS(VirtioDeviceClass, obj, TYPE_VIRTIO_DEVICE)
-#define VIRTIO_DEVICE_CLASS(klass) \
-        OBJECT_CLASS_CHECK(VirtioDeviceClass, klass, TYPE_VIRTIO_DEVICE)
-#define VIRTIO_DEVICE(obj) \
-        OBJECT_CHECK(VirtIODevice, (obj), TYPE_VIRTIO_DEVICE)
+DECLARE_OBJ_CHECKERS(VirtIODevice, VirtioDeviceClass,
+                     VIRTIO_DEVICE, TYPE_VIRTIO_DEVICE)
 
 enum virtio_device_endian {
     VIRTIO_DEVICE_ENDIAN_UNKNOWN,
index eabf5b05adb3090677ad2eb5af4cc7fbceb2cacf..52df571d17abbe8734ebc9be320ce1da4c7a1c2d 100644 (file)
 #define TYPE_VMSTATE_IF "vmstate-if"
 
 typedef struct VMStateIfClass VMStateIfClass;
-#define VMSTATE_IF_CLASS(klass)                                     \
-    OBJECT_CLASS_CHECK(VMStateIfClass, (klass), TYPE_VMSTATE_IF)
-#define VMSTATE_IF_GET_CLASS(obj)                           \
-    OBJECT_GET_CLASS(VMStateIfClass, (obj), TYPE_VMSTATE_IF)
+DECLARE_CLASS_CHECKERS(VMStateIfClass, VMSTATE_IF,
+                       TYPE_VMSTATE_IF)
 #define VMSTATE_IF(obj)                             \
     INTERFACE_CHECK(VMStateIf, (obj), TYPE_VMSTATE_IF)
 
index be2983eefa364f62dcd8fa4b9152ebe38e826e92..63f4becf867d957728b00abe442afbcb0b313552 100644 (file)
@@ -37,8 +37,8 @@
 
 #define TYPE_CMSDK_APB_WATCHDOG "cmsdk-apb-watchdog"
 typedef struct CMSDKAPBWatchdog CMSDKAPBWatchdog;
-#define CMSDK_APB_WATCHDOG(obj) OBJECT_CHECK(CMSDKAPBWatchdog, (obj), \
-                                              TYPE_CMSDK_APB_WATCHDOG)
+DECLARE_INSTANCE_CHECKER(CMSDKAPBWatchdog, CMSDK_APB_WATCHDOG,
+                         TYPE_CMSDK_APB_WATCHDOG)
 
 /*
  * This shares the same struct (and cast macro) as the base
index ba9a0a1fd88ce498cc97ecdef9d573b826a537ad..2ca1eb5432c5a6153fc6c45a37b14e19389216cd 100644 (file)
@@ -17,8 +17,8 @@
 #define TYPE_ASPEED_WDT "aspeed.wdt"
 typedef struct AspeedWDTClass AspeedWDTClass;
 typedef struct AspeedWDTState AspeedWDTState;
-#define ASPEED_WDT(obj) \
-    OBJECT_CHECK(AspeedWDTState, (obj), TYPE_ASPEED_WDT)
+DECLARE_OBJ_CHECKERS(AspeedWDTState, AspeedWDTClass,
+                     ASPEED_WDT, TYPE_ASPEED_WDT)
 #define TYPE_ASPEED_2400_WDT TYPE_ASPEED_WDT "-ast2400"
 #define TYPE_ASPEED_2500_WDT TYPE_ASPEED_WDT "-ast2500"
 #define TYPE_ASPEED_2600_WDT TYPE_ASPEED_WDT "-ast2600"
@@ -38,10 +38,6 @@ struct AspeedWDTState {
     uint32_t pclk_freq;
 };
 
-#define ASPEED_WDT_CLASS(klass) \
-     OBJECT_CLASS_CHECK(AspeedWDTClass, (klass), TYPE_ASPEED_WDT)
-#define ASPEED_WDT_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(AspeedWDTClass, (obj), TYPE_ASPEED_WDT)
 
 struct AspeedWDTClass {
     SysBusDeviceClass parent_class;
index e6111638210cd14aa6297ed58c61700c417a0084..f72c1d3318d3bb9d3e9a316dcf5cbe583814174c 100644 (file)
@@ -7,12 +7,8 @@
 #define TYPE_WDT_DIAG288 "diag288"
 typedef struct DIAG288Class DIAG288Class;
 typedef struct DIAG288State DIAG288State;
-#define DIAG288(obj) \
-    OBJECT_CHECK(DIAG288State, (obj), TYPE_WDT_DIAG288)
-#define DIAG288_CLASS(klass) \
-    OBJECT_CLASS_CHECK(DIAG288Class, (klass), TYPE_WDT_DIAG288)
-#define DIAG288_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(DIAG288Class, (obj), TYPE_WDT_DIAG288)
+DECLARE_OBJ_CHECKERS(DIAG288State, DIAG288Class,
+                     DIAG288, TYPE_WDT_DIAG288)
 
 #define WDT_DIAG288_INIT      0
 #define WDT_DIAG288_CHANGE    1
index 8757418b46e74c98f9f59d3a6105888f2e8e62a3..7665d936401474b85ada3bd1ab04d5c80d22a89b 100644 (file)
@@ -20,7 +20,8 @@
 
 #define TYPE_IMX2_WDT "imx2.wdt"
 typedef struct IMX2WdtState IMX2WdtState;
-#define IMX2_WDT(obj) OBJECT_CHECK(IMX2WdtState, (obj), TYPE_IMX2_WDT)
+DECLARE_INSTANCE_CHECKER(IMX2WdtState, IMX2_WDT,
+                         TYPE_IMX2_WDT)
 
 enum IMX2WdtRegisters {
     IMX2_WDT_WCR  = 0x0000, /* Control Register */
index 54f2e35122844d18539705bf05559aba2c1ca618..8ff5421dc3439f9369fcb5ba15c91f709dd1b507 100644 (file)
@@ -71,12 +71,8 @@ struct XenBlockDeviceClass {
 typedef struct XenBlockDeviceClass XenBlockDeviceClass;
 
 #define TYPE_XEN_BLOCK_DEVICE  "xen-block"
-#define XEN_BLOCK_DEVICE(obj) \
-     OBJECT_CHECK(XenBlockDevice, (obj), TYPE_XEN_BLOCK_DEVICE)
-#define XEN_BLOCK_DEVICE_CLASS(class) \
-     OBJECT_CLASS_CHECK(XenBlockDeviceClass, (class), TYPE_XEN_BLOCK_DEVICE)
-#define XEN_BLOCK_DEVICE_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(XenBlockDeviceClass, (obj), TYPE_XEN_BLOCK_DEVICE)
+DECLARE_OBJ_CHECKERS(XenBlockDevice, XenBlockDeviceClass,
+                     XEN_BLOCK_DEVICE, TYPE_XEN_BLOCK_DEVICE)
 
 struct XenDiskDevice {
     XenBlockDevice blockdev;
@@ -84,8 +80,8 @@ struct XenDiskDevice {
 typedef struct XenDiskDevice XenDiskDevice;
 
 #define TYPE_XEN_DISK_DEVICE  "xen-disk"
-#define XEN_DISK_DEVICE(obj) \
-     OBJECT_CHECK(XenDiskDevice, (obj), TYPE_XEN_DISK_DEVICE)
+DECLARE_INSTANCE_CHECKER(XenDiskDevice, XEN_DISK_DEVICE,
+                         TYPE_XEN_DISK_DEVICE)
 
 struct XenCDRomDevice {
     XenBlockDevice blockdev;
@@ -93,7 +89,7 @@ struct XenCDRomDevice {
 typedef struct XenCDRomDevice XenCDRomDevice;
 
 #define TYPE_XEN_CDROM_DEVICE  "xen-cdrom"
-#define XEN_CDROM_DEVICE(obj) \
-     OBJECT_CHECK(XenCDRomDevice, (obj), TYPE_XEN_CDROM_DEVICE)
+DECLARE_INSTANCE_CHECKER(XenCDRomDevice, XEN_CDROM_DEVICE,
+                         TYPE_XEN_CDROM_DEVICE)
 
 #endif /* HW_XEN_BLOCK_H */
index 910cf49161d847656f7d0c90b37d0fc7fe4640f0..35fec7c90551a161d23eee7b915f48490d58cfe2 100644 (file)
@@ -60,12 +60,8 @@ struct XenDeviceClass {
 typedef struct XenDeviceClass XenDeviceClass;
 
 #define TYPE_XEN_DEVICE "xen-device"
-#define XEN_DEVICE(obj) \
-     OBJECT_CHECK(XenDevice, (obj), TYPE_XEN_DEVICE)
-#define XEN_DEVICE_CLASS(class) \
-     OBJECT_CLASS_CHECK(XenDeviceClass, (class), TYPE_XEN_DEVICE)
-#define XEN_DEVICE_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(XenDeviceClass, (obj), TYPE_XEN_DEVICE)
+DECLARE_OBJ_CHECKERS(XenDevice, XenDeviceClass,
+                     XEN_DEVICE, TYPE_XEN_DEVICE)
 
 struct XenBus {
     BusState qbus;
@@ -84,12 +80,8 @@ struct XenBusClass {
 typedef struct XenBusClass XenBusClass;
 
 #define TYPE_XEN_BUS "xen-bus"
-#define XEN_BUS(obj) \
-    OBJECT_CHECK(XenBus, (obj), TYPE_XEN_BUS)
-#define XEN_BUS_CLASS(class) \
-    OBJECT_CLASS_CHECK(XenBusClass, (class), TYPE_XEN_BUS)
-#define XEN_BUS_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(XenBusClass, (obj), TYPE_XEN_BUS)
+DECLARE_OBJ_CHECKERS(XenBus, XenBusClass,
+                     XEN_BUS, TYPE_XEN_BUS)
 
 void xen_bus_init(void);
 
index 89b51e05fcb05771bba1809e46cac3170013918a..ba7a3c59bbccfcd4957d63505781a2123d61bac7 100644 (file)
@@ -11,8 +11,8 @@
 #define TYPE_XENBACKEND "xen-backend"
 
 typedef struct XenLegacyDevice XenLegacyDevice;
-#define XENBACKEND_DEVICE(obj) \
-    OBJECT_CHECK(XenLegacyDevice, (obj), TYPE_XENBACKEND)
+DECLARE_INSTANCE_CHECKER(XenLegacyDevice, XENBACKEND_DEVICE,
+                         TYPE_XENBACKEND)
 
 /* variables */
 extern struct xs_handle *xenstore;
index 344d5957fdae8a77daacc5d74552f22c44087e10..89632ef43725c558ce11f5ebbab7bbdde153e717 100644 (file)
@@ -26,8 +26,8 @@
 
 #define TYPE_QIO_CHANNEL_BUFFER "qio-channel-buffer"
 typedef struct QIOChannelBuffer QIOChannelBuffer;
-#define QIO_CHANNEL_BUFFER(obj)                                     \
-    OBJECT_CHECK(QIOChannelBuffer, (obj), TYPE_QIO_CHANNEL_BUFFER)
+DECLARE_INSTANCE_CHECKER(QIOChannelBuffer, QIO_CHANNEL_BUFFER,
+                         TYPE_QIO_CHANNEL_BUFFER)
 
 
 /**
index b1671062d0583f899818281079a929a23c3acc01..4b64ff011bec4f5760039343492e364d4ef8feef 100644 (file)
@@ -26,8 +26,8 @@
 
 #define TYPE_QIO_CHANNEL_COMMAND "qio-channel-command"
 typedef struct QIOChannelCommand QIOChannelCommand;
-#define QIO_CHANNEL_COMMAND(obj)                                     \
-    OBJECT_CHECK(QIOChannelCommand, (obj), TYPE_QIO_CHANNEL_COMMAND)
+DECLARE_INSTANCE_CHECKER(QIOChannelCommand, QIO_CHANNEL_COMMAND,
+                         TYPE_QIO_CHANNEL_COMMAND)
 
 
 
index d91c9f5bc1a2bd9bc13205fee8bba93ca0f1eb0d..c6caf179d9813c2e020819d80dacdf7a78cff643 100644 (file)
@@ -26,8 +26,8 @@
 
 #define TYPE_QIO_CHANNEL_FILE "qio-channel-file"
 typedef struct QIOChannelFile QIOChannelFile;
-#define QIO_CHANNEL_FILE(obj)                                     \
-    OBJECT_CHECK(QIOChannelFile, (obj), TYPE_QIO_CHANNEL_FILE)
+DECLARE_INSTANCE_CHECKER(QIOChannelFile, QIO_CHANNEL_FILE,
+                         TYPE_QIO_CHANNEL_FILE)
 
 
 /**
index ee898d991b8180cbdfe97651e54a2a7eab01b337..62e3e2e9707d9434bb176ae0ed3ad18786b1a8e6 100644 (file)
@@ -28,8 +28,8 @@
 
 #define TYPE_QIO_CHANNEL_SOCKET "qio-channel-socket"
 typedef struct QIOChannelSocket QIOChannelSocket;
-#define QIO_CHANNEL_SOCKET(obj)                                     \
-    OBJECT_CHECK(QIOChannelSocket, (obj), TYPE_QIO_CHANNEL_SOCKET)
+DECLARE_INSTANCE_CHECKER(QIOChannelSocket, QIO_CHANNEL_SOCKET,
+                         TYPE_QIO_CHANNEL_SOCKET)
 
 
 /**
index ebd42f981e8affdb253ac88ffe1692b8c013f70a..036bf541955d01eda6952c1e6c03aa717d705db0 100644 (file)
@@ -28,8 +28,8 @@
 
 #define TYPE_QIO_CHANNEL_TLS "qio-channel-tls"
 typedef struct QIOChannelTLS QIOChannelTLS;
-#define QIO_CHANNEL_TLS(obj)                                     \
-    OBJECT_CHECK(QIOChannelTLS, (obj), TYPE_QIO_CHANNEL_TLS)
+DECLARE_INSTANCE_CHECKER(QIOChannelTLS, QIO_CHANNEL_TLS,
+                         TYPE_QIO_CHANNEL_TLS)
 
 
 /**
index 5ab8811306be902f05775e70c3312fe6479cb14c..b07eddabe1778744a46bb04ed2b71b96334f3753 100644 (file)
@@ -28,8 +28,8 @@
 
 #define TYPE_QIO_CHANNEL_WEBSOCK "qio-channel-websock"
 typedef struct QIOChannelWebsock QIOChannelWebsock;
-#define QIO_CHANNEL_WEBSOCK(obj)                                     \
-    OBJECT_CHECK(QIOChannelWebsock, (obj), TYPE_QIO_CHANNEL_WEBSOCK)
+DECLARE_INSTANCE_CHECKER(QIOChannelWebsock, QIO_CHANNEL_WEBSOCK,
+                         TYPE_QIO_CHANNEL_WEBSOCK)
 
 typedef union QIOChannelWebsockMask QIOChannelWebsockMask;
 
index 67b9768effdde14b0349521b1773460635ddf53f..3ebdc7954fc0d454ed6ae0b3618065b98b8089b8 100644 (file)
 #define TYPE_QIO_CHANNEL "qio-channel"
 typedef struct QIOChannel QIOChannel;
 typedef struct QIOChannelClass QIOChannelClass;
-#define QIO_CHANNEL(obj)                                    \
-    OBJECT_CHECK(QIOChannel, (obj), TYPE_QIO_CHANNEL)
-#define QIO_CHANNEL_CLASS(klass)                                    \
-    OBJECT_CLASS_CHECK(QIOChannelClass, klass, TYPE_QIO_CHANNEL)
-#define QIO_CHANNEL_GET_CLASS(obj)                                  \
-    OBJECT_GET_CLASS(QIOChannelClass, obj, TYPE_QIO_CHANNEL)
+DECLARE_OBJ_CHECKERS(QIOChannel, QIOChannelClass,
+                     QIO_CHANNEL, TYPE_QIO_CHANNEL)
 
 
 #define QIO_CHANNEL_ERR_BLOCK -2
index 5e720bf2675625162fbc5cb0b642319a7e6d1780..96a3186b6bcd18082857eec9ede34f857ccb732a 100644 (file)
 #define TYPE_QIO_DNS_RESOLVER "qio-dns-resolver"
 typedef struct QIODNSResolver QIODNSResolver;
 typedef struct QIODNSResolverClass QIODNSResolverClass;
-#define QIO_DNS_RESOLVER(obj)                                    \
-    OBJECT_CHECK(QIODNSResolver, (obj), TYPE_QIO_DNS_RESOLVER)
-#define QIO_DNS_RESOLVER_CLASS(klass)                                    \
-    OBJECT_CLASS_CHECK(QIODNSResolverClass, klass, TYPE_QIO_DNS_RESOLVER)
-#define QIO_DNS_RESOLVER_GET_CLASS(obj)                                  \
-    OBJECT_GET_CLASS(QIODNSResolverClass, obj, TYPE_QIO_DNS_RESOLVER)
+DECLARE_OBJ_CHECKERS(QIODNSResolver, QIODNSResolverClass,
+                     QIO_DNS_RESOLVER, TYPE_QIO_DNS_RESOLVER)
 
 
 /**
index fbdd2dbf9a51593acad4f45158246bbcf2853a26..93367db29131d5fe653667def8a6b378d7b6696b 100644 (file)
 #define TYPE_QIO_NET_LISTENER "qio-net-listener"
 typedef struct QIONetListener QIONetListener;
 typedef struct QIONetListenerClass QIONetListenerClass;
-#define QIO_NET_LISTENER(obj)                                    \
-    OBJECT_CHECK(QIONetListener, (obj), TYPE_QIO_NET_LISTENER)
-#define QIO_NET_LISTENER_CLASS(klass)                                    \
-    OBJECT_CLASS_CHECK(QIONetListenerClass, klass, TYPE_QIO_NET_LISTENER)
-#define QIO_NET_LISTENER_GET_CLASS(obj)                                  \
-    OBJECT_GET_CLASS(QIONetListenerClass, obj, TYPE_QIO_NET_LISTENER)
+DECLARE_OBJ_CHECKERS(QIONetListener, QIONetListenerClass,
+                     QIO_NET_LISTENER, TYPE_QIO_NET_LISTENER)
 
 
 typedef void (*QIONetListenerClientFunc)(QIONetListener *listener,
index 7e90fd8a452eae03ae6998207e1362e66b550160..150f91a6579fe9cc41972372a722c772b8017c7c 100644 (file)
@@ -100,8 +100,8 @@ struct CanBusClientState {
 };
 
 #define TYPE_CAN_BUS "can-bus"
-#define CAN_BUS(obj) \
-     OBJECT_CHECK(CanBusState, (obj), TYPE_CAN_BUS)
+DECLARE_INSTANCE_CHECKER(CanBusState, CAN_BUS,
+                         TYPE_CAN_BUS)
 
 int can_bus_filter_match(struct qemu_can_filter *filter, qemu_canid_t can_id);
 
index 13b6a191dd043faf3df194c13f97a02a08f73ceb..18979c2e2d245209352ba0480ac256644e9cb891 100644 (file)
 #define TYPE_CAN_HOST "can-host"
 typedef struct CanHostClass CanHostClass;
 typedef struct CanHostState CanHostState;
-#define CAN_HOST_CLASS(klass) \
-     OBJECT_CLASS_CHECK(CanHostClass, (klass), TYPE_CAN_HOST)
-#define CAN_HOST_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(CanHostClass, (obj), TYPE_CAN_HOST)
-#define CAN_HOST(obj) \
-     OBJECT_CHECK(CanHostState, (obj), TYPE_CAN_HOST)
+DECLARE_OBJ_CHECKERS(CanHostState, CanHostClass,
+                     CAN_HOST, TYPE_CAN_HOST)
 
 struct CanHostState {
     ObjectClass oc;
index 0d4f011bc0968a80df888b04ff9ab917696e4a81..e7e593128a565d55f0b2f55a1d4bcafb7c4737c3 100644 (file)
 
 #define TYPE_NETFILTER "netfilter"
 typedef struct NetFilterClass NetFilterClass;
-#define NETFILTER(obj) \
-    OBJECT_CHECK(NetFilterState, (obj), TYPE_NETFILTER)
-#define NETFILTER_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(NetFilterClass, (obj), TYPE_NETFILTER)
-#define NETFILTER_CLASS(klass) \
-    OBJECT_CLASS_CHECK(NetFilterClass, (klass), TYPE_NETFILTER)
+DECLARE_OBJ_CHECKERS(NetFilterState, NetFilterClass,
+                     NETFILTER, TYPE_NETFILTER)
 
 typedef void (FilterSetup) (NetFilterState *nf, Error **errp);
 typedef void (FilterCleanup) (NetFilterState *nf);
index 2be985f86eb3def943e9ae5755a76111a22272dd..f118fb516be15f8d09ddf6603182cf9d0d80fdbe 100644 (file)
@@ -7,12 +7,8 @@
 #define TYPE_USER_CREATABLE "user-creatable"
 
 typedef struct UserCreatableClass UserCreatableClass;
-#define USER_CREATABLE_CLASS(klass) \
-     OBJECT_CLASS_CHECK(UserCreatableClass, (klass), \
-                        TYPE_USER_CREATABLE)
-#define USER_CREATABLE_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(UserCreatableClass, (obj), \
-                      TYPE_USER_CREATABLE)
+DECLARE_CLASS_CHECKERS(UserCreatableClass, USER_CREATABLE,
+                       TYPE_USER_CREATABLE)
 #define USER_CREATABLE(obj) \
      INTERFACE_CHECK(UserCreatable, (obj), \
                      TYPE_USER_CREATABLE)
index 2c699e4030e5fcc783448ba36adceabaef550d35..f801fe953322255a8112adb7ae317a233beb9112 100644 (file)
 
 typedef struct PRManager PRManager;
 typedef struct PRManagerClass PRManagerClass;
-#define PR_MANAGER_CLASS(klass) \
-     OBJECT_CLASS_CHECK(PRManagerClass, (klass), TYPE_PR_MANAGER)
-#define PR_MANAGER_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(PRManagerClass, (obj), TYPE_PR_MANAGER)
-#define PR_MANAGER(obj) \
-     OBJECT_CHECK(PRManager, (obj), TYPE_PR_MANAGER)
+DECLARE_OBJ_CHECKERS(PRManager, PRManagerClass,
+                     PR_MANAGER, TYPE_PR_MANAGER)
 
 struct sg_io_hdr;
 
index e11526271ad4c4277f64eb1d66d29c6991f944a7..65c017cf816570a530e74268a9d0b662e64b4e2c 100644 (file)
 
 typedef struct CryptoDevBackend CryptoDevBackend;
 typedef struct CryptoDevBackendClass CryptoDevBackendClass;
-#define CRYPTODEV_BACKEND(obj) \
-    OBJECT_CHECK(CryptoDevBackend, \
-                 (obj), TYPE_CRYPTODEV_BACKEND)
-#define CRYPTODEV_BACKEND_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(CryptoDevBackendClass, \
-                 (obj), TYPE_CRYPTODEV_BACKEND)
-#define CRYPTODEV_BACKEND_CLASS(klass) \
-    OBJECT_CLASS_CHECK(CryptoDevBackendClass, \
-                (klass), TYPE_CRYPTODEV_BACKEND)
+DECLARE_OBJ_CHECKERS(CryptoDevBackend, CryptoDevBackendClass,
+                     CRYPTODEV_BACKEND, TYPE_CRYPTODEV_BACKEND)
 
 
 #define MAX_CRYPTO_QUEUE_NUM  64
index 7b775b66874a9f66f6f0f7dbf20ed855da09e2a5..1e6078f8727ee4b87612faa9aa2c3ac3c8a0ec7f 100644 (file)
 #define TYPE_MEMORY_BACKEND "memory-backend"
 typedef struct HostMemoryBackend HostMemoryBackend;
 typedef struct HostMemoryBackendClass HostMemoryBackendClass;
-#define MEMORY_BACKEND(obj) \
-    OBJECT_CHECK(HostMemoryBackend, (obj), TYPE_MEMORY_BACKEND)
-#define MEMORY_BACKEND_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(HostMemoryBackendClass, (obj), TYPE_MEMORY_BACKEND)
-#define MEMORY_BACKEND_CLASS(klass) \
-    OBJECT_CLASS_CHECK(HostMemoryBackendClass, (klass), TYPE_MEMORY_BACKEND)
+DECLARE_OBJ_CHECKERS(HostMemoryBackend, HostMemoryBackendClass,
+                     MEMORY_BACKEND, TYPE_MEMORY_BACKEND)
 
 /* hostmem-ram.c */
 /**
index 566b5f52fc1946bf78a0d6a8b4f050db3e920cb1..13986794584ba0ca236b92a633e7413830b3cee7 100644 (file)
@@ -37,7 +37,7 @@ void hvf_vcpu_destroy(CPUState *);
 #define TYPE_HVF_ACCEL ACCEL_CLASS_NAME("hvf")
 
 typedef struct HVFState HVFState;
-#define HVF_STATE(obj) \
-    OBJECT_CHECK(HVFState, (obj), TYPE_HVF_ACCEL)
+DECLARE_INSTANCE_CHECKER(HVFState, HVF_STATE,
+                         TYPE_HVF_ACCEL)
 
 #endif
index 42902ffb9fafcc037ab8f187e8ad26930ec7e2c9..0c5284dbbcf60dbea2035404f6baa2eb9fd127f5 100644 (file)
@@ -40,8 +40,8 @@ struct IOThread {
 };
 typedef struct IOThread IOThread;
 
-#define IOTHREAD(obj) \
-   OBJECT_CHECK(IOThread, obj, TYPE_IOTHREAD)
+DECLARE_INSTANCE_CHECKER(IOThread, IOTHREAD,
+                         TYPE_IOTHREAD)
 
 char *iothread_get_id(IOThread *iothread);
 IOThread *iothread_by_id(const char *id);
index 3e89884c5469017bfcd7c2e71d3cf509516eb9cd..5bbea5388302074dda363ca3678d20a5c7e63ba1 100644 (file)
@@ -204,8 +204,8 @@ struct KVMState;
 
 #define TYPE_KVM_ACCEL ACCEL_CLASS_NAME("kvm")
 typedef struct KVMState KVMState;
-#define KVM_STATE(obj) \
-    OBJECT_CHECK(KVMState, (obj), TYPE_KVM_ACCEL)
+DECLARE_INSTANCE_CHECKER(KVMState, KVM_STATE,
+                         TYPE_KVM_ACCEL)
 
 extern KVMState *kvm_state;
 typedef struct Notifier Notifier;
index 87e82dd7a3975c7afa0112d98843bf3e85bf23e4..58033ac3fecf2f8e81387977e450054742be89f5 100644 (file)
@@ -16,7 +16,8 @@
 
 #define TYPE_RNG_RANDOM "rng-random"
 typedef struct RngRandom RngRandom;
-#define RNG_RANDOM(obj) OBJECT_CHECK(RngRandom, (obj), TYPE_RNG_RANDOM)
+DECLARE_INSTANCE_CHECKER(RngRandom, RNG_RANDOM,
+                         TYPE_RNG_RANDOM)
 
 
 #endif
index c38da7d342b9ff4759a3c11ef92beb8e21eeba1a..f8fc94810934a7f3f2223c7576078fdf182def11 100644 (file)
 #define TYPE_RNG_BACKEND "rng-backend"
 typedef struct RngBackend RngBackend;
 typedef struct RngBackendClass RngBackendClass;
-#define RNG_BACKEND(obj) \
-    OBJECT_CHECK(RngBackend, (obj), TYPE_RNG_BACKEND)
-#define RNG_BACKEND_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(RngBackendClass, (obj), TYPE_RNG_BACKEND)
-#define RNG_BACKEND_CLASS(klass) \
-    OBJECT_CLASS_CHECK(RngBackendClass, (klass), TYPE_RNG_BACKEND)
+DECLARE_OBJ_CHECKERS(RngBackend, RngBackendClass,
+                     RNG_BACKEND, TYPE_RNG_BACKEND)
 
 #define TYPE_RNG_BUILTIN "rng-builtin"
 
index 04673cab53d609c24b55512e26b7ae881f86721e..1a85564e479deda8af0996c06a4175f57b2162c3 100644 (file)
@@ -27,10 +27,8 @@ typedef enum TPMVersion {
 
 #define TYPE_TPM_IF "tpm-if"
 typedef struct TPMIfClass TPMIfClass;
-#define TPM_IF_CLASS(klass)                                 \
-    OBJECT_CLASS_CHECK(TPMIfClass, (klass), TYPE_TPM_IF)
-#define TPM_IF_GET_CLASS(obj)                           \
-    OBJECT_GET_CLASS(TPMIfClass, (obj), TYPE_TPM_IF)
+DECLARE_CLASS_CHECKERS(TPMIfClass, TPM_IF,
+                       TYPE_TPM_IF)
 #define TPM_IF(obj)                             \
     INTERFACE_CHECK(TPMIf, (obj), TYPE_TPM_IF)
 
index 740c94c6cd6f0db091c966e892c0e84ea24c1ca6..e038b79d34991765cc14e0f8718db10261a1b673 100644 (file)
 #define TYPE_TPM_BACKEND "tpm-backend"
 typedef struct TPMBackend TPMBackend;
 typedef struct TPMBackendClass TPMBackendClass;
-#define TPM_BACKEND(obj) \
-    OBJECT_CHECK(TPMBackend, (obj), TYPE_TPM_BACKEND)
-#define TPM_BACKEND_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(TPMBackendClass, (obj), TYPE_TPM_BACKEND)
-#define TPM_BACKEND_CLASS(klass) \
-    OBJECT_CLASS_CHECK(TPMBackendClass, (klass), TYPE_TPM_BACKEND)
+DECLARE_OBJ_CHECKERS(TPMBackend, TPMBackendClass,
+                     TPM_BACKEND, TYPE_TPM_BACKEND)
 
 
 typedef struct TPMBackendCmd {
index 89eb5eaf65ddeb5725728157be89770412475d73..e4c85e33c04a045502e438928de95631d6c211a5 100644 (file)
 #define TYPE_VHOST_USER_BACKEND "vhost-user-backend"
 typedef struct VhostUserBackend VhostUserBackend;
 typedef struct VhostUserBackendClass VhostUserBackendClass;
-#define VHOST_USER_BACKEND(obj) \
-    OBJECT_CHECK(VhostUserBackend, (obj), TYPE_VHOST_USER_BACKEND)
-#define VHOST_USER_BACKEND_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(VhostUserBackendClass, (obj), TYPE_VHOST_USER_BACKEND)
-#define VHOST_USER_BACKEND_CLASS(klass) \
-    OBJECT_CLASS_CHECK(VhostUserBackendClass, (klass), TYPE_VHOST_USER_BACKEND)
+DECLARE_OBJ_CHECKERS(VhostUserBackend, VhostUserBackendClass,
+                     VHOST_USER_BACKEND, TYPE_VHOST_USER_BACKEND)
 
 
 struct VhostUserBackendClass {
index 2a74a27d50c13fbbe5acc0c83bca2019ce4940f6..8602203523d949fc9d04bed36d2561c00b42142b 100644 (file)
@@ -107,12 +107,8 @@ void kbd_put_keysym(int keysym);
 
 #define TYPE_QEMU_CONSOLE "qemu-console"
 typedef struct QemuConsoleClass QemuConsoleClass;
-#define QEMU_CONSOLE(obj) \
-    OBJECT_CHECK(QemuConsole, (obj), TYPE_QEMU_CONSOLE)
-#define QEMU_CONSOLE_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(QemuConsoleClass, (obj), TYPE_QEMU_CONSOLE)
-#define QEMU_CONSOLE_CLASS(klass) \
-    OBJECT_CLASS_CHECK(QemuConsoleClass, (klass), TYPE_QEMU_CONSOLE)
+DECLARE_OBJ_CHECKERS(QemuConsole, QemuConsoleClass,
+                     QEMU_CONSOLE, TYPE_QEMU_CONSOLE)
 
 
 struct QemuConsoleClass {
index 263ec6e5bca817b4baeed3d8433dfca6ccf0cbfe..3a3860a09c81f38b442c2bfd40c3f9ff35bfc15c 100644 (file)
 
 typedef ObjectClass IOThreadClass;
 
-#define IOTHREAD_GET_CLASS(obj) \
-   OBJECT_GET_CLASS(IOThreadClass, obj, TYPE_IOTHREAD)
-#define IOTHREAD_CLASS(klass) \
-   OBJECT_CLASS_CHECK(IOThreadClass, klass, TYPE_IOTHREAD)
+DECLARE_CLASS_CHECKERS(IOThreadClass, IOTHREAD,
+                       TYPE_IOTHREAD)
 
 #ifdef CONFIG_POSIX
 /* Benchmark results from 2016 on NVMe SSD drives show max polling times around
index 4103e549bb7a0468418e0f3ca988aee4c6a95e5a..bdc7450da3ec6e2f9bd994b2fec7834cc5c599b4 100644 (file)
@@ -116,12 +116,8 @@ void fill_destination_postcopy_migration_info(MigrationInfo *info);
 #define TYPE_MIGRATION "migration"
 
 typedef struct MigrationClass MigrationClass;
-#define MIGRATION_OBJ_CLASS(klass) \
-    OBJECT_CLASS_CHECK(MigrationClass, (klass), TYPE_MIGRATION)
-#define MIGRATION_OBJ(obj) \
-    OBJECT_CHECK(MigrationState, (obj), TYPE_MIGRATION)
-#define MIGRATION_OBJ_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(MigrationClass, (obj), TYPE_MIGRATION)
+DECLARE_OBJ_CHECKERS(MigrationState, MigrationClass,
+                     MIGRATION_OBJ, TYPE_MIGRATION)
 
 struct MigrationClass {
     /*< private >*/
index 0a90f0d42043212421d8018b26d44da3102f0866..1dc563ec3f1b14228d9da4509ff645b78a1169e8 100644 (file)
@@ -399,8 +399,8 @@ typedef struct RDMAContext {
 
 #define TYPE_QIO_CHANNEL_RDMA "qio-channel-rdma"
 typedef struct QIOChannelRDMA QIOChannelRDMA;
-#define QIO_CHANNEL_RDMA(obj)                                     \
-    OBJECT_CHECK(QIOChannelRDMA, (obj), TYPE_QIO_CHANNEL_RDMA)
+DECLARE_INSTANCE_CHECKER(QIOChannelRDMA, QIO_CHANNEL_RDMA,
+                         TYPE_QIO_CHANNEL_RDMA)
 
 
 
index 0082aa6c3e6a0f884d61a032f77dddb167cb350d..f933bd2db29facbef79eed4394a42cefb66c73bb 100644 (file)
@@ -48,8 +48,8 @@
 
 #define TYPE_CAN_HOST_SOCKETCAN "can-host-socketcan"
 typedef struct CanHostSocketCAN CanHostSocketCAN;
-#define CAN_HOST_SOCKETCAN(obj) \
-     OBJECT_CHECK(CanHostSocketCAN, (obj), TYPE_CAN_HOST_SOCKETCAN)
+DECLARE_INSTANCE_CHECKER(CanHostSocketCAN, CAN_HOST_SOCKETCAN,
+                         TYPE_CAN_HOST_SOCKETCAN)
 
 #define CAN_READ_BUF_LEN  5
 struct CanHostSocketCAN {
index be3ca5f8c5280000dd75a387656e0e0465b0a6f8..bc3808fb4d9bb131850470e8d1213139445465d0 100644 (file)
@@ -37,8 +37,8 @@
 
 #define TYPE_COLO_COMPARE "colo-compare"
 typedef struct CompareState CompareState;
-#define COLO_COMPARE(obj) \
-    OBJECT_CHECK(CompareState, (obj), TYPE_COLO_COMPARE)
+DECLARE_INSTANCE_CHECKER(CompareState, COLO_COMPARE,
+                         TYPE_COLO_COMPARE)
 
 static QTAILQ_HEAD(, CompareState) net_compares =
        QTAILQ_HEAD_INITIALIZER(net_compares);
index 454672d73d6d24cdce55b8b1e365c72a225fb024..42e64a6f293128cb2b4018d5a20c12c9fa6b6047 100644 (file)
@@ -141,8 +141,8 @@ static int net_dump_state_init(DumpState *s, const char *filename,
 #define TYPE_FILTER_DUMP "filter-dump"
 
 typedef struct NetFilterDumpState NetFilterDumpState;
-#define FILTER_DUMP(obj) \
-    OBJECT_CHECK(NetFilterDumpState, (obj), TYPE_FILTER_DUMP)
+DECLARE_INSTANCE_CHECKER(NetFilterDumpState, FILTER_DUMP,
+                         TYPE_FILTER_DUMP)
 
 struct NetFilterDumpState {
     NetFilterState nfs;
index 78f7f0b36b415e19bf8415346a5df1e353f45ef5..6ade7a19b819d6271002dbe8d67bfd15496351da 100644 (file)
@@ -19,8 +19,8 @@
 #define TYPE_FILTER_BUFFER "filter-buffer"
 
 typedef struct FilterBufferState FilterBufferState;
-#define FILTER_BUFFER(obj) \
-    OBJECT_CHECK(FilterBufferState, (obj), TYPE_FILTER_BUFFER)
+DECLARE_INSTANCE_CHECKER(FilterBufferState, FILTER_BUFFER,
+                         TYPE_FILTER_BUFFER)
 
 struct FilterBufferState {
     NetFilterState parent_obj;
index 3fd3b90d1d044ce021d07a1a9903c44c2f312f61..088d4dcaceb2576f5513f2fceba3131b7ae67aa8 100644 (file)
 
 #define TYPE_FILTER_MIRROR "filter-mirror"
 typedef struct MirrorState MirrorState;
-#define FILTER_MIRROR(obj) \
-    OBJECT_CHECK(MirrorState, (obj), TYPE_FILTER_MIRROR)
+DECLARE_INSTANCE_CHECKER(MirrorState, FILTER_MIRROR,
+                         TYPE_FILTER_MIRROR)
 
 #define TYPE_FILTER_REDIRECTOR "filter-redirector"
-#define FILTER_REDIRECTOR(obj) \
-    OBJECT_CHECK(MirrorState, (obj), TYPE_FILTER_REDIRECTOR)
+DECLARE_INSTANCE_CHECKER(MirrorState, FILTER_REDIRECTOR,
+                         TYPE_FILTER_REDIRECTOR)
 
 #define REDIRECTOR_MAX_LEN NET_BUFSIZE
 
index a0b99aaf8638fdad60f8a0f54fe1952dd7baa12d..78696c162e6b4733f8b2e76493a1691563e70a03 100644 (file)
@@ -24,8 +24,8 @@
 #define TYPE_FILTER_REPLAY "filter-replay"
 
 typedef struct NetFilterReplayState NetFilterReplayState;
-#define FILTER_REPLAY(obj) \
-    OBJECT_CHECK(NetFilterReplayState, (obj), TYPE_FILTER_REPLAY)
+DECLARE_INSTANCE_CHECKER(NetFilterReplayState, FILTER_REPLAY,
+                         TYPE_FILTER_REPLAY)
 
 struct NetFilterReplayState {
     NetFilterState nfs;
index c28d9599425d1ec02a10e2cabd27f186cfdd6601..113e293207bb1659fd2e58cdd3ba8ccdb68a7b7d 100644 (file)
@@ -25,8 +25,8 @@
 
 #define TYPE_FILTER_REWRITER "filter-rewriter"
 typedef struct RewriterState RewriterState;
-#define FILTER_COLO_REWRITER(obj) \
-    OBJECT_CHECK(RewriterState, (obj), TYPE_FILTER_REWRITER)
+DECLARE_INSTANCE_CHECKER(RewriterState, FILTER_COLO_REWRITER,
+                         TYPE_FILTER_REWRITER)
 
 #define FAILOVER_MODE_ON  true
 #define FAILOVER_MODE_OFF false
index 59ba4b70ae86cb0b8b2691b0f918c39b58f33ad3..d735b1e7f6bbe4cd0453ff4f0a2e1c79f8626323 100644 (file)
@@ -28,9 +28,8 @@
 #define TYPE_PR_MANAGER_HELPER "pr-manager-helper"
 
 typedef struct PRManagerHelper PRManagerHelper;
-#define PR_MANAGER_HELPER(obj) \
-     OBJECT_CHECK(PRManagerHelper, (obj), \
-                  TYPE_PR_MANAGER_HELPER)
+DECLARE_INSTANCE_CHECKER(PRManagerHelper, PR_MANAGER_HELPER,
+                         TYPE_PR_MANAGER_HELPER)
 
 struct PRManagerHelper {
     /* <private> */
index 1124668cf01df30e449211277842cc5177329d6a..45350318c9b33596655ecefea87b10d51723c9cb 100644 (file)
 
 typedef struct AlphaCPU AlphaCPU;
 typedef struct AlphaCPUClass AlphaCPUClass;
-#define ALPHA_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(AlphaCPUClass, (klass), TYPE_ALPHA_CPU)
-#define ALPHA_CPU(obj) \
-    OBJECT_CHECK(AlphaCPU, (obj), TYPE_ALPHA_CPU)
-#define ALPHA_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(AlphaCPUClass, (obj), TYPE_ALPHA_CPU)
+DECLARE_OBJ_CHECKERS(AlphaCPU, AlphaCPUClass,
+                     ALPHA_CPU, TYPE_ALPHA_CPU)
 
 /**
  * AlphaCPUClass:
index d0c68b01c5f9ec7807fc4d637a4ddf2d38d8d52f..92d58f84fe992108946ba9664aa195f1f32fe149 100644 (file)
@@ -29,12 +29,8 @@ struct arm_boot_info;
 
 typedef struct ARMCPU ARMCPU;
 typedef struct ARMCPUClass ARMCPUClass;
-#define ARM_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(ARMCPUClass, (klass), TYPE_ARM_CPU)
-#define ARM_CPU(obj) \
-    OBJECT_CHECK(ARMCPU, (obj), TYPE_ARM_CPU)
-#define ARM_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(ARMCPUClass, (obj), TYPE_ARM_CPU)
+DECLARE_OBJ_CHECKERS(ARMCPU, ARMCPUClass,
+                     ARM_CPU, TYPE_ARM_CPU)
 
 #define TYPE_ARM_MAX_CPU "max-" TYPE_ARM_CPU
 
@@ -67,10 +63,8 @@ struct ARMCPUClass {
 
 #define TYPE_AARCH64_CPU "aarch64-cpu"
 typedef struct AArch64CPUClass AArch64CPUClass;
-#define AARCH64_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(AArch64CPUClass, (klass), TYPE_AARCH64_CPU)
-#define AARCH64_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(AArch64CPUClass, (obj), TYPE_AARCH64_CPU)
+DECLARE_CLASS_CHECKERS(AArch64CPUClass, AARCH64_CPU,
+                       TYPE_AARCH64_CPU)
 
 struct AArch64CPUClass {
     /*< private >*/
index 2f09bbb34fa0b2510926921573c554e331c3a173..0ef5251971d62818606f2723c67a961d77f63842 100644 (file)
 #define IDAU_INTERFACE(obj) \
     INTERFACE_CHECK(IDAUInterface, (obj), TYPE_IDAU_INTERFACE)
 typedef struct IDAUInterfaceClass IDAUInterfaceClass;
-#define IDAU_INTERFACE_CLASS(class) \
-    OBJECT_CLASS_CHECK(IDAUInterfaceClass, (class), TYPE_IDAU_INTERFACE)
-#define IDAU_INTERFACE_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(IDAUInterfaceClass, (obj), TYPE_IDAU_INTERFACE)
+DECLARE_CLASS_CHECKERS(IDAUInterfaceClass, IDAU_INTERFACE,
+                       TYPE_IDAU_INTERFACE)
 
 typedef struct IDAUInterface IDAUInterface;
 
index fac8430253d5efe6bda36c062d06392189aeb280..1bbfbb20879fac526fc33340ea514c2685c5ceba 100644 (file)
 
 typedef struct AVRCPU AVRCPU;
 typedef struct AVRCPUClass AVRCPUClass;
-#define AVR_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(AVRCPUClass, (klass), TYPE_AVR_CPU)
-#define AVR_CPU(obj) \
-    OBJECT_CHECK(AVRCPU, (obj), TYPE_AVR_CPU)
-#define AVR_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(AVRCPUClass, (obj), TYPE_AVR_CPU)
+DECLARE_OBJ_CHECKERS(AVRCPU, AVRCPUClass,
+                     AVR_CPU, TYPE_AVR_CPU)
 
 /**
  *  AVRCPUClass:
index cac3e9af1b33263ea988607eea5b72753b5899a2..eced6ef7c99a84f40672797ae6900ce56e371998 100644 (file)
 
 typedef struct CRISCPU CRISCPU;
 typedef struct CRISCPUClass CRISCPUClass;
-#define CRIS_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(CRISCPUClass, (klass), TYPE_CRIS_CPU)
-#define CRIS_CPU(obj) \
-    OBJECT_CHECK(CRISCPU, (obj), TYPE_CRIS_CPU)
-#define CRIS_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(CRISCPUClass, (obj), TYPE_CRIS_CPU)
+DECLARE_OBJ_CHECKERS(CRISCPU, CRISCPUClass,
+                     CRIS_CPU, TYPE_CRIS_CPU)
 
 /**
  * CRISCPUClass:
index 295b2aaf196fa5903854db9924950cb7417f6164..5c5aa0c053d2712b846a846117292ef3aaf0212d 100644 (file)
 
 typedef struct HPPACPU HPPACPU;
 typedef struct HPPACPUClass HPPACPUClass;
-#define HPPA_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(HPPACPUClass, (klass), TYPE_HPPA_CPU)
-#define HPPA_CPU(obj) \
-    OBJECT_CHECK(HPPACPU, (obj), TYPE_HPPA_CPU)
-#define HPPA_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(HPPACPUClass, (obj), TYPE_HPPA_CPU)
+DECLARE_OBJ_CHECKERS(HPPACPU, HPPACPUClass,
+                     HPPA_CPU, TYPE_HPPA_CPU)
 
 /**
  * HPPACPUClass:
index 6b0bf476e5e5004255643e609bfdb364c455d271..05b52ba74ced74563f66ac390fad3abc30c73d7a 100644 (file)
 
 typedef struct X86CPU X86CPU;
 typedef struct X86CPUClass X86CPUClass;
-#define X86_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(X86CPUClass, (klass), TYPE_X86_CPU)
-#define X86_CPU(obj) \
-    OBJECT_CHECK(X86CPU, (obj), TYPE_X86_CPU)
-#define X86_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(X86CPUClass, (obj), TYPE_X86_CPU)
+DECLARE_OBJ_CHECKERS(X86CPU, X86CPUClass,
+                     X86_CPU, TYPE_X86_CPU)
 
 typedef struct X86CPUModel X86CPUModel;
 
index d452e73c18e8d4612fe0664a0fcf005e83f8e18b..d976634b8fe34e43b858d3b1700f2b65af7a23e8 100644 (file)
@@ -32,8 +32,8 @@
 
 #define TYPE_SEV_GUEST "sev-guest"
 typedef struct SevGuestState SevGuestState;
-#define SEV_GUEST(obj)                                          \
-    OBJECT_CHECK(SevGuestState, (obj), TYPE_SEV_GUEST)
+DECLARE_INSTANCE_CHECKER(SevGuestState, SEV_GUEST,
+                         TYPE_SEV_GUEST)
 
 
 /**
index 2c0654b6955da9a8778fc524d639541c014f6582..9bf2f82ffed6c951085edc0083cd308443b36171 100644 (file)
 
 typedef struct LM32CPU LM32CPU;
 typedef struct LM32CPUClass LM32CPUClass;
-#define LM32_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(LM32CPUClass, (klass), TYPE_LM32_CPU)
-#define LM32_CPU(obj) \
-    OBJECT_CHECK(LM32CPU, (obj), TYPE_LM32_CPU)
-#define LM32_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(LM32CPUClass, (obj), TYPE_LM32_CPU)
+DECLARE_OBJ_CHECKERS(LM32CPU, LM32CPUClass,
+                     LM32_CPU, TYPE_LM32_CPU)
 
 /**
  * LM32CPUClass:
index 3b199be5452c6a292e09e29a99ad28dd3d525057..241a3b19af24b0bc7b4f390c13304a70727d41e8 100644 (file)
 
 typedef struct M68kCPU M68kCPU;
 typedef struct M68kCPUClass M68kCPUClass;
-#define M68K_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(M68kCPUClass, (klass), TYPE_M68K_CPU)
-#define M68K_CPU(obj) \
-    OBJECT_CHECK(M68kCPU, (obj), TYPE_M68K_CPU)
-#define M68K_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(M68kCPUClass, (obj), TYPE_M68K_CPU)
+DECLARE_OBJ_CHECKERS(M68kCPU, M68kCPUClass,
+                     M68K_CPU, TYPE_M68K_CPU)
 
 /*
  * M68kCPUClass:
index 564fa18ccbf4b4c846042c2e46b646074c1264e9..73c2237f989b10303a4f66c95501fc476bdb67a5 100644 (file)
 
 typedef struct MicroBlazeCPU MicroBlazeCPU;
 typedef struct MicroBlazeCPUClass MicroBlazeCPUClass;
-#define MICROBLAZE_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(MicroBlazeCPUClass, (klass), TYPE_MICROBLAZE_CPU)
-#define MICROBLAZE_CPU(obj) \
-    OBJECT_CHECK(MicroBlazeCPU, (obj), TYPE_MICROBLAZE_CPU)
-#define MICROBLAZE_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(MicroBlazeCPUClass, (obj), TYPE_MICROBLAZE_CPU)
+DECLARE_OBJ_CHECKERS(MicroBlazeCPU, MicroBlazeCPUClass,
+                     MICROBLAZE_CPU, TYPE_MICROBLAZE_CPU)
 
 /**
  * MicroBlazeCPUClass:
index 3a5fd9561e728ae7aee51dcd6e03732ad0261864..82f45a828c943a66e6d2834637cde6057ba552d7 100644 (file)
 
 typedef struct MIPSCPU MIPSCPU;
 typedef struct MIPSCPUClass MIPSCPUClass;
-#define MIPS_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(MIPSCPUClass, (klass), TYPE_MIPS_CPU)
-#define MIPS_CPU(obj) \
-    OBJECT_CHECK(MIPSCPU, (obj), TYPE_MIPS_CPU)
-#define MIPS_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(MIPSCPUClass, (obj), TYPE_MIPS_CPU)
+DECLARE_OBJ_CHECKERS(MIPSCPU, MIPSCPUClass,
+                     MIPS_CPU, TYPE_MIPS_CPU)
 
 /**
  * MIPSCPUClass:
index af4d6abf168ea26e6cc7ac26a08bc21cbe3dda9c..a9832a2d856a5674f0416e9843d4030e4edc00f7 100644 (file)
@@ -53,12 +53,8 @@ typedef struct CPUMoxieState {
 
 typedef struct MoxieCPU MoxieCPU;
 typedef struct MoxieCPUClass MoxieCPUClass;
-#define MOXIE_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(MoxieCPUClass, (klass), TYPE_MOXIE_CPU)
-#define MOXIE_CPU(obj) \
-    OBJECT_CHECK(MoxieCPU, (obj), TYPE_MOXIE_CPU)
-#define MOXIE_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(MoxieCPUClass, (obj), TYPE_MOXIE_CPU)
+DECLARE_OBJ_CHECKERS(MoxieCPU, MoxieCPUClass,
+                     MOXIE_CPU, TYPE_MOXIE_CPU)
 
 /**
  * MoxieCPUClass:
index 7162cbdf5c7b6e748bcdfce43e25d9b466a0437a..0b91a3634bdefa0610cace8e6010fc54fe294bef 100644 (file)
@@ -34,12 +34,8 @@ typedef struct CPUNios2State CPUNios2State;
 
 typedef struct Nios2CPU Nios2CPU;
 typedef struct Nios2CPUClass Nios2CPUClass;
-#define NIOS2_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(Nios2CPUClass, (klass), TYPE_NIOS2_CPU)
-#define NIOS2_CPU(obj) \
-    OBJECT_CHECK(Nios2CPU, (obj), TYPE_NIOS2_CPU)
-#define NIOS2_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(Nios2CPUClass, (obj), TYPE_NIOS2_CPU)
+DECLARE_OBJ_CHECKERS(Nios2CPU, Nios2CPUClass,
+                     NIOS2_CPU, TYPE_NIOS2_CPU)
 
 /**
  * Nios2CPUClass:
index ab0dd55358a53ec663b16a1f39945381e25fccbb..5e6d8a40d6abd3882b003039fba95e08af945ecc 100644 (file)
@@ -31,12 +31,8 @@ struct OpenRISCCPU;
 
 typedef struct OpenRISCCPU OpenRISCCPU;
 typedef struct OpenRISCCPUClass OpenRISCCPUClass;
-#define OPENRISC_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(OpenRISCCPUClass, (klass), TYPE_OPENRISC_CPU)
-#define OPENRISC_CPU(obj) \
-    OBJECT_CHECK(OpenRISCCPU, (obj), TYPE_OPENRISC_CPU)
-#define OPENRISC_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(OpenRISCCPUClass, (obj), TYPE_OPENRISC_CPU)
+DECLARE_OBJ_CHECKERS(OpenRISCCPU, OpenRISCCPUClass,
+                     OPENRISC_CPU, TYPE_OPENRISC_CPU)
 
 /**
  * OpenRISCCPUClass:
index 017f0efc7bb2f2f87a1517ec90f45ba88b42f81a..f7e600c7b3d265229f5d895dc35894e8ab064583 100644 (file)
 
 typedef struct PowerPCCPU PowerPCCPU;
 typedef struct PowerPCCPUClass PowerPCCPUClass;
-#define POWERPC_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(PowerPCCPUClass, (klass), TYPE_POWERPC_CPU)
-#define POWERPC_CPU(obj) \
-    OBJECT_CHECK(PowerPCCPU, (obj), TYPE_POWERPC_CPU)
-#define POWERPC_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(PowerPCCPUClass, (obj), TYPE_POWERPC_CPU)
+DECLARE_OBJ_CHECKERS(PowerPCCPU, PowerPCCPUClass,
+                     POWERPC_CPU, TYPE_POWERPC_CPU)
 
 typedef struct CPUPPCState CPUPPCState;
 typedef struct ppc_tb_t ppc_tb_t;
index 1c6fbfcfdb5cbcc1e0bc4d6c285db24ec77652c4..766e9c5c26faae4da7b9eba8a40d3091b81ec096 100644 (file)
@@ -1222,14 +1222,8 @@ struct PPCVirtualHypervisorClass {
 };
 
 #define TYPE_PPC_VIRTUAL_HYPERVISOR "ppc-virtual-hypervisor"
-#define PPC_VIRTUAL_HYPERVISOR(obj)                 \
-    OBJECT_CHECK(PPCVirtualHypervisor, (obj), TYPE_PPC_VIRTUAL_HYPERVISOR)
-#define PPC_VIRTUAL_HYPERVISOR_CLASS(klass)         \
-    OBJECT_CLASS_CHECK(PPCVirtualHypervisorClass, (klass), \
-                       TYPE_PPC_VIRTUAL_HYPERVISOR)
-#define PPC_VIRTUAL_HYPERVISOR_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(PPCVirtualHypervisorClass, (obj), \
-                     TYPE_PPC_VIRTUAL_HYPERVISOR)
+DECLARE_OBJ_CHECKERS(PPCVirtualHypervisor, PPCVirtualHypervisorClass,
+                     PPC_VIRTUAL_HYPERVISOR, TYPE_PPC_VIRTUAL_HYPERVISOR)
 #endif /* CONFIG_USER_ONLY */
 
 void ppc_cpu_do_interrupt(CPUState *cpu);
index ff86613d948b48a9d4aef02770e642c04f9cfff8..04ccb7873804393cab511d4f41982a5dd60a5c90 100644 (file)
@@ -234,12 +234,8 @@ struct CPURISCVState {
 
 typedef struct RISCVCPU RISCVCPU;
 typedef struct RISCVCPUClass RISCVCPUClass;
-#define RISCV_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(RISCVCPUClass, (klass), TYPE_RISCV_CPU)
-#define RISCV_CPU(obj) \
-    OBJECT_CHECK(RISCVCPU, (obj), TYPE_RISCV_CPU)
-#define RISCV_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(RISCVCPUClass, (obj), TYPE_RISCV_CPU)
+DECLARE_OBJ_CHECKERS(RISCVCPU, RISCVCPUClass,
+                     RISCV_CPU, TYPE_RISCV_CPU)
 
 /**
  * RISCVCPUClass:
index dd96469e0490a07a326add14b854817cea7d01e5..05f5773ab1cfbece46f1528ef196c9964819f82f 100644 (file)
 
 typedef struct RXCPU RXCPU;
 typedef struct RXCPUClass RXCPUClass;
-#define RX_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(RXCPUClass, (klass), TYPE_RX_CPU)
-#define RX_CPU(obj) \
-    OBJECT_CHECK(RXCPU, (obj), TYPE_RX_CPU)
-#define RX_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(RXCPUClass, (obj), TYPE_RX_CPU)
+DECLARE_OBJ_CHECKERS(RXCPU, RXCPUClass,
+                     RX_CPU, TYPE_RX_CPU)
 
 /*
  * RXCPUClass:
index 13f1f2659edf93e90e0de90dff4599fe007bcd3c..5f0dccdac109291d1a151e5edb94e32d72f64198 100644 (file)
 
 typedef struct S390CPU S390CPU;
 typedef struct S390CPUClass S390CPUClass;
-#define S390_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(S390CPUClass, (klass), TYPE_S390_CPU)
-#define S390_CPU(obj) \
-    OBJECT_CHECK(S390CPU, (obj), TYPE_S390_CPU)
-#define S390_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(S390CPUClass, (obj), TYPE_S390_CPU)
+DECLARE_OBJ_CHECKERS(S390CPU, S390CPUClass,
+                     S390_CPU, TYPE_S390_CPU)
 
 typedef struct S390CPUModel S390CPUModel;
 typedef struct S390CPUDef S390CPUDef;
index bf71c0f8e5d8d90779f59c7285b6498015d4c179..b04b2bb4bf0cd933cd30892912c6302434dc02f6 100644 (file)
 
 typedef struct SuperHCPU SuperHCPU;
 typedef struct SuperHCPUClass SuperHCPUClass;
-#define SUPERH_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(SuperHCPUClass, (klass), TYPE_SUPERH_CPU)
-#define SUPERH_CPU(obj) \
-    OBJECT_CHECK(SuperHCPU, (obj), TYPE_SUPERH_CPU)
-#define SUPERH_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(SuperHCPUClass, (obj), TYPE_SUPERH_CPU)
+DECLARE_OBJ_CHECKERS(SuperHCPU, SuperHCPUClass,
+                     SUPERH_CPU, TYPE_SUPERH_CPU)
 
 /**
  * SuperHCPUClass:
index b7cc81e5f3fde176ef17bda67c05cca740b910d8..42cb631d45d37e8891f59d322f4a64c147a86f7d 100644 (file)
 
 typedef struct SPARCCPU SPARCCPU;
 typedef struct SPARCCPUClass SPARCCPUClass;
-#define SPARC_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(SPARCCPUClass, (klass), TYPE_SPARC_CPU)
-#define SPARC_CPU(obj) \
-    OBJECT_CHECK(SPARCCPU, (obj), TYPE_SPARC_CPU)
-#define SPARC_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(SPARCCPUClass, (obj), TYPE_SPARC_CPU)
+DECLARE_OBJ_CHECKERS(SPARCCPU, SPARCCPUClass,
+                     SPARC_CPU, TYPE_SPARC_CPU)
 
 typedef struct sparc_def_t sparc_def_t;
 /**
index d6cc1d29826f3f954994d7d627d4abef0099ca0c..d4cf70dc1586184653c4238479558d0d31e00e1c 100644 (file)
@@ -101,12 +101,8 @@ typedef struct CPUTLGState {
 
 typedef struct TileGXCPU TileGXCPU;
 typedef struct TileGXCPUClass TileGXCPUClass;
-#define TILEGX_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(TileGXCPUClass, (klass), TYPE_TILEGX_CPU)
-#define TILEGX_CPU(obj) \
-    OBJECT_CHECK(TileGXCPU, (obj), TYPE_TILEGX_CPU)
-#define TILEGX_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(TileGXCPUClass, (obj), TYPE_TILEGX_CPU)
+DECLARE_OBJ_CHECKERS(TileGXCPU, TileGXCPUClass,
+                     TILEGX_CPU, TYPE_TILEGX_CPU)
 
 /**
  * TileGXCPUClass:
index cef466da74146a3861810ce993e8d6e2f12e0f0e..1988c260932c18397f77da43e648761932319dfd 100644 (file)
 
 typedef struct TriCoreCPU TriCoreCPU;
 typedef struct TriCoreCPUClass TriCoreCPUClass;
-#define TRICORE_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(TriCoreCPUClass, (klass), TYPE_TRICORE_CPU)
-#define TRICORE_CPU(obj) \
-    OBJECT_CHECK(TriCoreCPU, (obj), TYPE_TRICORE_CPU)
-#define TRICORE_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(TriCoreCPUClass, (obj), TYPE_TRICORE_CPU)
+DECLARE_OBJ_CHECKERS(TriCoreCPU, TriCoreCPUClass,
+                     TRICORE_CPU, TYPE_TRICORE_CPU)
 
 struct TriCoreCPUClass {
     /*< private >*/
index 6a1cb1c82df6780e51fc72742f9bddb016740338..5b67ac532d12450c305bcd156be6f22e61441f37 100644 (file)
 
 typedef struct UniCore32CPU UniCore32CPU;
 typedef struct UniCore32CPUClass UniCore32CPUClass;
-#define UNICORE32_CPU_CLASS(klass) \
-    OBJECT_CLASS_CHECK(UniCore32CPUClass, (klass), TYPE_UNICORE32_CPU)
-#define UNICORE32_CPU(obj) \
-    OBJECT_CHECK(UniCore32CPU, (obj), TYPE_UNICORE32_CPU)
-#define UNICORE32_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(UniCore32CPUClass, (obj), TYPE_UNICORE32_CPU)
+DECLARE_OBJ_CHECKERS(UniCore32CPU, UniCore32CPUClass,
+                     UNICORE32_CPU, TYPE_UNICORE32_CPU)
 
 /**
  * UniCore32CPUClass:
index cd9f31dc84ce262a1f50dd48aa85ee274dc6f192..ef13262b420d516c625019c584fdd0b33d3eb519 100644 (file)
 
 typedef struct XtensaCPU XtensaCPU;
 typedef struct XtensaCPUClass XtensaCPUClass;
-#define XTENSA_CPU_CLASS(class) \
-    OBJECT_CLASS_CHECK(XtensaCPUClass, (class), TYPE_XTENSA_CPU)
-#define XTENSA_CPU(obj) \
-    OBJECT_CHECK(XtensaCPU, (obj), TYPE_XTENSA_CPU)
-#define XTENSA_CPU_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(XtensaCPUClass, (obj), TYPE_XTENSA_CPU)
+DECLARE_OBJ_CHECKERS(XtensaCPU, XtensaCPUClass,
+                     XTENSA_CPU, TYPE_XTENSA_CPU)
 
 typedef struct XtensaConfig XtensaConfig;
 
index bfa9ad5d19b58822bd9645853b76c7e30bb53d18..c99be97ed8bc7a1787e68eb2f349cc1643016504 100644 (file)
 
 #define TYPE_TEST_IF "test-interface"
 typedef struct TestIfClass TestIfClass;
-#define TEST_IF_CLASS(klass) \
-     OBJECT_CLASS_CHECK(TestIfClass, (klass), TYPE_TEST_IF)
-#define TEST_IF_GET_CLASS(obj) \
-     OBJECT_GET_CLASS(TestIfClass, (obj), TYPE_TEST_IF)
+DECLARE_CLASS_CHECKERS(TestIfClass, TEST_IF,
+                       TYPE_TEST_IF)
 #define TEST_IF(obj) \
      INTERFACE_CHECK(TestIf, (obj), TYPE_TEST_IF)
 
index e1e0a966619d50934976f27b949acc42c2602090..1571606c1ce804749ae2b22266d94c7ff83a95e5 100644 (file)
@@ -33,8 +33,8 @@
 typedef struct DummyObject DummyObject;
 typedef struct DummyObjectClass DummyObjectClass;
 
-#define DUMMY_OBJECT(obj)                               \
-    OBJECT_CHECK(DummyObject, (obj), TYPE_DUMMY)
+DECLARE_INSTANCE_CHECKER(DummyObject, DUMMY_OBJECT,
+                         TYPE_DUMMY)
 
 typedef enum DummyAnimal DummyAnimal;
 
@@ -196,12 +196,12 @@ typedef struct DummyBackendClass DummyBackendClass;
 #define TYPE_DUMMY_BUS "qemu-dummy-bus"
 #define TYPE_DUMMY_BACKEND "qemu-dummy-backend"
 
-#define DUMMY_DEV(obj)                               \
-    OBJECT_CHECK(DummyDev, (obj), TYPE_DUMMY_DEV)
-#define DUMMY_BUS(obj)                               \
-    OBJECT_CHECK(DummyBus, (obj), TYPE_DUMMY_BUS)
-#define DUMMY_BACKEND(obj)                               \
-    OBJECT_CHECK(DummyBackend, (obj), TYPE_DUMMY_BACKEND)
+DECLARE_INSTANCE_CHECKER(DummyDev, DUMMY_DEV,
+                         TYPE_DUMMY_DEV)
+DECLARE_INSTANCE_CHECKER(DummyBus, DUMMY_BUS,
+                         TYPE_DUMMY_BUS)
+DECLARE_INSTANCE_CHECKER(DummyBackend, DUMMY_BACKEND,
+                         TYPE_DUMMY_BACKEND)
 
 struct DummyDev {
     Object parent_obj;
index c3e210a9ef1531b118e208ad71e8a9079e8a2462..8a3c14d92c35b5f19da38bf354953d0722f1c732 100644 (file)
@@ -32,8 +32,8 @@
 
 #define TYPE_STATIC_PROPS "static_prop_type"
 typedef struct MyType MyType;
-#define STATIC_TYPE(obj) \
-    OBJECT_CHECK(MyType, (obj), TYPE_STATIC_PROPS)
+DECLARE_INSTANCE_CHECKER(MyType, STATIC_TYPE,
+                         TYPE_STATIC_PROPS)
 
 #define TYPE_SUBCLASS "static_prop_subtype"
 
@@ -128,8 +128,8 @@ static void test_static_globalprop(void)
 }
 
 #define TYPE_DYNAMIC_PROPS "dynamic-prop-type"
-#define DYNAMIC_TYPE(obj) \
-    OBJECT_CHECK(MyType, (obj), TYPE_DYNAMIC_PROPS)
+DECLARE_INSTANCE_CHECKER(MyType, DYNAMIC_TYPE,
+                         TYPE_DYNAMIC_PROPS)
 
 #define TYPE_UNUSED_HOTPLUG   "hotplug-type"
 #define TYPE_UNUSED_NOHOTPLUG "nohotplug-type"
index 37972cb5e0476f94680fbb63b890dac95d476381..f8d7643fe410e3bccc2d70f95b77331fd2f3231d 100644 (file)
@@ -1090,7 +1090,8 @@ struct VCChardev {
 typedef struct VCChardev VCChardev;
 
 #define TYPE_CHARDEV_VC "chardev-vc"
-#define VC_CHARDEV(obj) OBJECT_CHECK(VCChardev, (obj), TYPE_CHARDEV_VC)
+DECLARE_INSTANCE_CHECKER(VCChardev, VC_CHARDEV,
+                         TYPE_CHARDEV_VC)
 
 static int vc_chr_write(Chardev *chr, const uint8_t *buf, int len)
 {
index 84ac289e57b50fb0ebf34d816926cb5b60114830..1c59de2af44a74b560f9122aa63fe1ef329078ad 100644 (file)
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -179,7 +179,8 @@ struct VCChardev {
 typedef struct VCChardev VCChardev;
 
 #define TYPE_CHARDEV_VC "chardev-vc"
-#define VC_CHARDEV(obj) OBJECT_CHECK(VCChardev, (obj), TYPE_CHARDEV_VC)
+DECLARE_INSTANCE_CHECKER(VCChardev, VC_CHARDEV,
+                         TYPE_CHARDEV_VC)
 
 bool gtk_use_gl_area;
 
index 477f6cd70e32586af854b05656bfa6098e565e93..67d52afbea2b992f011a4c9b3786250c0c57d0f1 100644 (file)
 #define TYPE_INPUT_BARRIER "input-barrier"
 typedef struct InputBarrier InputBarrier;
 typedef struct InputBarrierClass InputBarrierClass;
-#define INPUT_BARRIER(obj) \
-    OBJECT_CHECK(InputBarrier, (obj), TYPE_INPUT_BARRIER)
-#define INPUT_BARRIER_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(InputBarrierClass, (obj), TYPE_INPUT_BARRIER)
-#define INPUT_BARRIER_CLASS(klass) \
-    OBJECT_CLASS_CHECK(InputBarrierClass, (klass), TYPE_INPUT_BARRIER)
+DECLARE_OBJ_CHECKERS(InputBarrier, InputBarrierClass,
+                     INPUT_BARRIER, TYPE_INPUT_BARRIER)
 
 
 #define MAX_HELLO_LENGTH 1024
index 1b35c044e6513d5551492a4f7c0c87874f920b2c..bfdbd38c8627443046625e1a93a1c390e1d8e04b 100644 (file)
@@ -33,12 +33,8 @@ static bool linux_is_button(unsigned int lnx)
 #define TYPE_INPUT_LINUX "input-linux"
 typedef struct InputLinux InputLinux;
 typedef struct InputLinuxClass InputLinuxClass;
-#define INPUT_LINUX(obj) \
-    OBJECT_CHECK(InputLinux, (obj), TYPE_INPUT_LINUX)
-#define INPUT_LINUX_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(InputLinuxClass, (obj), TYPE_INPUT_LINUX)
-#define INPUT_LINUX_CLASS(klass) \
-    OBJECT_CLASS_CHECK(InputLinuxClass, (klass), TYPE_INPUT_LINUX)
+DECLARE_OBJ_CHECKERS(InputLinux, InputLinuxClass,
+                     INPUT_LINUX, TYPE_INPUT_LINUX)
 
 
 struct InputLinux {
index d68a35c3b1d51ad6e70e23e0e6e4f632e0c651c9..93e105c6ee8235b23f14e2da7772646099b1742e 100644 (file)
@@ -47,7 +47,8 @@ struct VCChardev {
 typedef struct VCChardev VCChardev;
 
 #define TYPE_CHARDEV_VC "chardev-vc"
-#define VC_CHARDEV(obj) OBJECT_CHECK(VCChardev, (obj), TYPE_CHARDEV_VC)
+DECLARE_INSTANCE_CHECKER(VCChardev, VC_CHARDEV,
+                         TYPE_CHARDEV_VC)
 
 static ChardevBackend *
 chr_spice_backend_new(void)