Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
[linux-2.6] / arch / i386 / pci / init.c
1 #include <linux/pci.h>
2 #include <linux/init.h>
3 #include "pci.h"
4
5 /* arch_initcall has too random ordering, so call the initializers
6    in the right sequence from here. */
7 static __init int pci_access_init(void)
8 {
9 #ifdef CONFIG_PCI_MMCONFIG
10         pci_mmcfg_init();
11 #endif
12         if (raw_pci_ops)
13                 return 0;
14 #ifdef CONFIG_PCI_BIOS
15         pci_pcbios_init();
16 #endif
17         /*
18          * don't check for raw_pci_ops here because we want pcbios as last
19          * fallback, yet it's needed to run first to set pcibios_last_bus
20          * in case legacy PCI probing is used. otherwise detecting peer busses
21          * fails.
22          */
23 #ifdef CONFIG_PCI_DIRECT
24         pci_direct_init();
25 #endif
26         return 0;
27 }
28 arch_initcall(pci_access_init);