This series is an attempt to simplify the way properties are added to classes, and the way code walks the list of properties for a device class.
Now instead of requiring code to manually check the parent classes, the property lists are automatically copied from the parent class, and subclasses just append new items to it. Eduardo Habkost (4): qdev: Variable name style fix qdev: Wrap DeviceClass.props setting into a function qdev: Make DeviceClass.props a linked list qdev: Make subclasses inherit properties from superclass hw/9pfs/virtio-9p-device.c | 2 +- hw/acpi/piix4.c | 2 +- hw/arm/armv7m.c | 2 +- hw/arm/integratorcp.c | 2 +- hw/arm/musicpal.c | 2 +- hw/arm/pxa2xx.c | 2 +- hw/arm/pxa2xx_gpio.c | 2 +- hw/arm/spitz.c | 4 +-- hw/arm/strongarm.c | 2 +- hw/audio/ac97.c | 2 +- hw/audio/adlib.c | 2 +- hw/audio/cs4231.c | 2 +- hw/audio/cs4231a.c | 2 +- hw/audio/gus.c | 2 +- hw/audio/hda-codec.c | 2 +- hw/audio/intel-hda.c | 4 +-- hw/audio/marvell_88w8618.c | 2 +- hw/audio/pcspk.c | 2 +- hw/audio/pl041.c | 2 +- hw/audio/sb16.c | 2 +- hw/block/fdc.c | 6 ++-- hw/block/nand.c | 2 +- hw/block/nvme.c | 2 +- hw/block/onenand.c | 2 +- hw/block/pflash_cfi01.c | 2 +- hw/block/pflash_cfi02.c | 2 +- hw/block/virtio-blk.c | 2 +- hw/char/debugcon.c | 2 +- hw/char/escc.c | 2 +- hw/char/exynos4210_uart.c | 2 +- hw/char/grlib_apbuart.c | 2 +- hw/char/imx_serial.c | 2 +- hw/char/ipoctal232.c | 2 +- hw/char/parallel.c | 2 +- hw/char/sclpconsole-lm.c | 2 +- hw/char/sclpconsole.c | 2 +- hw/char/serial-isa.c | 2 +- hw/char/serial-pci.c | 6 ++-- hw/char/spapr_vty.c | 2 +- hw/char/virtio-console.c | 2 +- hw/char/virtio-serial-bus.c | 4 +-- hw/core/platform-bus.c | 2 +- hw/core/qdev-properties.c | 29 ++++------------- hw/core/qdev.c | 65 ++++++++++++++++++++------------------ hw/cpu/a15mpcore.c | 2 +- hw/cpu/a9mpcore.c | 2 +- hw/cpu/arm11mpcore.c | 2 +- hw/cpu/realview_mpcore.c | 2 +- hw/display/cg3.c | 2 +- hw/display/cirrus_vga.c | 4 +-- hw/display/g364fb.c | 2 +- hw/display/milkymist-vgafb.c | 2 +- hw/display/qxl.c | 4 +-- hw/display/tcx.c | 2 +- hw/display/vga-isa.c | 2 +- hw/display/vga-pci.c | 4 +-- hw/display/vmware_vga.c | 2 +- hw/dma/i82374.c | 2 +- hw/dma/pl330.c | 2 +- hw/dma/pxa2xx_dma.c | 2 +- hw/dma/sparc32_dma.c | 2 +- hw/dma/sun4m_iommu.c | 2 +- hw/dma/xilinx_axidma.c | 2 +- hw/gpio/omap_gpio.c | 4 +-- hw/gpio/zaurus.c | 2 +- hw/i2c/core.c | 2 +- hw/i2c/omap_i2c.c | 2 +- hw/i2c/smbus_eeprom.c | 2 +- hw/i386/intel_iommu.c | 2 +- hw/i386/kvm/i8254.c | 2 +- hw/i386/kvm/ioapic.c | 2 +- hw/i386/kvm/pci-assign.c | 2 +- hw/i386/xen/xen_pvdevice.c | 2 +- hw/ide/ahci.c | 2 +- hw/ide/cmd646.c | 2 +- hw/ide/isa.c | 2 +- hw/ide/mmio.c | 2 +- hw/ide/qdev.c | 8 ++--- hw/input/milkymist-softusb.c | 2 +- hw/input/vmmouse.c | 2 +- hw/intc/apic_common.c | 2 +- hw/intc/arm_gic_common.c | 2 +- hw/intc/etraxfs_pic.c | 2 +- hw/intc/exynos4210_combiner.c | 2 +- hw/intc/exynos4210_gic.c | 4 +-- hw/intc/grlib_irqmp.c | 2 +- hw/intc/i8259_common.c | 2 +- hw/intc/omap_intc.c | 4 +-- hw/intc/openpic.c | 2 +- hw/intc/openpic_kvm.c | 2 +- hw/intc/xilinx_intc.c | 2 +- hw/ipack/ipack.c | 2 +- hw/isa/pc87312.c | 2 +- hw/isa/vt82c686.c | 2 +- hw/mem/pc-dimm.c | 2 +- hw/misc/a9scu.c | 2 +- hw/misc/applesmc.c | 2 +- hw/misc/arm11scu.c | 2 +- hw/misc/arm_l2x0.c | 2 +- hw/misc/arm_sysctl.c | 2 +- hw/misc/debugexit.c | 2 +- hw/misc/eccmemctl.c | 2 +- hw/misc/ivshmem.c | 2 +- hw/misc/macio/cuda.c | 2 +- hw/misc/macio/macio.c | 2 +- hw/misc/pvpanic.c | 2 +- hw/misc/vfio.c | 2 +- hw/net/allwinner_emac.c | 2 +- hw/net/cadence_gem.c | 2 +- hw/net/e1000.c | 2 +- hw/net/eepro100.c | 2 +- hw/net/etraxfs_eth.c | 2 +- hw/net/fsl_etsec/etsec.c | 2 +- hw/net/lan9118.c | 2 +- hw/net/lance.c | 2 +- hw/net/milkymist-minimac2.c | 2 +- hw/net/mipsnet.c | 2 +- hw/net/ne2000-isa.c | 2 +- hw/net/ne2000.c | 2 +- hw/net/opencores_eth.c | 2 +- hw/net/pcnet-pci.c | 2 +- hw/net/rtl8139.c | 2 +- hw/net/smc91c111.c | 2 +- hw/net/spapr_llan.c | 2 +- hw/net/stellaris_enet.c | 2 +- hw/net/virtio-net.c | 2 +- hw/net/vmxnet3.c | 2 +- hw/net/xgmac.c | 2 +- hw/net/xilinx_axienet.c | 2 +- hw/net/xilinx_ethlite.c | 2 +- hw/nvram/ds1225y.c | 2 +- hw/nvram/fw_cfg.c | 2 +- hw/nvram/mac_nvram.c | 2 +- hw/nvram/spapr_nvram.c | 2 +- hw/pci-bridge/ioh3420.c | 2 +- hw/pci-bridge/pci_bridge_dev.c | 2 +- hw/pci-bridge/xio3130_downstream.c | 2 +- hw/pci-host/piix.c | 2 +- hw/pci-host/ppce500.c | 2 +- hw/pci-host/prep.c | 2 +- hw/pci-host/q35.c | 2 +- hw/pci-host/versatile.c | 2 +- hw/pci/pci.c | 2 +- hw/pci/pcie_port.c | 4 +-- hw/ppc/spapr_pci.c | 2 +- hw/ppc/spapr_pci_vfio.c | 2 +- hw/ppc/spapr_vio.c | 2 +- hw/s390x/ipl.c | 2 +- hw/s390x/s390-virtio-bus.c | 10 +++--- hw/s390x/virtio-ccw.c | 16 +++++----- hw/scsi/megasas.c | 2 +- hw/scsi/scsi-bus.c | 2 +- hw/scsi/scsi-disk.c | 8 ++--- hw/scsi/scsi-generic.c | 2 +- hw/scsi/spapr_vscsi.c | 2 +- hw/scsi/vhost-scsi.c | 2 +- hw/scsi/virtio-scsi.c | 2 +- hw/scsi/vmw_pvscsi.c | 2 +- hw/sd/sdhci.c | 2 +- hw/sparc/sun4m.c | 4 +-- hw/sparc64/sun4u.c | 4 +-- hw/ssi/xilinx_spi.c | 2 +- hw/ssi/xilinx_spips.c | 2 +- hw/timer/a9gtimer.c | 2 +- hw/timer/allwinner-a10-pit.c | 2 +- hw/timer/arm_mptimer.c | 2 +- hw/timer/arm_timer.c | 2 +- hw/timer/grlib_gptimer.c | 2 +- hw/timer/hpet.c | 2 +- hw/timer/i8254.c | 2 +- hw/timer/lm32_timer.c | 2 +- hw/timer/m48t59.c | 4 +-- hw/timer/mc146818rtc.c | 2 +- hw/timer/milkymist-sysctl.c | 2 +- hw/timer/pxa2xx_timer.c | 4 +-- hw/timer/slavio_timer.c | 2 +- hw/timer/xilinx_timer.c | 2 +- hw/tpm/tpm_tis.c | 2 +- hw/usb/bus.c | 2 +- hw/usb/ccid-card-emulated.c | 2 +- hw/usb/ccid-card-passthru.c | 2 +- hw/usb/dev-audio.c | 2 +- hw/usb/dev-hid.c | 6 ++-- hw/usb/dev-mtp.c | 2 +- hw/usb/dev-network.c | 2 +- hw/usb/dev-serial.c | 4 +-- hw/usb/dev-smartcard-reader.c | 4 +-- hw/usb/dev-storage.c | 2 +- hw/usb/dev-uas.c | 2 +- hw/usb/hcd-ehci-pci.c | 2 +- hw/usb/hcd-ehci-sysbus.c | 2 +- hw/usb/hcd-ohci.c | 4 +-- hw/usb/hcd-uhci.c | 4 +-- hw/usb/hcd-xhci.c | 2 +- hw/usb/host-libusb.c | 2 +- hw/usb/redirect.c | 2 +- hw/virtio/virtio-balloon.c | 2 +- hw/virtio/virtio-mmio.c | 2 +- hw/virtio/virtio-pci.c | 18 +++++------ hw/virtio/virtio-rng.c | 2 +- hw/xen/xen_pt.c | 2 +- include/hw/qdev-core.h | 6 +++- qdev-monitor.c | 20 ++++-------- qmp.c | 46 +++++++++++++-------------- target-arm/cpu.c | 2 +- target-i386/cpu.c | 4 +-- target-microblaze/cpu.c | 2 +- tests/test-qdev-global-props.c | 2 +- 208 files changed, 329 insertions(+), 343 deletions(-) -- 1.9.3