On Fri, Aug 26, 2011 at 3:07 AM, Deng-Cheng Zhu <dczhu@xxxxxxxx> wrote: > 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(-) This is beautiful. Thanks for doing this work! I hope other architectures will follow your lead and get rid of their root bus resource fixups. Reviewed-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>