Hi "Matthew, Thank you for the patch! Yet something to improve: [auto build test ERROR on next-20210408] [cannot apply to s390/features tip/x86/core dm/for-next gfs2/for-next block/for-next linus/master hnaz-linux-mm/master v5.12-rc6 v5.12-rc5 v5.12-rc4 v5.12-rc6] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Matthew-Wilcox-Oracle/Provide-lockdep-tracking-for-bit-spin-locks/20210409-110522 base: 6145d80cfc62e3ed8f16ff584d6287e6d88b82b9 config: s390-randconfig-r012-20210409 (attached as .config) compiler: s390-linux-gcc (GCC) 9.3.0 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://github.com/0day-ci/linux/commit/49054b182384e0b597db2cf81e733efbf67c89b7 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Matthew-Wilcox-Oracle/Provide-lockdep-tracking-for-bit-spin-locks/20210409-110522 git checkout 49054b182384e0b597db2cf81e733efbf67c89b7 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=s390 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from drivers/s390/cio/airq.c:21: arch/s390/include/asm/airq.h:73:20: error: 'airq_iv_lock' redeclared as different kind of symbol 73 | static inline void airq_iv_lock(struct airq_iv *iv, unsigned long bit) | ^~~~~~~~~~~~ arch/s390/include/asm/airq.h:29:23: note: previous declaration of 'airq_iv_lock' was here 29 | extern struct iv_lock airq_iv_lock; | ^~~~~~~~~~~~ arch/s390/include/asm/airq.h: In function 'airq_iv_lock': >> arch/s390/include/asm/airq.h:76:45: error: passing argument 3 of 'bit_spin_lock' from incompatible pointer type [-Werror=incompatible-pointer-types] 76 | bit_spin_lock(bit ^ be_to_le, iv->bitlock, &airq_iv_lock); | ^~~~~~~~~~~~~ | | | void (*)(struct airq_iv *, long unsigned int) In file included from include/linux/mm.h:22, from include/linux/scatterlist.h:8, from include/linux/dmapool.h:14, from include/linux/pci.h:1464, from arch/s390/include/asm/hw_irq.h:6, from include/linux/irq.h:589, from drivers/s390/cio/airq.c:13: include/linux/bit_spinlock.h:42:22: note: expected 'struct split_lock *' but argument is of type 'void (*)(struct airq_iv *, long unsigned int)' 42 | struct split_lock *lock) | ~~~~~~~~~~~~~~~~~~~^~~~ In file included from drivers/s390/cio/airq.c:21: arch/s390/include/asm/airq.h: In function 'airq_iv_unlock': >> arch/s390/include/asm/airq.h:82:47: error: passing argument 3 of 'bit_spin_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types] 82 | bit_spin_unlock(bit ^ be_to_le, iv->bitlock, &airq_iv_lock); | ^~~~~~~~~~~~~ | | | void (*)(struct airq_iv *, long unsigned int) In file included from include/linux/mm.h:22, from include/linux/scatterlist.h:8, from include/linux/dmapool.h:14, from include/linux/pci.h:1464, from arch/s390/include/asm/hw_irq.h:6, from include/linux/irq.h:589, from drivers/s390/cio/airq.c:13: include/linux/bit_spinlock.h:69:22: note: expected 'struct split_lock *' but argument is of type 'void (*)(struct airq_iv *, long unsigned int)' 69 | struct split_lock *lock) | ~~~~~~~~~~~~~~~~~~~^~~~ In file included from include/linux/bit_spinlock.h:9, from include/linux/mm.h:22, from include/linux/scatterlist.h:8, from include/linux/dmapool.h:14, from include/linux/pci.h:1464, from arch/s390/include/asm/hw_irq.h:6, from include/linux/irq.h:589, from drivers/s390/cio/airq.c:13: drivers/s390/cio/airq.c: At top level: drivers/s390/cio/airq.c:34:19: error: 'airq_iv_lock' redeclared as different kind of symbol 34 | DEFINE_SPLIT_LOCK(airq_iv_lock); | ^~~~~~~~~~~~ include/linux/split_lock.h:23:19: note: in definition of macro 'DEFINE_SPLIT_LOCK' 23 | struct split_lock name = { \ | ^~~~ In file included from drivers/s390/cio/airq.c:21: arch/s390/include/asm/airq.h:73:20: note: previous definition of 'airq_iv_lock' was here 73 | static inline void airq_iv_lock(struct airq_iv *iv, unsigned long bit) | ^~~~~~~~~~~~ In file included from include/linux/linkage.h:7, from include/linux/preempt.h:10, from include/linux/spinlock.h:51, from include/linux/irq.h:14, from drivers/s390/cio/airq.c:13: drivers/s390/cio/airq.c:35:15: error: conflicting types for 'airq_iv_lock' 35 | EXPORT_SYMBOL(airq_iv_lock); | ^~~~~~~~~~~~ include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SYMBOL' 98 | extern typeof(sym) sym; \ | ^~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:158:29: note: in expansion of macro '_EXPORT_SYMBOL' 158 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ drivers/s390/cio/airq.c:35:1: note: in expansion of macro 'EXPORT_SYMBOL' 35 | EXPORT_SYMBOL(airq_iv_lock); | ^~~~~~~~~~~~~ In file included from drivers/s390/cio/airq.c:21: arch/s390/include/asm/airq.h:29:23: note: previous declaration of 'airq_iv_lock' was here 29 | extern struct iv_lock airq_iv_lock; | ^~~~~~~~~~~~ cc1: some warnings being treated as errors -- In file included from drivers/s390/cio/cio.c:30: arch/s390/include/asm/airq.h:73:20: error: 'airq_iv_lock' redeclared as different kind of symbol 73 | static inline void airq_iv_lock(struct airq_iv *iv, unsigned long bit) | ^~~~~~~~~~~~ arch/s390/include/asm/airq.h:29:23: note: previous declaration of 'airq_iv_lock' was here 29 | extern struct iv_lock airq_iv_lock; | ^~~~~~~~~~~~ arch/s390/include/asm/airq.h: In function 'airq_iv_lock': >> arch/s390/include/asm/airq.h:76:45: error: passing argument 3 of 'bit_spin_lock' from incompatible pointer type [-Werror=incompatible-pointer-types] 76 | bit_spin_lock(bit ^ be_to_le, iv->bitlock, &airq_iv_lock); | ^~~~~~~~~~~~~ | | | void (*)(struct airq_iv *, long unsigned int) In file included from include/linux/mm.h:22, from include/linux/kallsyms.h:12, from include/linux/ftrace.h:12, from drivers/s390/cio/cio.c:15: include/linux/bit_spinlock.h:42:22: note: expected 'struct split_lock *' but argument is of type 'void (*)(struct airq_iv *, long unsigned int)' 42 | struct split_lock *lock) | ~~~~~~~~~~~~~~~~~~~^~~~ In file included from drivers/s390/cio/cio.c:30: arch/s390/include/asm/airq.h: In function 'airq_iv_unlock': >> arch/s390/include/asm/airq.h:82:47: error: passing argument 3 of 'bit_spin_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types] 82 | bit_spin_unlock(bit ^ be_to_le, iv->bitlock, &airq_iv_lock); | ^~~~~~~~~~~~~ | | | void (*)(struct airq_iv *, long unsigned int) In file included from include/linux/mm.h:22, from include/linux/kallsyms.h:12, from include/linux/ftrace.h:12, from drivers/s390/cio/cio.c:15: include/linux/bit_spinlock.h:69:22: note: expected 'struct split_lock *' but argument is of type 'void (*)(struct airq_iv *, long unsigned int)' 69 | struct split_lock *lock) | ~~~~~~~~~~~~~~~~~~~^~~~ cc1: some warnings being treated as errors vim +/bit_spin_lock +76 arch/s390/include/asm/airq.h a9a6f0341df9a6 Martin Schwidefsky 2013-06-25 72 a9a6f0341df9a6 Martin Schwidefsky 2013-06-25 73 static inline void airq_iv_lock(struct airq_iv *iv, unsigned long bit) a9a6f0341df9a6 Martin Schwidefsky 2013-06-25 74 { a9a6f0341df9a6 Martin Schwidefsky 2013-06-25 75 const unsigned long be_to_le = BITS_PER_LONG - 1; 6592d0d634dacf Matthew Wilcox (Oracle 2021-04-09 @76) bit_spin_lock(bit ^ be_to_le, iv->bitlock, &airq_iv_lock); a9a6f0341df9a6 Martin Schwidefsky 2013-06-25 77 } a9a6f0341df9a6 Martin Schwidefsky 2013-06-25 78 a9a6f0341df9a6 Martin Schwidefsky 2013-06-25 79 static inline void airq_iv_unlock(struct airq_iv *iv, unsigned long bit) a9a6f0341df9a6 Martin Schwidefsky 2013-06-25 80 { a9a6f0341df9a6 Martin Schwidefsky 2013-06-25 81 const unsigned long be_to_le = BITS_PER_LONG - 1; 6592d0d634dacf Matthew Wilcox (Oracle 2021-04-09 @82) bit_spin_unlock(bit ^ be_to_le, iv->bitlock, &airq_iv_lock); a9a6f0341df9a6 Martin Schwidefsky 2013-06-25 83 } a9a6f0341df9a6 Martin Schwidefsky 2013-06-25 84 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org