PCI: Call pci_read_bridge_bases() from core instead of arch code

When we scan a PCI bus, we read PCI-PCI bridge window registers with
pci_read_bridge_bases() so we can validate the resource hierarchy.  Most
architectures call pci_read_bridge_bases() from pcibios_fixup_bus(), but
PCI-PCI bridges are not arch-specific, so this doesn't need to be in
arch-specific code.

Call pci_read_bridge_bases() directly from the PCI core instead of from
arch code.

For alpha and mips, we now call pci_read_bridge_bases() always; previously
we only called it if PCI_PROBE_ONLY was set.

[bhelgaas: changelog]
Signed-off-by: Lorenzo Pieralisi <[email protected]>
Signed-off-by: Bjorn Helgaas <[email protected]>
CC: Ralf Baechle <[email protected]>
CC: James E.J. Bottomley <[email protected]>
CC: Michael Ellerman <[email protected]>
CC: Bjorn Helgaas <[email protected]>
CC: Richard Henderson <[email protected]>
CC: Benjamin Herrenschmidt <[email protected]>
CC: David Howells <[email protected]>
CC: Russell King <[email protected]>
CC: Tony Luck <[email protected]>
CC: David S. Miller <[email protected]>
CC: Ingo Molnar <[email protected]>
CC: Guenter Roeck <[email protected]>
CC: Michal Simek <[email protected]>
CC: Chris Zankel <[email protected]>
This commit is contained in:
Lorenzo Pieralisi 2015-07-09 11:59:16 +01:00 • committed by Bjorn Helgaas
commit dff22d2054
12 changed files with 11 additions and 42 deletions

View file

@ -560,9 +560,6 @@ dino_fixup_bus(struct pci_bus *bus)
} else if (bus->parent) {
int i;
pci_read_bridge_bases(bus);
for(i = PCI_BRIDGE_RESOURCES; i < PCI_NUM_RESOURCES; i++) {
if((bus->self->resource[i].flags &
(IORESOURCE_IO | IORESOURCE_MEM)) == 0)

View file

@ -693,7 +693,6 @@ lba_fixup_bus(struct pci_bus *bus)
if (bus->parent) {
int i;
/* PCI-PCI Bridge */
pci_read_bridge_bases(bus);
for (i = PCI_BRIDGE_RESOURCES; i < PCI_NUM_RESOURCES; i++)
pci_claim_bridge_resource(bus->self, i);
} else {