On Fri, Jan 27, 2012 at 6:49 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote: > Now we can safely extend parent top and shrink them according iobusn_resource tree. > > Don't need that any more. > > Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> > --- > drivers/pci/probe.c | 45 +++++++++------------------------------------ > 1 files changed, 9 insertions(+), 36 deletions(-) > > diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c > index 23c2f0d..54615a9 100644 > --- a/drivers/pci/probe.c > +++ b/drivers/pci/probe.c > @@ -608,22 +608,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->subordinate < max) { > - parent->subordinate = max; > - pci_write_config_byte(parent->self, PCI_SUBORDINATE_BUS, max); > - parent = parent->parent; > - } > -} > - > static void __devinit pci_bus_extend_top(struct pci_bus *parent, > resource_size_t size, struct resource *parent_res) > { > @@ -925,6 +909,13 @@ int __devinit pci_scan_bridge(struct pci_bus *bus, struct pci_dev *dev, int max, > /* Clear errors */ > pci_write_config_word(dev, PCI_STATUS, 0xffff); > > + /* > + * For CardBus bridges, we leave 4 bus numbers > + * as cards with a PCI-to-PCI bridge can be > + * inserted later. > + * other just allocate 8 bus to avoid we fall into > + * small hole in the middle. > + */ This comment addition is in the wrong patch; it should go in the one that added the code. > ret = pci_bridge_probe_busn_res(bus, dev, &busn_res, > is_cardbus ? (CARDBUS_RESERVE_BUSNR + 1) : 8, > &parent_res); > @@ -963,29 +954,11 @@ int __devinit pci_scan_bridge(struct pci_bus *bus, struct pci_dev *dev, int max, > > 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 > - * as cards with a PCI-to-PCI bridge can be > - * inserted later. > - */ > - pci_fixup_parent_subordinate_busnr(child, max); > } > + > /* > * Set the subordinate bus number to its real value. > */ > -- > 1.7.7 > -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html