]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/x86/pci/init.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
[karo-tx-linux.git] / arch / x86 / pci / init.c
index bec3b048e72b6b0148efad321b6c24279b73e8df..adb62aaa7ecd5ad591efd2becad4f43e6fbdfe02 100644 (file)
@@ -1,6 +1,7 @@
 #include <linux/pci.h>
 #include <linux/init.h>
 #include <asm/pci_x86.h>
+#include <asm/x86_init.h>
 
 /* arch_initcall has too random ordering, so call the initializers
    in the right sequence from here. */
@@ -12,12 +13,12 @@ static __init int pci_arch_init(void)
        type = pci_direct_probe();
 #endif
 
-       pci_mmcfg_early_init();
+       if (!(pci_probe & PCI_PROBE_NOEARLY))
+               pci_mmcfg_early_init();
+
+       if (x86_init.pci.arch_init && !x86_init.pci.arch_init())
+               return 0;
 
-#ifdef CONFIG_PCI_OLPC
-       if (!pci_olpc_init())
-               return 0;       /* skip additional checks if it's an XO */
-#endif
 #ifdef CONFIG_PCI_BIOS
        pci_pcbios_init();
 #endif