summaryrefslogtreecommitdiff
path: root/drivers/pci_auto.c
diff options
context:
space:
mode:
authorwdenk <wdenk>2003-03-06 00:58:30 +0000
committerwdenk <wdenk>2003-03-06 00:58:30 +0000
commitdb2f721ffcf9693086a7e5c6c7015f2019e7f52e (patch)
tree1d755e28c035c1247f30b570ed239a097a7d13c8 /drivers/pci_auto.c
parent43d9616cffb4a130e1620e3e33fc9bc1bcabe399 (diff)
downloadu-boot-imx-db2f721ffcf9693086a7e5c6c7015f2019e7f52e.zip
u-boot-imx-db2f721ffcf9693086a7e5c6c7015f2019e7f52e.tar.gz
u-boot-imx-db2f721ffcf9693086a7e5c6c7015f2019e7f52e.tar.bz2
* Patch by Rune Torgersen, 13 Feb 2003:
Add support for Motorola MPC8266ADS board * Patch by Kyle Harris, 19 Feb 2003: patches for the Intel lubbock board: memsetup.S - general cleanup (based on Robert's csb226 code) flash.c - overhaul, actually works now lubbock.c - fix init funcs to return proper value * Patch by Kenneth Johansson, 26 Feb 2003: - Fixed off by one in RFTA calculation. - No need to abort when LDF is lower than we can program it's only minimum timing so clamp it to what we can do. - Takes function pointer to function for reading the spd_nvram. Usefull for faking data or hardcode a module without the nvram. - fix other user for above change - fix some comments. * Patches by Brian Waite, 26 Feb 2003: - fix port for evb64260 board - fix PCI for evb64260 board - fix PCI scan * Patch by Reinhard Meyer, 1 Mar 2003: Add support for EMK TOP860 Module * Patch by Yuli Barcohen, 02 Mar 2003: Add SPD EEPROM support for MPC8260ADS board
Diffstat (limited to 'drivers/pci_auto.c')
-rw-r--r--drivers/pci_auto.c26
1 files changed, 7 insertions, 19 deletions
diff --git a/drivers/pci_auto.c b/drivers/pci_auto.c
index 295f7c8..00177cc 100644
--- a/drivers/pci_auto.c
+++ b/drivers/pci_auto.c
@@ -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: