LCOV - code coverage report
Current view: top level - arch/x86/pci - init.c (source / functions) Hit Total Coverage
Test: combined.info Lines: 11 12 91.7 %
Date: 2022-04-01 14:17:54 Functions: 1 1 100.0 %
Branches: 3 10 30.0 %

           Branch data     Line data    Source code
       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                 :         11 : static __init int pci_arch_init(void)
      10                 :            : {
      11                 :            : #ifdef CONFIG_PCI_DIRECT
      12                 :         11 :         int type = 0;
      13                 :            : 
      14                 :         11 :         type = pci_direct_probe();
      15                 :            : #endif
      16                 :            : 
      17         [ +  - ]:         11 :         if (!(pci_probe & PCI_PROBE_NOEARLY))
      18                 :         11 :                 pci_mmcfg_early_init();
      19                 :            : 
      20   [ -  +  -  - ]:         11 :         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                 :         11 :         pci_direct_init(type);
      34                 :            : #endif
      35   [ -  +  -  - ]:         11 :         if (!raw_pci_ops && !raw_pci_ext_ops)
      36                 :          0 :                 printk(KERN_ERR
      37                 :            :                 "PCI: Fatal: No config space access function found\n");
      38                 :            : 
      39                 :         11 :         dmi_check_pciprobe();
      40                 :            : 
      41                 :         11 :         dmi_check_skip_isa_align();
      42                 :            : 
      43                 :         11 :         return 0;
      44                 :            : }
      45                 :            : arch_initcall(pci_arch_init);

Generated by: LCOV version 1.14