From db2f721ffcf9693086a7e5c6c7015f2019e7f52e Mon Sep 17 00:00:00 2001 From: wdenk Date: Thu, 6 Mar 2003 00:58:30 +0000 Subject: * 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 --- drivers/pci_auto.c | 26 +++++++------------------- 1 file changed, 7 insertions(+), 19 deletions(-) (limited to 'drivers/pci_auto.c') diff --git a/drivers/pci_auto.c b/drivers/pci_auto.c index 295f7c848d..00177cc282 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: -- cgit v1.2.3