PCI: add pci_create_root_bus() that accepts resource list
authorBjorn Helgaas <bhelgaas@google.com>
Fri, 28 Oct 2011 22:25:45 +0000 (16:25 -0600)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Fri, 6 Jan 2012 20:10:51 +0000 (12:10 -0800)
commit166c6370754a0a92386e2ffb0eeb06e50ac8588d
treec9bbbf23a0508cd93d546ecbfdb9fcd423a1e461
parenta9d9f5276cb3fa08351e8837ab9398bfd8e69a2e
PCI: add pci_create_root_bus() that accepts resource list

pci_create_bus() assigns ioport_resource and iomem_resource as the default
bus resources, i.e., the entire address space.  Architectures fix these
later, typically in pcibios_fixup_bus() or after pci_scan_bus_parented()
returns, but code that runs in the interim sees incorrect resource
information.

This patch adds a new pci_create_root_bus() that sets the bus resources
correctly from a supplied list of resources.

I intend to remove pci_create_bus() after changing all callers.

Based on original patch by Deng-Cheng Zhu.

Reference: http://www.spinics.net/lists/mips/msg41654.html
Reference: https://lkml.org/lkml/2011/8/26/88
Signed-off-by: Deng-Cheng Zhu <dczhu@mips.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/pci/probe.c
include/linux/pci.h