Hello Michael et al., This series turns PCIBridge, PCIEPort and PCIESlot into abstract QOM types, so that we can use QOM casts to obtain a pointer.
The PCIBridge part was prompted by Don Koch's PCI bridge patch; the remainder by Peter C.'s PCIDevice cast cleanups. This prepares for turning the two-level qdev PCIDevice initfns into QOM multi-level realizefns, touched upon by Hu Tao's SysBus conversions. v2 moves qdev properties to PCIEPort/PCIESlot as appropriate. Regards, Andreas v1 -> v2: * Rebased on PCIBridge change, replacing a new container_of(). * Moved qdev properties to PCIEPort and PCIESlot respectively. * Don't cleverly avoid parent_obj.parent_obj chains in VMState (mst/aliguori). Cc: Anthony Liguori <anth...@codemonkey.ws> Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: Michael S. Tsirkin <m...@redhat.com> Cc: Peter Crosthwaite <peter.crosthwa...@xilinx.com> Cc: Hu Tao <hu...@cn.fujitsu.com> Andreas Färber (4): pci-bridge: Turn PCIBridge into abstract QOM type pci-bridge-dev: QOM parent field cleanup pci-bridge/i82801b11: Rename parent field pcie_port: Turn PCIEPort and PCIESlot into abstract QOM types hw/pci-bridge/dec.c | 4 +-- hw/pci-bridge/i82801b11.c | 10 +++++--- hw/pci-bridge/ioh3420.c | 35 ++++++++----------------- hw/pci-bridge/pci_bridge_dev.c | 26 +++++++++++-------- hw/pci-bridge/xio3130_downstream.c | 35 ++++++++----------------- hw/pci-bridge/xio3130_upstream.c | 26 ++++++------------- hw/pci-host/apb.c | 4 +-- hw/pci/pci.c | 2 +- hw/pci/pci_bridge.c | 40 +++++++++++++++++++++-------- hw/pci/pcie.c | 2 +- hw/pci/pcie_port.c | 52 ++++++++++++++++++++++++++++++++++++++ include/hw/pci/pci_bus.h | 7 ++++- include/hw/pci/pcie_port.h | 14 ++++++++-- 13 files changed, 155 insertions(+), 102 deletions(-) -- 1.8.1.4