]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - drivers/pci_auto.c
* Patch by Rune Torgersen, 13 Feb 2003:
[karo-tx-uboot.git] / drivers / pci_auto.c
index 295f7c848d2b7ae3494b5704973537b70b97806e..00177cc282d94e768e5a45b12a649aa47edcee54 100644 (file)
@@ -285,34 +285,22 @@ int pciauto_config_device(struct pci_controller *hose, pci_dev_t dev)
        unsigned int sub_bus = PCI_BUS(dev);
        unsigned short class;
        unsigned char prg_iface;
-       int n;
 
        pci_hose_read_config_word(hose, dev, PCI_CLASS_DEVICE, &class);
 
        switch(class)
        {
        case PCI_CLASS_BRIDGE_PCI:
+               hose->current_busno++;
                pciauto_setup_device(hose, dev, 2, hose->pci_mem, hose->pci_io);
 
-               DEBUGF("PCI Autoconfig: Found P2P bridge, device %d\n",
-                       PCI_DEV(dev));
-
-               /* HJF: Make sure two bridges on the same bus
-                * won't get the same bus number
-                */
-               pciauto_prescan_setup_bridge(hose, dev,
-                               max(sub_bus, hose->current_busno));
-
-               n = pci_hose_scan_bus(hose, hose->current_busno+1 /*PCI_BUS(dev)+1*/);
-               sub_bus = max(sub_bus, n);
-               sub_bus = max(sub_bus, hose->current_busno);
+               DEBUGF("PCI Autoconfig: Found P2P bridge, device %d\n", PCI_DEV(dev));
+               pciauto_prescan_setup_bridge(hose, dev, sub_bus);
+               
+               pci_hose_scan_bus(hose, hose->current_busno);
 
-               DEBUGF("PCI Autoconfig: Got %d from pci_hose_scan_bus\n",
-                       sub_bus);
-
-               pciauto_postscan_setup_bridge(hose, dev,
-                               max(sub_bus, hose->current_busno));
-               hose->current_busno++;
+               pciauto_postscan_setup_bridge(hose, dev, sub_bus);
+               sub_bus = hose->current_busno;
                break;
 
        case PCI_CLASS_STORAGE_IDE: