Re: [v3 1/4] PCI: Introduce generic capability search functions

From: kernel test robot
Date: Fri Mar 21 2025 - 05:51:22 EST


Hi Hans,

kernel test robot noticed the following build errors:

[auto build test ERROR on a1cffe8cc8aef85f1b07c4464f0998b9785b795a]

url: https://github.com/intel-lab-lkp/linux/commits/Hans-Zhang/PCI-Introduce-generic-capability-search-functions/20250321-120748
base: a1cffe8cc8aef85f1b07c4464f0998b9785b795a
patch link: https://lore.kernel.org/r/20250321040358.360755-2-18255117159%40163.com
patch subject: [v3 1/4] PCI: Introduce generic capability search functions
config: arc-randconfig-001-20250321 (https://download.01.org/0day-ci/archive/20250321/202503211714.tv7E2QkK-lkp@xxxxxxxxx/config)
compiler: arc-linux-gcc (GCC) 13.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250321/202503211714.tv7E2QkK-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202503211714.tv7E2QkK-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

>> drivers/pci/pci.c:691:5: error: conflicting types for 'pci_generic_find_ext_capability'; have 'u16(void *, u32 (*)(void *, int, int), int)' {aka 'short unsigned int(void *, unsigned int (*)(void *, int, int), int)'}
691 | u16 pci_generic_find_ext_capability(void *priv, pci_generic_read_cfg read_cfg,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/pci/pci.c:18:
include/linux/pci.h:1211:5: note: previous declaration of 'pci_generic_find_ext_capability' with type 'u16(void *, u32 (*)(void *, int, int), u8)' {aka 'short unsigned int(void *, unsigned int (*)(void *, int, int), unsigned char)'}
1211 | u16 pci_generic_find_ext_capability(void *priv, pci_generic_read_cfg read_cfg,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/linkage.h:7,
from include/linux/preempt.h:10,
from include/linux/spinlock.h:56,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:7,
from include/linux/slab.h:16,
from include/linux/resource_ext.h:11,
from include/linux/acpi.h:13,
from drivers/pci/pci.c:11:
drivers/pci/pci.c:696:19: error: conflicting types for 'pci_generic_find_ext_capability'; have 'u16(void *, u32 (*)(void *, int, int), int)' {aka 'short unsigned int(void *, unsigned int (*)(void *, int, int), int)'}
696 | EXPORT_SYMBOL_GPL(pci_generic_find_ext_capability);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/export.h:70:28: note: in definition of macro '__EXPORT_SYMBOL'
70 | extern typeof(sym) sym; \
| ^~~
include/linux/export.h:84:41: note: in expansion of macro '_EXPORT_SYMBOL'
84 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "GPL")
| ^~~~~~~~~~~~~~
drivers/pci/pci.c:696:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
696 | EXPORT_SYMBOL_GPL(pci_generic_find_ext_capability);
| ^~~~~~~~~~~~~~~~~
include/linux/pci.h:1211:5: note: previous declaration of 'pci_generic_find_ext_capability' with type 'u16(void *, u32 (*)(void *, int, int), u8)' {aka 'short unsigned int(void *, unsigned int (*)(void *, int, int), unsigned char)'}
1211 | u16 pci_generic_find_ext_capability(void *priv, pci_generic_read_cfg read_cfg,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


vim +691 drivers/pci/pci.c

690
> 691 u16 pci_generic_find_ext_capability(void *priv, pci_generic_read_cfg read_cfg,
692 int cap)
693 {
694 return pci_generic_find_next_ext_capability(priv, read_cfg, 0, cap);
695 }
696 EXPORT_SYMBOL_GPL(pci_generic_find_ext_capability);
697

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki