[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC 0/4] qdev: Simplify property registration/walking
From: |
Eduardo Habkost |
Subject: |
[Qemu-devel] [RFC 0/4] qdev: Simplify property registration/walking |
Date: |
Thu, 13 Nov 2014 16:05:17 -0200 |
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
- [Qemu-devel] [RFC 0/4] qdev: Simplify property registration/walking,
Eduardo Habkost <=
- [Qemu-devel] [RFC 1/4] qdev: Variable name style fix, Eduardo Habkost, 2014/11/13
- [Qemu-devel] [RFC 3/4] qdev: Make DeviceClass.props a linked list, Eduardo Habkost, 2014/11/13
- [Qemu-devel] [RFC 4/4] qdev: Make subclasses inherit properties from superclass, Eduardo Habkost, 2014/11/13
- [Qemu-devel] [RFC 2/4] qdev: Wrap DeviceClass.props setting into a function, Eduardo Habkost, 2014/11/13
- Re: [Qemu-devel] [RFC 0/4] qdev: Simplify property registration/walking, Paolo Bonzini, 2014/11/14