From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ed Swarthout Date: Tue, 6 Mar 2007 01:02:34 -0600 Subject: [U-Boot-Users] [PATCH] Start pci hose scan from current busno Message-ID: <11731645542307-git-send-email-Ed.Swarthout@freescale.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Start the pci hose scan from hose->current_busno instead of first_busno. This allows the PCIe controllers to be scanned downstream from bridge. Ensure hose->current_busno is equal or greater than first_busno. This fixes broken board code which leave current_busno=0 when first_busno is greater than 0 for the cases with multiple controllers. Signed-off-by: Ed Swarthout --- This change will simplify the pending common PCI and PCIe code for the fsl 85xx and 86xx soc boards. drivers/pci.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/drivers/pci.c b/drivers/pci.c index 050582f..4158919 100644 --- a/drivers/pci.c +++ b/drivers/pci.c @@ -490,10 +490,16 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus) int pci_hose_scan(struct pci_controller *hose) { + /* Start scan at current_busno. + * PCIe will start scan at first_busno+1. + */ + /* For legacy support, ensure current>=first */ + if (hose->first_busno > hose->current_busno) + hose->current_busno = hose->first_busno; #ifdef CONFIG_PCI_PNP pciauto_config_init(hose); #endif - return pci_hose_scan_bus(hose, hose->first_busno); + return pci_hose_scan_bus(hose, hose->current_busno); } void pci_init(void) -- 1.5.0.2.279.g4808