I've noticed that pci_bus_new*() and pci_register_bus() require
'parent' to be a PCI_HOST_BRIDGE object, but this is not clear
from the function signatures.
This series implements two changes in the PCI code:
1) Replace DeviceState with PCIHostState on functions that
already require a PCI_HOST_BRIDGE argument. Makes the
functions harder to misuse.
2) Move PCIHostState::bus initialization inside pci_bus_new*(),
to avoid code duplication and make sure the field will be
always initialized consistently.
Eduardo Habkost (7):
pci: Change pci_host_bus_register() parameter to PCIHostState
pci: Change pci_bus_init() 'parent' parameter to PCIHostState
pci: Change pci_bus_new*() parameter to PCIHostState
pci: Change pci_register_bus() 'parent' parameter to PCIHostState
pci: Set phb->bus inside pci_register_bus()
pci: Set phb->bus inside pci_bus_new()
pci: Set phb->bus inside pci_bus_new_inplace()
include/hw/pci/pci.h | 17 ++++++++--------
hw/alpha/typhoon.c | 10 +++++-----
hw/mips/gt64xxx_pci.c | 9 +++------
hw/pci-bridge/pci_expander_bridge.c | 15 +++++++-------
hw/pci-host/apb.c | 7 ++-----
hw/pci-host/bonito.c | 7 +++----
hw/pci-host/gpex.c | 5 ++---
hw/pci-host/grackle.c | 9 ++-------
hw/pci-host/piix.c | 3 +--
hw/pci-host/ppce500.c | 8 ++++----
hw/pci-host/prep.c | 4 +---
hw/pci-host/q35.c | 6 +++---
hw/pci-host/uninorth.c | 18 ++++++-----------
hw/pci-host/versatile.c | 3 +--
hw/pci-host/xilinx-pcie.c | 6 +++---
hw/pci/pci.c | 40 ++++++++++++++++++-------------------
hw/ppc/ppc4xx_pci.c | 8 ++++----
hw/ppc/spapr_pci.c | 10 +++++-----
hw/s390x/s390-pci-bus.c | 10 +++++-----
hw/sh4/sh_pci.c | 9 +++------
20 files changed, 89 insertions(+), 115 deletions(-)
--
2.11.0.259.g40922b1