Hi Vincent, FYI, the error/warning still remains. tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: fb415f222c26d0d1fa19615af1d102bf5f5b3ca2 commit: 3194c6870158e305dac2af52f83681e9cb67280f NFC: nfcmrvl: add firmware download support date: 1 year ago config: ia64-allmodconfig (attached as .config) compiler: ia64-linux-gcc (GCC) 6.2.0 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 3194c6870158e305dac2af52f83681e9cb67280f # save the attached .config to linux build tree make.cross ARCH=ia64 All errors (new ones prefixed by >>): In file included from drivers/nfc/nfcmrvl/fw_dnld.c:20:0: include/linux/unaligned/access_ok.h:7:19: error: redefinition of 'get_unaligned_le16' static inline u16 get_unaligned_le16(const void *p) ^~~~~~~~~~~~~~~~~~ In file included from arch/ia64/include/asm/unaligned.h:4:0, from arch/ia64/include/asm/io.h:22, from arch/ia64/include/asm/smp.h:20, from include/linux/smp.h:59, from include/linux/topology.h:33, from include/linux/gfp.h:8, from include/linux/kmod.h:22, from include/linux/module.h:13, from drivers/nfc/nfcmrvl/fw_dnld.c:19: include/linux/unaligned/le_struct.h:6:19: note: previous definition of 'get_unaligned_le16' was here static inline u16 get_unaligned_le16(const void *p) ^~~~~~~~~~~~~~~~~~ In file included from drivers/nfc/nfcmrvl/fw_dnld.c:20:0: include/linux/unaligned/access_ok.h:12:19: error: redefinition of 'get_unaligned_le32' static inline u32 get_unaligned_le32(const void *p) ^~~~~~~~~~~~~~~~~~ In file included from arch/ia64/include/asm/unaligned.h:4:0, from arch/ia64/include/asm/io.h:22, from arch/ia64/include/asm/smp.h:20, from include/linux/smp.h:59, from include/linux/topology.h:33, from include/linux/gfp.h:8, from include/linux/kmod.h:22, from include/linux/module.h:13, from drivers/nfc/nfcmrvl/fw_dnld.c:19: include/linux/unaligned/le_struct.h:11:19: note: previous definition of 'get_unaligned_le32' was here static inline u32 get_unaligned_le32(const void *p) ^~~~~~~~~~~~~~~~~~ In file included from drivers/nfc/nfcmrvl/fw_dnld.c:20:0: include/linux/unaligned/access_ok.h:17:19: error: redefinition of 'get_unaligned_le64' static inline u64 get_unaligned_le64(const void *p) ^~~~~~~~~~~~~~~~~~ In file included from arch/ia64/include/asm/unaligned.h:4:0, from arch/ia64/include/asm/io.h:22, from arch/ia64/include/asm/smp.h:20, from include/linux/smp.h:59, from include/linux/topology.h:33, from include/linux/gfp.h:8, from include/linux/kmod.h:22, from include/linux/module.h:13, from drivers/nfc/nfcmrvl/fw_dnld.c:19: include/linux/unaligned/le_struct.h:16:19: note: previous definition of 'get_unaligned_le64' was here static inline u64 get_unaligned_le64(const void *p) ^~~~~~~~~~~~~~~~~~ In file included from drivers/nfc/nfcmrvl/fw_dnld.c:20:0: include/linux/unaligned/access_ok.h:22:19: error: redefinition of 'get_unaligned_be16' static inline u16 get_unaligned_be16(const void *p) ^~~~~~~~~~~~~~~~~~ In file included from arch/ia64/include/asm/unaligned.h:5:0, from arch/ia64/include/asm/io.h:22, from arch/ia64/include/asm/smp.h:20, from include/linux/smp.h:59, from include/linux/topology.h:33, from include/linux/gfp.h:8, from include/linux/kmod.h:22, from include/linux/module.h:13, from drivers/nfc/nfcmrvl/fw_dnld.c:19: include/linux/unaligned/be_byteshift.h:40:19: note: previous definition of 'get_unaligned_be16' was here static inline u16 get_unaligned_be16(const void *p) ^~~~~~~~~~~~~~~~~~ In file included from drivers/nfc/nfcmrvl/fw_dnld.c:20:0: include/linux/unaligned/access_ok.h:27:19: error: redefinition of 'get_unaligned_be32' static inline u32 get_unaligned_be32(const void *p) ^~~~~~~~~~~~~~~~~~ In file included from arch/ia64/include/asm/unaligned.h:5:0, from arch/ia64/include/asm/io.h:22, from arch/ia64/include/asm/smp.h:20, from include/linux/smp.h:59, from include/linux/topology.h:33, from include/linux/gfp.h:8, from include/linux/kmod.h:22, from include/linux/module.h:13, from drivers/nfc/nfcmrvl/fw_dnld.c:19: include/linux/unaligned/be_byteshift.h:45:19: note: previous definition of 'get_unaligned_be32' was here static inline u32 get_unaligned_be32(const void *p) ^~~~~~~~~~~~~~~~~~ In file included from drivers/nfc/nfcmrvl/fw_dnld.c:20:0: include/linux/unaligned/access_ok.h:32:19: error: redefinition of 'get_unaligned_be64' static inline u64 get_unaligned_be64(const void *p) ^~~~~~~~~~~~~~~~~~ In file included from arch/ia64/include/asm/unaligned.h:5:0, from arch/ia64/include/asm/io.h:22, from arch/ia64/include/asm/smp.h:20, from include/linux/smp.h:59, from include/linux/topology.h:33, from include/linux/gfp.h:8, from include/linux/kmod.h:22, from include/linux/module.h:13, from drivers/nfc/nfcmrvl/fw_dnld.c:19: include/linux/unaligned/be_byteshift.h:50:19: note: previous definition of 'get_unaligned_be64' was here static inline u64 get_unaligned_be64(const void *p) ^~~~~~~~~~~~~~~~~~ In file included from drivers/nfc/nfcmrvl/fw_dnld.c:20:0: >> include/linux/unaligned/access_ok.h:37:20: error: redefinition of 'put_unaligned_le16' static inline void put_unaligned_le16(u16 val, void *p) ^~~~~~~~~~~~~~~~~~ In file included from arch/ia64/include/asm/unaligned.h:4:0, from arch/ia64/include/asm/io.h:22, from arch/ia64/include/asm/smp.h:20, from include/linux/smp.h:59, from include/linux/topology.h:33, from include/linux/gfp.h:8, from include/linux/kmod.h:22, from include/linux/module.h:13, from drivers/nfc/nfcmrvl/fw_dnld.c:19: include/linux/unaligned/le_struct.h:21:20: note: previous definition of 'put_unaligned_le16' was here static inline void put_unaligned_le16(u16 val, void *p) ^~~~~~~~~~~~~~~~~~ In file included from drivers/nfc/nfcmrvl/fw_dnld.c:20:0: >> include/linux/unaligned/access_ok.h:42:20: error: redefinition of 'put_unaligned_le32' static inline void put_unaligned_le32(u32 val, void *p) ^~~~~~~~~~~~~~~~~~ In file included from arch/ia64/include/asm/unaligned.h:4:0, from arch/ia64/include/asm/io.h:22, from arch/ia64/include/asm/smp.h:20, from include/linux/smp.h:59, from include/linux/topology.h:33, from include/linux/gfp.h:8, from include/linux/kmod.h:22, from include/linux/module.h:13, from drivers/nfc/nfcmrvl/fw_dnld.c:19: include/linux/unaligned/le_struct.h:26:20: note: previous definition of 'put_unaligned_le32' was here static inline void put_unaligned_le32(u32 val, void *p) ^~~~~~~~~~~~~~~~~~ In file included from drivers/nfc/nfcmrvl/fw_dnld.c:20:0: include/linux/unaligned/access_ok.h:47:20: error: redefinition of 'put_unaligned_le64' static inline void put_unaligned_le64(u64 val, void *p) ^~~~~~~~~~~~~~~~~~ In file included from arch/ia64/include/asm/unaligned.h:4:0, from arch/ia64/include/asm/io.h:22, from arch/ia64/include/asm/smp.h:20, from include/linux/smp.h:59, from include/linux/topology.h:33, from include/linux/gfp.h:8, from include/linux/kmod.h:22, from include/linux/module.h:13, from drivers/nfc/nfcmrvl/fw_dnld.c:19: include/linux/unaligned/le_struct.h:31:20: note: previous definition of 'put_unaligned_le64' was here static inline void put_unaligned_le64(u64 val, void *p) ^~~~~~~~~~~~~~~~~~ In file included from drivers/nfc/nfcmrvl/fw_dnld.c:20:0: >> include/linux/unaligned/access_ok.h:52:20: error: redefinition of 'put_unaligned_be16' static inline void put_unaligned_be16(u16 val, void *p) ^~~~~~~~~~~~~~~~~~ In file included from arch/ia64/include/asm/unaligned.h:5:0, from arch/ia64/include/asm/io.h:22, from arch/ia64/include/asm/smp.h:20, from include/linux/smp.h:59, from include/linux/topology.h:33, from include/linux/gfp.h:8, from include/linux/kmod.h:22, from include/linux/module.h:13, from drivers/nfc/nfcmrvl/fw_dnld.c:19: include/linux/unaligned/be_byteshift.h:55:20: note: previous definition of 'put_unaligned_be16' was here static inline void put_unaligned_be16(u16 val, void *p) ^~~~~~~~~~~~~~~~~~ In file included from drivers/nfc/nfcmrvl/fw_dnld.c:20:0: include/linux/unaligned/access_ok.h:57:20: error: redefinition of 'put_unaligned_be32' static inline void put_unaligned_be32(u32 val, void *p) ^~~~~~~~~~~~~~~~~~ In file included from arch/ia64/include/asm/unaligned.h:5:0, from arch/ia64/include/asm/io.h:22, from arch/ia64/include/asm/smp.h:20, from include/linux/smp.h:59, from include/linux/topology.h:33, from include/linux/gfp.h:8, from include/linux/kmod.h:22, from include/linux/module.h:13, from drivers/nfc/nfcmrvl/fw_dnld.c:19: include/linux/unaligned/be_byteshift.h:60:20: note: previous definition of 'put_unaligned_be32' was here static inline void put_unaligned_be32(u32 val, void *p) ^~~~~~~~~~~~~~~~~~ In file included from drivers/nfc/nfcmrvl/fw_dnld.c:20:0: >> include/linux/unaligned/access_ok.h:62:20: error: redefinition of 'put_unaligned_be64' static inline void put_unaligned_be64(u64 val, void *p) ^~~~~~~~~~~~~~~~~~ In file included from arch/ia64/include/asm/unaligned.h:5:0, from arch/ia64/include/asm/io.h:22, from arch/ia64/include/asm/smp.h:20, from include/linux/smp.h:59, from include/linux/topology.h:33, from include/linux/gfp.h:8, from include/linux/kmod.h:22, from include/linux/module.h:13, from drivers/nfc/nfcmrvl/fw_dnld.c:19: include/linux/unaligned/be_byteshift.h:65:20: note: previous definition of 'put_unaligned_be64' was here static inline void put_unaligned_be64(u64 val, void *p) ^~~~~~~~~~~~~~~~~~ vim +/put_unaligned_le16 +37 include/linux/unaligned/access_ok.h 064106a9 Harvey Harrison 2008-04-29 31 064106a9 Harvey Harrison 2008-04-29 32 static inline u64 get_unaligned_be64(const void *p) 064106a9 Harvey Harrison 2008-04-29 33 { 064106a9 Harvey Harrison 2008-04-29 34 return be64_to_cpup((__be64 *)p); 064106a9 Harvey Harrison 2008-04-29 35 } 064106a9 Harvey Harrison 2008-04-29 36 064106a9 Harvey Harrison 2008-04-29 @37 static inline void put_unaligned_le16(u16 val, void *p) 064106a9 Harvey Harrison 2008-04-29 38 { 064106a9 Harvey Harrison 2008-04-29 39 *((__le16 *)p) = cpu_to_le16(val); 064106a9 Harvey Harrison 2008-04-29 40 } 064106a9 Harvey Harrison 2008-04-29 41 064106a9 Harvey Harrison 2008-04-29 @42 static inline void put_unaligned_le32(u32 val, void *p) 064106a9 Harvey Harrison 2008-04-29 43 { 064106a9 Harvey Harrison 2008-04-29 44 *((__le32 *)p) = cpu_to_le32(val); 064106a9 Harvey Harrison 2008-04-29 45 } 064106a9 Harvey Harrison 2008-04-29 46 064106a9 Harvey Harrison 2008-04-29 47 static inline void put_unaligned_le64(u64 val, void *p) 064106a9 Harvey Harrison 2008-04-29 48 { 064106a9 Harvey Harrison 2008-04-29 49 *((__le64 *)p) = cpu_to_le64(val); 064106a9 Harvey Harrison 2008-04-29 50 } 064106a9 Harvey Harrison 2008-04-29 51 064106a9 Harvey Harrison 2008-04-29 @52 static inline void put_unaligned_be16(u16 val, void *p) 064106a9 Harvey Harrison 2008-04-29 53 { 064106a9 Harvey Harrison 2008-04-29 54 *((__be16 *)p) = cpu_to_be16(val); 064106a9 Harvey Harrison 2008-04-29 55 } 064106a9 Harvey Harrison 2008-04-29 56 064106a9 Harvey Harrison 2008-04-29 57 static inline void put_unaligned_be32(u32 val, void *p) 064106a9 Harvey Harrison 2008-04-29 58 { 064106a9 Harvey Harrison 2008-04-29 59 *((__be32 *)p) = cpu_to_be32(val); 064106a9 Harvey Harrison 2008-04-29 60 } 064106a9 Harvey Harrison 2008-04-29 61 064106a9 Harvey Harrison 2008-04-29 @62 static inline void put_unaligned_be64(u64 val, void *p) 064106a9 Harvey Harrison 2008-04-29 63 { 064106a9 Harvey Harrison 2008-04-29 64 *((__be64 *)p) = cpu_to_be64(val); 064106a9 Harvey Harrison 2008-04-29 65 } :::::: The code at line 37 was first introduced by commit :::::: 064106a91be5e76cb42c1ddf5d3871e3a1bd2a23 kernel: add common infrastructure for unaligned access :::::: TO: Harvey Harrison :::::: CC: Linus Torvalds --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation