* 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
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 @@
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));
+ 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);
- /* 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: 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: