summaryrefslogtreecommitdiff
path: root/drivers/pci
diff options
context:
space:
mode:
authorGerald Van Baren <vanbaren@cideas.com>2008-03-29 18:08:02 -0400
committerGerald Van Baren <vanbaren@cideas.com>2008-03-29 18:08:02 -0400
commit3596d55eb22703d3f4f1b839fe4b000fabe081b3 (patch)
tree96d1ce693dc72c2fbc63da37928afd4761e82fd2 /drivers/pci
parent493a2b1dc97367e904bf83869501f6290f3b374e (diff)
parent74d1e66d22dac91388bc538b2fe19f735edc5b82 (diff)
Merge git://www.denx.de/git/u-boot into uboot
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/pci.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 50ca6b0bad..7944b6684a 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -425,6 +425,9 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus)
dev < PCI_BDF(bus,PCI_MAX_PCI_DEVICES-1,PCI_MAX_PCI_FUNCTIONS-1);
dev += PCI_BDF(0,0,1))
{
+
+ /* Bus 0 is not necessarily PCI bridge. */
+#if defined(CONFIG_PCI_SKIP_HOST_BRIDGE)
/* Skip our host bridge */
if ( dev == PCI_BDF(hose->first_busno,0,0) ) {
#if defined(CONFIG_PCI_CONFIG_HOST_BRIDGE) /* don't skip host bridge */
@@ -434,10 +437,11 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus)
if (getenv("pciconfighost") == NULL) {
continue; /* Skip our host bridge */
}
-#else
+#else /* CONFIG_PCI_CONFIG_HOST_BRIDGE */
continue; /* Skip our host bridge */
-#endif
+#endif /* CONFIG_PCI_CONFIG_HOST_BRIDGE */
}
+#endif /* CONFIG_PCI_SKIP_HOST_BRIDGE */
if (PCI_FUNC(dev) && !found_multi)
continue;
@@ -473,8 +477,11 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus)
hose->fixup_irq(hose, dev);
#ifdef CONFIG_PCI_SCAN_SHOW
+#if defined(CONFIG_PCI_SKIP_HOST_BRIDGE)
/* Skip our host bridge */
- if ( dev != PCI_BDF(hose->first_busno,0,0) ) {
+ if ( dev != PCI_BDF(hose->first_busno,0,0) )
+#endif
+ {
unsigned char int_line;
pci_hose_read_config_byte(hose, dev, PCI_INTERRUPT_LINE,