Re: [helgaas-pci:for-linus 1/1] arch/x86/include/asm/pci_x86.h:142:8: warning: '__gnu_inline__' attribute only applies to functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 10/20/21 07:28, kernel test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git for-linus
> head:   f10507a66e36dde76d71bef8ce6e1c873f441616
> commit: f10507a66e36dde76d71bef8ce6e1c873f441616 [1/1] x86/PCI: Ignore E820 reservations for bridge windows on newer systems
> config: i386-buildonly-randconfig-r004-20211019 (attached as .config)
> compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 92a0389b0425a9535a99a0ce13ba0eeda2bce7ad)
> reproduce (this is a W=1 build):
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/commit/?id=f10507a66e36dde76d71bef8ce6e1c873f441616
>         git remote add helgaas-pci https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git
>         git fetch --no-tags helgaas-pci for-linus
>         git checkout f10507a66e36dde76d71bef8ce6e1c873f441616
>         # save the attached .config to linux build tree
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=i386 
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> 
> All warnings (new ones prefixed by >>):
> 
>    In file included from arch/x86/kernel/resource.c:4:
>    arch/x86/include/asm/pci_x86.h:99:8: error: unknown type name 'raw_spinlock_t'
>    extern raw_spinlock_t pci_config_lock;
>           ^
>    arch/x86/include/asm/pci_x86.h:135:19: error: expected ';' after top level declarator
>    extern void __init dmi_check_pciprobe(void);
>                      ^
>                      ;
>    arch/x86/include/asm/pci_x86.h:136:19: error: expected ';' after top level declarator
>    extern void __init dmi_check_skip_isa_align(void);
>                      ^
>                      ;
>    arch/x86/include/asm/pci_x86.h:142:8: error: 'inline' can only appear on functions
>    static inline int  __init pci_acpi_init(void)
>           ^
>    include/linux/compiler_types.h:149:16: note: expanded from macro 'inline'
>    #define inline inline __gnu_inline __inline_maybe_unused notrace
>                   ^
>    In file included from arch/x86/kernel/resource.c:4:
>>> arch/x86/include/asm/pci_x86.h:142:8: warning: '__gnu_inline__' attribute only applies to functions [-Wignored-attributes]
>    include/linux/compiler_types.h:149:23: note: expanded from macro 'inline'
>    #define inline inline __gnu_inline __inline_maybe_unused notrace
>                          ^
>    include/linux/compiler_attributes.h:152:56: note: expanded from macro '__gnu_inline'
>    #define __gnu_inline                    __attribute__((__gnu_inline__))
>                                                           ^
>    In file included from arch/x86/kernel/resource.c:4:
>>> arch/x86/include/asm/pci_x86.h:142:8: warning: '__no_instrument_function__' attribute only applies to functions and Objective-C methods [-Wignored-attributes]
>    include/linux/compiler_types.h:149:58: note: expanded from macro 'inline'
>    #define inline inline __gnu_inline __inline_maybe_unused notrace
>                                                             ^
>    include/linux/compiler_types.h:129:34: note: expanded from macro 'notrace'
>    #define notrace                 __attribute__((__no_instrument_function__))
>                                                   ^
>    In file included from arch/x86/kernel/resource.c:4:
>    arch/x86/include/asm/pci_x86.h:142:20: error: redefinition of '__init' with a different type: 'int' vs 'void'
>    static inline int  __init pci_acpi_init(void)
>                       ^
>    arch/x86/include/asm/pci_x86.h:136:13: note: previous declaration is here
>    extern void __init dmi_check_skip_isa_align(void);
>                ^
>    arch/x86/include/asm/pci_x86.h:142:26: error: expected ';' after top level declarator
>    static inline int  __init pci_acpi_init(void)
>                             ^
>                             ;
>    arch/x86/include/asm/pci_x86.h:148:12: error: redeclaration of '__init' with a different type: 'int' vs 'void'
>    extern int __init pcibios_init(void);
>               ^
>    arch/x86/include/asm/pci_x86.h:136:13: note: previous declaration is here
>    extern void __init dmi_check_skip_isa_align(void);
>                ^
>    arch/x86/include/asm/pci_x86.h:148:18: error: expected ';' after top level declarator
>    extern int __init pcibios_init(void);
>                     ^
>                     ;
>    arch/x86/include/asm/pci_x86.h:168:12: error: redeclaration of '__init' with a different type: 'int' vs 'void'
>    extern int __init pci_mmcfg_arch_init(void);
>               ^
>    arch/x86/include/asm/pci_x86.h:136:13: note: previous declaration is here
>    extern void __init dmi_check_skip_isa_align(void);
>                ^
>    arch/x86/include/asm/pci_x86.h:168:18: error: expected ';' after top level declarator
>    extern int __init pci_mmcfg_arch_init(void);
>                     ^
>                     ;
>    arch/x86/include/asm/pci_x86.h:169:19: error: expected ';' after top level declarator
>    extern void __init pci_mmcfg_arch_free(void);
>                      ^
>                      ;
>    arch/x86/include/asm/pci_x86.h:176:33: error: redeclaration of '__init' with a different type: 'struct pci_mmcfg_region *' vs 'void'
>    extern struct pci_mmcfg_region *__init pci_mmconfig_add(int segment, int start,
>                                    ^
>    arch/x86/include/asm/pci_x86.h:169:13: note: previous declaration is here
>    extern void __init pci_mmcfg_arch_free(void);
>                ^
>    arch/x86/include/asm/pci_x86.h:176:39: error: expected ';' after top level declarator
>    extern struct pci_mmcfg_region *__init pci_mmconfig_add(int segment, int start,
>                                          ^
>                                          ;
>    2 warnings and 13 errors generated.


The issue here is that <asm/pci_x86.h> is now included from
arch/x86/kernel/resource.c and it seems that that file depends on some other
headers already being included.

I'm reproducing these errors now and I will provide a fix when I'm done.

Regards,

Hans



> 
> 
> vim +/__gnu_inline__ +142 arch/x86/include/asm/pci_x86.h
> 
> 8dd779b19ce597 arch/x86/pci/pci.h             Robert Richter  2008-07-02  137  
> 8dd779b19ce597 arch/x86/pci/pci.h             Robert Richter  2008-07-02  138  /* some common used subsys_initcalls */
> 5d32a66541c468 arch/x86/include/asm/pci_x86.h Sinan Kaya      2018-12-19  139  #ifdef CONFIG_PCI
> 8dd779b19ce597 arch/x86/pci/pci.h             Robert Richter  2008-07-02  140  extern int __init pci_acpi_init(void);
> 5d32a66541c468 arch/x86/include/asm/pci_x86.h Sinan Kaya      2018-12-19  141  #else
> 5d32a66541c468 arch/x86/include/asm/pci_x86.h Sinan Kaya      2018-12-19 @142  static inline int  __init pci_acpi_init(void)
> 5d32a66541c468 arch/x86/include/asm/pci_x86.h Sinan Kaya      2018-12-19  143  {
> 5d32a66541c468 arch/x86/include/asm/pci_x86.h Sinan Kaya      2018-12-19  144  	return -EINVAL;
> 5d32a66541c468 arch/x86/include/asm/pci_x86.h Sinan Kaya      2018-12-19  145  }
> 5d32a66541c468 arch/x86/include/asm/pci_x86.h Sinan Kaya      2018-12-19  146  #endif
> ab3b37937e8f4f arch/x86/include/asm/pci_x86.h Thomas Gleixner 2009-08-29  147  extern void __init pcibios_irq_init(void);
> 8dd779b19ce597 arch/x86/pci/pci.h             Robert Richter  2008-07-02  148  extern int __init pcibios_init(void);
> b72d0db9dd41da arch/x86/include/asm/pci_x86.h Thomas Gleixner 2009-08-29  149  extern int pci_legacy_init(void);
> 9325a28ce2fa7c arch/x86/include/asm/pci_x86.h Thomas Gleixner 2009-08-29  150  extern void pcibios_fixup_irqs(void);
> 5e544d618f0fb2 arch/i386/pci/pci.h            Andi Kleen      2006-09-26  151  
> 
> :::::: The code at line 142 was first introduced by commit
> :::::: 5d32a66541c4683456507481a0944ed2985e75c7 PCI/ACPI: Allow ACPI to be built without CONFIG_PCI set
> 
> :::::: TO: Sinan Kaya <okaya@xxxxxxxxxx>
> :::::: CC: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> 
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
> 




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux