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


Reply via email to