Hi Yupeng, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v6.0-rc3 next-20220831] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Yupeng-Li/LoongArch-Fixed-loongarch-kernel-csr_xxx-implicit-declaration/20220831-141510 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git dcf8e5633e2e69ad60b730ab5905608b756a032f config: loongarch-randconfig-r031-20220830 compiler: loongarch64-linux-gcc (GCC) 12.1.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/intel-lab-lkp/linux/commit/48fc76b573f0f7284876a1df20eb70642b09920e git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Yupeng-Li/LoongArch-Fixed-loongarch-kernel-csr_xxx-implicit-declaration/20220831-141510 git checkout 48fc76b573f0f7284876a1df20eb70642b09920e # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=loongarch prepare If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from arch/loongarch/include/asm/cpu-info.h:11, from arch/loongarch/include/asm/processor.h:13, from arch/loongarch/include/asm/thread_info.h:15, from include/linux/thread_info.h:60, from include/asm-generic/current.h:5, from ./arch/loongarch/include/generated/asm/current.h:1, from include/linux/sched.h:12, from arch/loongarch/kernel/asm-offsets.c:8: arch/loongarch/include/asm/loongarch.h: In function 'csr_read32': >> arch/loongarch/include/asm/loongarch.h:231:16: error: implicit declaration of function '__builtin_loongarch_csrrd'; did you mean '__builtin_loongarch_csrrd_w'? [-Werror=implicit-function-declaration] 231 | return __builtin_loongarch_csrrd(reg); | ^~~~~~~~~~~~~~~~~~~~~~~~~ | __builtin_loongarch_csrrd_w arch/loongarch/include/asm/loongarch.h: In function 'csr_write32': >> arch/loongarch/include/asm/loongarch.h:241:9: error: implicit declaration of function '__builtin_loongarch_csrwr'; did you mean '__builtin_loongarch_csrwr_w'? [-Werror=implicit-function-declaration] 241 | __builtin_loongarch_csrwr(val, reg); | ^~~~~~~~~~~~~~~~~~~~~~~~~ | __builtin_loongarch_csrwr_w arch/loongarch/include/asm/loongarch.h: In function 'csr_xchg32': >> arch/loongarch/include/asm/loongarch.h:251:16: error: implicit declaration of function '__builtin_loongarch_csrxchg'; did you mean '__builtin_loongarch_csrxchg_w'? [-Werror=implicit-function-declaration] 251 | return __builtin_loongarch_csrxchg(val, mask, reg); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | __builtin_loongarch_csrxchg_w arch/loongarch/kernel/asm-offsets.c: At top level: arch/loongarch/kernel/asm-offsets.c:16:6: warning: no previous prototype for 'output_ptreg_defines' [-Wmissing-prototypes] 16 | void output_ptreg_defines(void) | ^~~~~~~~~~~~~~~~~~~~ arch/loongarch/kernel/asm-offsets.c:63:6: warning: no previous prototype for 'output_task_defines' [-Wmissing-prototypes] 63 | void output_task_defines(void) | ^~~~~~~~~~~~~~~~~~~ arch/loongarch/kernel/asm-offsets.c:75:6: warning: no previous prototype for 'output_thread_info_defines' [-Wmissing-prototypes] 75 | void output_thread_info_defines(void) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ arch/loongarch/kernel/asm-offsets.c:91:6: warning: no previous prototype for 'output_thread_defines' [-Wmissing-prototypes] 91 | void output_thread_defines(void) | ^~~~~~~~~~~~~~~~~~~~~ arch/loongarch/kernel/asm-offsets.c:134:6: warning: no previous prototype for 'output_thread_fpu_defines' [-Wmissing-prototypes] 134 | void output_thread_fpu_defines(void) | ^~~~~~~~~~~~~~~~~~~~~~~~~ arch/loongarch/kernel/asm-offsets.c:174:6: warning: no previous prototype for 'output_mm_defines' [-Wmissing-prototypes] 174 | void output_mm_defines(void) | ^~~~~~~~~~~~~~~~~ arch/loongarch/kernel/asm-offsets.c:206:6: warning: no previous prototype for 'output_sc_defines' [-Wmissing-prototypes] 206 | void output_sc_defines(void) | ^~~~~~~~~~~~~~~~~ arch/loongarch/kernel/asm-offsets.c:214:6: warning: no previous prototype for 'output_signal_defines' [-Wmissing-prototypes] 214 | void output_signal_defines(void) | ^~~~~~~~~~~~~~~~~~~~~ arch/loongarch/kernel/asm-offsets.c:252:6: warning: no previous prototype for 'output_smpboot_defines' [-Wmissing-prototypes] 252 | void output_smpboot_defines(void) | ^~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:117: arch/loongarch/kernel/asm-offsets.s] Error 1 make[2]: Target '__build' not remade because of errors. make[1]: *** [Makefile:1205: prepare0] Error 2 make[1]: Target 'prepare' not remade because of errors. make: *** [Makefile:222: __sub-make] Error 2 make: Target 'prepare' not remade because of errors. vim +231 arch/loongarch/include/asm/loongarch.h 227 228 /* CSR */ 229 static __always_inline u32 csr_read32(u32 reg) 230 { > 231 return __builtin_loongarch_csrrd(reg); 232 } 233 234 static __always_inline u64 csr_read64(u32 reg) 235 { 236 return __builtin_loongarch_csrrd(reg); 237 } 238 239 static __always_inline void csr_write32(u32 val, u32 reg) 240 { > 241 __builtin_loongarch_csrwr(val, reg); 242 } 243 244 static __always_inline void csr_write64(u64 val, u32 reg) 245 { 246 __builtin_loongarch_csrwr(val, reg); 247 } 248 249 static __always_inline u32 csr_xchg32(u32 val, u32 mask, u32 reg) 250 { > 251 return __builtin_loongarch_csrxchg(val, mask, reg); 252 } 253 -- 0-DAY CI Kernel Test Service https://01.org/lkp