Change the pci_create_bus() interface to pass in available resources to get them settled down early. This is to avoid possible resource conflicts while doing pci_scan_slot() in pci_scan_child_bus(). Note that pcibios_fixup_bus() can get rid of such conflicts, but it's done AFTER scanning slots. In addition, MIPS PCI resources are now fixed using this new interface. -- Changes -- v3 - v2: o Do not do fixups for root buses in pcibios_fixup_bus(). o Skip bus creation when bus resources cannot be allocated. o PCI domain/bus numbers added to the error info in controller_resources(). v2 - v1: o Merge [PATCH 1/3] to [PATCH 3/3], so now 2 patches in total. o Add more info to patch description. o Fix arch breaks in default resource setup discovered by Bjorn Helgaas. Deng-Cheng Zhu (2): PCI: Pass available resources into pci_create_bus() MIPS: PCI: Pass controller's resources to pci_create_bus() in pcibios_scanbus() arch/microblaze/pci/pci-common.c | 3 +- arch/mips/pci/pci.c | 61 +++++++++++++++++++++++++++++++++----- arch/powerpc/kernel/pci-common.c | 3 +- arch/sparc/kernel/pci.c | 3 +- arch/x86/pci/acpi.c | 2 +- drivers/pci/probe.c | 15 +++++++-- include/linux/pci.h | 3 +- 7 files changed, 73 insertions(+), 17 deletions(-)