|
@@ -731,22 +731,6 @@ struct pci_bus *__ref pci_add_new_bus(struct pci_bus *parent, struct pci_dev *de
|
|
|
return child;
|
|
|
}
|
|
|
|
|
|
-static void pci_fixup_parent_subordinate_busnr(struct pci_bus *child, int max)
|
|
|
-{
|
|
|
- struct pci_bus *parent = child->parent;
|
|
|
-
|
|
|
- /* Attempts to fix that up are really dangerous unless
|
|
|
- we're going to re-assign all bus numbers. */
|
|
|
- if (!pcibios_assign_all_busses())
|
|
|
- return;
|
|
|
-
|
|
|
- while (parent->parent && parent->busn_res.end < max) {
|
|
|
- parent->busn_res.end = max;
|
|
|
- pci_write_config_byte(parent->self, PCI_SUBORDINATE_BUS, max);
|
|
|
- parent = parent->parent;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
/*
|
|
|
* If it's a bridge, configure it and scan the bus behind it.
|
|
|
* For CardBus bridges, we don't scan behind as the devices will
|
|
@@ -879,20 +863,7 @@ int pci_scan_bridge(struct pci_bus *bus, struct pci_dev *dev, int max, int pass)
|
|
|
|
|
|
if (!is_cardbus) {
|
|
|
child->bridge_ctl = bctl;
|
|
|
- /*
|
|
|
- * Adjust subordinate busnr in parent buses.
|
|
|
- * We do this before scanning for children because
|
|
|
- * some devices may not be detected if the bios
|
|
|
- * was lazy.
|
|
|
- */
|
|
|
- pci_fixup_parent_subordinate_busnr(child, max);
|
|
|
- /* Now we can scan all subordinate buses... */
|
|
|
max = pci_scan_child_bus(child);
|
|
|
- /*
|
|
|
- * now fix it up again since we have found
|
|
|
- * the real value of max.
|
|
|
- */
|
|
|
- pci_fixup_parent_subordinate_busnr(child, max);
|
|
|
} else {
|
|
|
/*
|
|
|
* For CardBus bridges, we leave 4 bus numbers
|
|
@@ -923,7 +894,6 @@ int pci_scan_bridge(struct pci_bus *bus, struct pci_dev *dev, int max, int pass)
|
|
|
}
|
|
|
}
|
|
|
max += i;
|
|
|
- pci_fixup_parent_subordinate_busnr(child, max);
|
|
|
}
|
|
|
/*
|
|
|
* Set the subordinate bus number to its real value.
|