Hi Mark, I love your patch! Yet something to improve: [auto build test ERROR on 8694e5e6388695195a32bd5746635ca166a8df56] url: https://github.com/0day-ci/linux/commits/Mark-Brown/arm64-sme-Initial-support-for-the-Scalable-Matrix-Extension/20211001-021749 base: 8694e5e6388695195a32bd5746635ca166a8df56 config: arm64-randconfig-r024-20210930 (attached as .config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 962e503cc8bc411f7523cc393acae8aae425b1c4) 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 # install arm64 cross compiling tool for clang build # apt-get install binutils-aarch64-linux-gnu # https://github.com/0day-ci/linux/commit/7e299f3a56180fd063d19d4fc4de16262d789820 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Mark-Brown/arm64-sme-Initial-support-for-the-Scalable-Matrix-Extension/20211001-021749 git checkout 7e299f3a56180fd063d19d4fc4de16262d789820 # save the attached .config to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash arch/arm64/kernel/ kernel/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): >> arch/arm64/kernel/fpsimd.c:124:39: error: array has incomplete element type 'struct vl_info' __ro_after_init struct vl_info vl_info[ARM64_VEC_MAX] = { ^ arch/arm64/kernel/fpsimd.c:124:24: note: forward declaration of 'struct vl_info' __ro_after_init struct vl_info vl_info[ARM64_VEC_MAX] = { ^ >> arch/arm64/kernel/fpsimd.c:376:19: error: incomplete definition of type 'struct vl_info' int max_vl = info->max_vl; ~~~~^ arch/arm64/kernel/fpsimd.c:124:24: note: forward declaration of 'struct vl_info' __ro_after_init struct vl_info vl_info[ARM64_VEC_MAX] = { ^ arch/arm64/kernel/fpsimd.c:379:12: error: incomplete definition of type 'struct vl_info' vl = info->min_vl; ~~~~^ arch/arm64/kernel/fpsimd.c:124:24: note: forward declaration of 'struct vl_info' __ro_after_init struct vl_info vl_info[ARM64_VEC_MAX] = { ^ arch/arm64/kernel/fpsimd.c:382:16: error: incomplete definition of type 'struct vl_info' max_vl = info->min_vl; ~~~~^ arch/arm64/kernel/fpsimd.c:124:24: note: forward declaration of 'struct vl_info' __ro_after_init struct vl_info vl_info[ARM64_VEC_MAX] = { ^ arch/arm64/kernel/fpsimd.c:387:26: error: incomplete definition of type 'struct vl_info' bit = find_next_bit(info->vq_map, SVE_VQ_MAX, ~~~~^ arch/arm64/kernel/fpsimd.c:124:24: note: forward declaration of 'struct vl_info' __ro_after_init struct vl_info vl_info[ARM64_VEC_MAX] = { ^ 5 errors generated. -- >> arch/arm64/kernel/signal.c:597:13: error: implicit declaration of function 'sve_max_vl' [-Werror,-Wimplicit-function-declaration] int vl = sve_max_vl(); ^ arch/arm64/kernel/signal.c:597:13: note: did you mean 'sve_get_vl'? arch/arm64/include/asm/fpsimd.h:72:21: note: 'sve_get_vl' declared here extern unsigned int sve_get_vl(void); ^ arch/arm64/kernel/signal.c:920:6: warning: no previous prototype for function 'do_notify_resume' [-Wmissing-prototypes] void do_notify_resume(struct pt_regs *regs, unsigned long thread_flags) ^ arch/arm64/kernel/signal.c:920:1: note: declare 'static' if the function is not intended to be used outside of this translation unit void do_notify_resume(struct pt_regs *regs, unsigned long thread_flags) ^ static 1 warning and 1 error generated. -- >> arch/arm64/kernel/cpufeature.c:944:3: error: implicit declaration of function 'vec_init_vq_map' [-Werror,-Wimplicit-function-declaration] vec_init_vq_map(ARM64_VEC_SVE); ^ arch/arm64/kernel/cpufeature.c:944:3: note: did you mean 'sve_init_vq_map'? arch/arm64/include/asm/fpsimd.h:237:20: note: 'sve_init_vq_map' declared here static inline void sve_init_vq_map(void) { } ^ >> arch/arm64/kernel/cpufeature.c:1178:4: error: implicit declaration of function 'vec_update_vq_map' [-Werror,-Wimplicit-function-declaration] vec_update_vq_map(ARM64_VEC_SVE); ^ arch/arm64/kernel/cpufeature.c:1178:4: note: did you mean 'sve_update_vq_map'? arch/arm64/include/asm/fpsimd.h:238:20: note: 'sve_update_vq_map' declared here static inline void sve_update_vq_map(void) { } ^ >> arch/arm64/kernel/cpufeature.c:2742:24: error: implicit declaration of function 'vec_verify_vq_map' [-Werror,-Wimplicit-function-declaration] if (len < safe_len || vec_verify_vq_map(ARM64_VEC_SVE)) { ^ arch/arm64/kernel/cpufeature.c:2742:24: note: did you mean 'sve_verify_vq_map'? arch/arm64/include/asm/fpsimd.h:239:19: note: 'sve_verify_vq_map' declared here static inline int sve_verify_vq_map(void) { return 0; } ^ 3 errors generated. vim +124 arch/arm64/kernel/fpsimd.c 123 > 124 __ro_after_init struct vl_info vl_info[ARM64_VEC_MAX] = { 125 #ifdef CONFIG_ARM64_SVE 126 [ARM64_VEC_SVE] = { 127 .type = ARM64_VEC_SVE, 128 .name = "SVE", 129 .min_vl = SVE_VL_MIN, 130 .max_vl = SVE_VL_MIN, 131 .max_virtualisable_vl = SVE_VL_MIN, 132 }, 133 #endif 134 }; 135 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip