* 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: