|
@@ -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;
|
|
|
}
|