diff options
Diffstat (limited to 'arch/x86/pci/legacy.c')
| -rw-r--r-- | arch/x86/pci/legacy.c | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/arch/x86/pci/legacy.c b/arch/x86/pci/legacy.c index 4061bb0f267d..0daf264ddb6c 100644 --- a/arch/x86/pci/legacy.c +++ b/arch/x86/pci/legacy.c | |||
| @@ -35,16 +35,13 @@ static void __devinit pcibios_fixup_peer_bridges(void) | |||
| 35 | } | 35 | } |
| 36 | } | 36 | } |
| 37 | 37 | ||
| 38 | static int __init pci_legacy_init(void) | 38 | int __init pci_legacy_init(void) |
| 39 | { | 39 | { |
| 40 | if (!raw_pci_ops) { | 40 | if (!raw_pci_ops) { |
| 41 | printk("PCI: System does not support PCI\n"); | 41 | printk("PCI: System does not support PCI\n"); |
| 42 | return 0; | 42 | return 0; |
| 43 | } | 43 | } |
| 44 | 44 | ||
| 45 | if (pcibios_scanned++) | ||
| 46 | return 0; | ||
| 47 | |||
| 48 | printk("PCI: Probing PCI hardware\n"); | 45 | printk("PCI: Probing PCI hardware\n"); |
| 49 | pci_root_bus = pcibios_scan_root(0); | 46 | pci_root_bus = pcibios_scan_root(0); |
| 50 | if (pci_root_bus) | 47 | if (pci_root_bus) |
| @@ -55,16 +52,13 @@ static int __init pci_legacy_init(void) | |||
| 55 | 52 | ||
| 56 | int __init pci_subsys_init(void) | 53 | int __init pci_subsys_init(void) |
| 57 | { | 54 | { |
| 58 | #ifdef CONFIG_X86_NUMAQ | 55 | /* |
| 59 | pci_numaq_init(); | 56 | * The init function returns an non zero value when |
| 60 | #endif | 57 | * pci_legacy_init should be invoked. |
| 61 | #ifdef CONFIG_ACPI | 58 | */ |
| 62 | pci_acpi_init(); | 59 | if (x86_init.pci.init()) |
| 63 | #endif | 60 | pci_legacy_init(); |
| 64 | #ifdef CONFIG_X86_VISWS | 61 | |
| 65 | pci_visws_init(); | ||
| 66 | #endif | ||
| 67 | pci_legacy_init(); | ||
| 68 | pcibios_fixup_peer_bridges(); | 62 | pcibios_fixup_peer_bridges(); |
| 69 | pcibios_irq_init(); | 63 | pcibios_irq_init(); |
| 70 | pcibios_init(); | 64 | pcibios_init(); |
