root/arch/x86/pci/init.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. pci_arch_init

   1 // SPDX-License-Identifier: GPL-2.0
   2 #include <linux/pci.h>
   3 #include <linux/init.h>
   4 #include <asm/pci_x86.h>
   5 #include <asm/x86_init.h>
   6 
   7 /* arch_initcall has too random ordering, so call the initializers
   8    in the right sequence from here. */
   9 static __init int pci_arch_init(void)
  10 {
  11 #ifdef CONFIG_PCI_DIRECT
  12         int type = 0;
  13 
  14         type = pci_direct_probe();
  15 #endif
  16 
  17         if (!(pci_probe & PCI_PROBE_NOEARLY))
  18                 pci_mmcfg_early_init();
  19 
  20         if (x86_init.pci.arch_init && !x86_init.pci.arch_init())
  21                 return 0;
  22 
  23 #ifdef CONFIG_PCI_BIOS
  24         pci_pcbios_init();
  25 #endif
  26         /*
  27          * don't check for raw_pci_ops here because we want pcbios as last
  28          * fallback, yet it's needed to run first to set pcibios_last_bus
  29          * in case legacy PCI probing is used. otherwise detecting peer busses
  30          * fails.
  31          */
  32 #ifdef CONFIG_PCI_DIRECT
  33         pci_direct_init(type);
  34 #endif
  35         if (!raw_pci_ops && !raw_pci_ext_ops)
  36                 printk(KERN_ERR
  37                 "PCI: Fatal: No config space access function found\n");
  38 
  39         dmi_check_pciprobe();
  40 
  41         dmi_check_skip_isa_align();
  42 
  43         return 0;
  44 }
  45 arch_initcall(pci_arch_init);

/* [<][>][^][v][top][bottom][index][help] */