Hi Paolo, I've modified the remainder of your static properties series, in particular:
"qdev: Push state up to Object": * OBJECT_STATE_CREATED -> OBJECT_STATE_INITIALIZED, to align with QOM API * Don't set early in object_instance_init() but in object_init_with_type() after all initfns have been run. "qom: add get_id": * _object_get_id() -> object_instance_get_id(), to avoid underscore * Avoid GCC ?: expression, suggested by malc. * Use newly introduced object_property_is_child() helper. "qdev: Generalize properties to Objects": * Fixed indentation. "qdev: Move bulk of qdev-properties.c to qom/object-properties.c": * Documentation fix: qdev_property_add_static -> object_property_add_static * Move from hw/qdev-properties.c to a new qom/object-properties.c instead of qom/object.c. "qom: Push static properties to Object": * Build fix: Adapt arm_gic_properties in hw/arm_gic.c as well. "qom: Add "realized" property": * Adapted to OBJECT_STATE_INITIALIZED. "qom: Add QERR_PROPERTY_SET_AFTER_REALIZE": * Redid the hw/qdev-properties.c changes in qom/object-properties.c. If you're okay with these, I'll append them to the qom-next queue and will send out the PULL. Otherwise I'll split qom-next into two batches. Available at: https://github.com/afaerber/qemu-cpu/commits/realize Regards, Andreas Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: Anthony Liguori <anth...@codemonkey.ws> Cc: malc <av1...@comtv.ru> Paolo Bonzini (6): qdev: Push state up to Object qom: Add get_id qdev: Generalize properties to Objects qdev: Move bulk of qdev-properties.c to qom/object-properties.c qom: Push static properties to Object qom: Add "realized" property Peter Maydell (1): qom: Add QERR_PROPERTY_SET_AFTER_REALIZE hw/9pfs/virtio-9p-device.c | 2 +- hw/a15mpcore.c | 3 +- hw/a9mpcore.c | 2 +- hw/ac97.c | 2 +- hw/acpi_piix4.c | 2 +- hw/apic_common.c | 2 +- hw/applesmc.c | 2 +- hw/arm11mpcore.c | 6 +- hw/arm_gic.c | 2 +- hw/arm_l2x0.c | 2 +- hw/arm_mptimer.c | 2 +- hw/arm_sysctl.c | 2 +- hw/arm_timer.c | 3 +- hw/armv7m.c | 3 +- hw/armv7m_nvic.c | 2 +- hw/cadence_gem.c | 2 +- hw/ccid-card-emulated.c | 2 +- hw/ccid-card-passthru.c | 2 +- hw/cs4231.c | 2 +- hw/cs4231a.c | 2 +- hw/debugcon.c | 3 +- hw/ds1225y.c | 2 +- hw/e1000.c | 2 +- hw/eccmemctl.c | 2 +- hw/eepro100.c | 2 +- hw/escc.c | 2 +- hw/esp.c | 2 +- hw/etraxfs_eth.c | 3 +- hw/etraxfs_pic.c | 3 +- hw/exynos4210_combiner.c | 2 +- hw/exynos4210_gic.c | 3 +- hw/exynos4210_uart.c | 2 +- hw/fdc.c | 6 +- hw/fw_cfg.c | 2 +- hw/g364fb.c | 2 +- hw/grlib_apbuart.c | 3 +- hw/grlib_gptimer.c | 2 +- hw/grlib_irqmp.c | 2 +- hw/gus.c | 2 +- hw/hda-audio.c | 6 +- hw/hpet.c | 2 +- hw/i2c.c | 2 +- hw/i82374.c | 2 +- hw/i82378.c | 2 +- hw/i8254.c | 2 +- hw/i8259_common.c | 2 +- hw/ide/ahci.c | 2 +- hw/ide/cmd646.c | 3 +- hw/ide/isa.c | 2 +- hw/ide/qdev.c | 8 +- hw/integratorcp.c | 3 +- hw/intel-hda.c | 4 +- hw/ioh3420.c | 2 +- hw/ivshmem.c | 2 +- hw/kvm/i8254.c | 2 +- hw/kvm/ioapic.c | 2 +- hw/lan9118.c | 2 +- hw/lance.c | 2 +- hw/lm32_sys.c | 2 +- hw/lm32_timer.c | 2 +- hw/m48t59.c | 4 +- hw/marvell_88w8618_audio.c | 2 +- hw/mc146818rtc.c | 2 +- hw/milkymist-minimac2.c | 2 +- hw/milkymist-softusb.c | 2 +- hw/milkymist-sysctl.c | 2 +- hw/milkymist-vgafb.c | 2 +- hw/mipsnet.c | 2 +- hw/musicpal.c | 2 +- hw/nand.c | 2 +- hw/ne2000-isa.c | 3 +- hw/ne2000.c | 2 +- hw/omap_gpio.c | 4 +- hw/omap_i2c.c | 2 +- hw/omap_intc.c | 4 +- hw/onenand.c | 2 +- hw/opencores_eth.c | 2 +- hw/parallel.c | 3 +- hw/pc_sysfw.c | 2 +- hw/pci.c | 2 +- hw/pci_bridge_dev.c | 2 +- hw/pcnet-pci.c | 2 +- hw/pcspk.c | 2 +- hw/pl041.c | 2 +- hw/pxa2xx.c | 2 +- hw/pxa2xx_dma.c | 2 +- hw/pxa2xx_gpio.c | 2 +- hw/pxa2xx_timer.c | 4 +- hw/qdev-addr.c | 22 +- hw/qdev-monitor.c | 4 +- hw/qdev-properties.c | 602 +++++++---------------------------------- hw/qdev.c | 85 ++----- hw/qdev.h | 98 +------- hw/qxl.c | 4 +- hw/rtl8139.c | 2 +- hw/s390-virtio-bus.c | 12 +- hw/sb16.c | 2 +- hw/scsi-bus.c | 2 +- hw/scsi-disk.c | 8 +- hw/scsi-generic.c | 2 +- hw/serial.c | 2 +- hw/slavio_timer.c | 2 +- hw/smbus_eeprom.c | 3 +- hw/smc91c111.c | 2 +- hw/spapr_llan.c | 3 +- hw/spapr_pci.c | 3 +- hw/spapr_vio.c | 2 +- hw/spapr_vscsi.c | 3 +- hw/spapr_vty.c | 3 +- hw/sparc32_dma.c | 2 +- hw/spitz.c | 4 +- hw/stellaris_enet.c | 3 +- hw/strongarm.c | 2 +- hw/sun4m.c | 6 +- hw/sun4m_iommu.c | 2 +- hw/sun4u.c | 6 +- hw/tcx.c | 2 +- hw/usb/bus.c | 2 +- hw/usb/dev-audio.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/hcd-ehci.c | 4 +- hw/usb/hcd-ohci.c | 4 +- hw/usb/hcd-uhci.c | 12 +- hw/usb/hcd-xhci.c | 2 +- hw/usb/host-linux.c | 2 +- hw/usb/redirect.c | 2 +- hw/virtio-console.c | 6 +- hw/virtio-pci.c | 10 +- hw/virtio-serial-bus.c | 2 +- hw/vmmouse.c | 2 +- hw/vt82c686.c | 2 +- hw/xgmac.c | 2 +- hw/xilinx_axidma.c | 3 +- hw/xilinx_axienet.c | 3 +- hw/xilinx_ethlite.c | 3 +- hw/xilinx_intc.c | 3 +- hw/xilinx_timer.c | 3 +- hw/xio3130_downstream.c | 2 +- hw/xio3130_upstream.c | 2 +- hw/zaurus.c | 2 +- include/qemu/object.h | 144 ++++++++++ qerror.c | 4 + qerror.h | 3 + qom/Makefile | 2 +- qom/object-properties.c | 469 ++++++++++++++++++++++++++++++++ qom/object.c | 148 ++++++++++- 149 files changed, 1067 insertions(+), 899 deletions(-) create mode 100644 qom/object-properties.c -- 1.7.7