diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-03-10 13:49:16 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-05-13 18:12:17 +0200 |
commit | c23bfc3835173f5229b2503e3b616001a28affad (patch) | |
tree | 109f74ea29224587bead91289f55f2d30032b615 /arch/arm/kernel/bios32.c | |
parent | ARM: PCI: get rid of pci_std_swizzle() (diff) | |
download | linux-c23bfc3835173f5229b2503e3b616001a28affad.tar.xz linux-c23bfc3835173f5229b2503e3b616001a28affad.zip |
ARM: PCI: provide a default bus scan implementation
Most PCI implementations perform simple root bus scanning. Rather than
having each group of platforms provide a duplicated bus scan function,
provide the PCI configuration ops structure via the hw_pci structure,
and call the root bus scanning function from core ARM PCI code.
Acked-by: Krzysztof HaĆasa <khc@pm.waw.pl>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/bios32.c')
-rw-r--r-- | arch/arm/kernel/bios32.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c index d22e35168e88..00a506f13f70 100644 --- a/arch/arm/kernel/bios32.c +++ b/arch/arm/kernel/bios32.c @@ -452,7 +452,11 @@ static void __init pcibios_init_hw(struct hw_pci *hw) &iomem_resource, sys->mem_offset); } - sys->bus = hw->scan(nr, sys); + if (hw->scan) + sys->bus = hw->scan(nr, sys); + else + sys->bus = pci_scan_root_bus(NULL, sys->busnr, + hw->ops, sys, &sys->resources); if (!sys->bus) panic("PCI: unable to scan bus!"); |