diff options
author | wdenk <wdenk> | 2003-03-06 00:58:30 (GMT) |
---|---|---|
committer | wdenk <wdenk> | 2003-03-06 00:58:30 (GMT) |
commit | db2f721ffcf9693086a7e5c6c7015f2019e7f52e (patch) | |
tree | 1d755e28c035c1247f30b570ed239a097a7d13c8 /drivers/pci_auto.c | |
parent | 43d9616cffb4a130e1620e3e33fc9bc1bcabe399 (diff) | |
download | u-boot-db2f721ffcf9693086a7e5c6c7015f2019e7f52e.tar.xz |
* 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.c | 26 |
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: |