summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYinghai Lu <yinghai@kernel.org>2012-05-17 18:51:13 -0700
committerBjorn Helgaas <bhelgaas@google.com>2012-06-13 15:42:24 -0600
commitb17c0e6f665023ae729ca112516c7b6f3b71f9d3 (patch)
tree5242d4235ea4c03d056011a34ed0090cac1d797f
parent30aa80da43a5f23728eae1516e3a1aad40e808dd (diff)
tile/PCI: use pci_scan_root_bus instead pci_scan_bus
It will update busn_res accordingly, so we get that for last_busno. Acked-by: Chris Metcalf <cmetcalf@tilera.com> Signed-off-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
-rw-r--r--arch/tile/kernel/pci.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/tile/kernel/pci.c b/arch/tile/kernel/pci.c
index 54cc8d77c90c..87422ed7b834 100644
--- a/arch/tile/kernel/pci.c
+++ b/arch/tile/kernel/pci.c
@@ -310,6 +310,7 @@ int __init pcibios_init(void)
if (pci_scan_flags[i] == 0 && controllers[i].ops != NULL) {
struct pci_controller *controller = &controllers[i];
struct pci_bus *bus;
+ LIST_HEAD(resources);
if (tile_init_irqs(i, controller)) {
pr_err("PCI: Could not initialize IRQs\n");
@@ -327,7 +328,9 @@ int __init pcibios_init(void)
* This is inlined in linux/pci.h and calls into
* pci_scan_bus_parented() in probe.c.
*/
- bus = pci_scan_bus(0, controller->ops, controller);
+ pci_add_resource(&resources, &ioport_resource);
+ pci_add_resource(&resources, &iomem_resource);
+ bus = pci_scan_root_bus(NULL, 0, controller->ops, controller, &resources);
controller->root_bus = bus;
controller->last_busno = bus->busn_res.end;
}