[openeuler:OLK-6.6 3124/3124] drivers/ub/ubase/ubase_pmem.c:239:4: error: a randomized struct can only be initialized with a designated initializer
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 66984acf4b16f28a2cc0d5d6186b4b6bbfd92e26 commit: da7d25293a382c506d3d46f06aff4074d881f24f [3124/3124] ub: ubase: support pre-alloc 2M pages. config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20251109/202511091319.N8VHQUDq-lkp@i...) compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251109/202511091319.N8VHQUDq-lkp@i...) 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@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202511091319.N8VHQUDq-lkp@intel.com/ All error/warnings (new ones prefixed by >>):
drivers/ub/ubase/ubase_hw.c:430:5: warning: no previous prototype for function 'ubase_cmd_ctx_buf_alloc' [-Wmissing-prototypes] 430 | int ubase_cmd_ctx_buf_alloc(struct ubase_dev *udev, | ^ drivers/ub/ubase/ubase_hw.c:430:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 430 | int ubase_cmd_ctx_buf_alloc(struct ubase_dev *udev, | ^ | static 1 warning generated. -- drivers/ub/ubase/ubase_pmem.c:239:4: error: a randomized struct can only be initialized with a designated initializer 239 | { ubase_init_comm_pmem_ctx, ubase_uninit_comm_pmem_ctx }, | ^ drivers/ub/ubase/ubase_pmem.c:240:4: error: a randomized struct can only be initialized with a designated initializer 240 | { ubase_init_udma_pmem_ctx, ubase_uninit_udma_pmem_ctx }, | ^ drivers/ub/ubase/ubase_pmem.c:241:4: error: a randomized struct can only be initialized with a designated initializer 241 | { ubase_alloc_comm_pmem, ubase_free_comm_pmem }, | ^ drivers/ub/ubase/ubase_pmem.c:242:4: error: a randomized struct can only be initialized with a designated initializer 242 | { ubase_alloc_udma_pmem, ubase_free_udma_pmem }, | ^ drivers/ub/ubase/ubase_pmem.c:243:4: error: a randomized struct can only be initialized with a designated initializer 243 | { ubase_map_comm_pmem, ubase_unmap_comm_pmem }, | ^ drivers/ub/ubase/ubase_pmem.c:244:4: error: a randomized struct can only be initialized with a designated initializer 244 | { ubase_map_udma_pmem, ubase_unmap_udma_pmem }, | ^ drivers/ub/ubase/ubase_pmem.c:251:18: error: invalid application of 'sizeof' to an incomplete type 'const struct ubase_pmem_init_func[]' 251 | for (i = 0; i < ARRAY_SIZE(ubase_pmem_init_map); i++) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kernel.h:57:32: note: expanded from macro 'ARRAY_SIZE' 57 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) | ^~~~~ drivers/ub/ubase/ubase_pmem.c:315:11: error: invalid application of 'sizeof' to an incomplete type 'const struct ubase_pmem_init_func[]' 315 | for (i = ARRAY_SIZE(ubase_pmem_init_map) - 1; i >= 0; i--) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kernel.h:57:32: note: expanded from macro 'ARRAY_SIZE' 57 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) | ^~~~~ 8 errors generated.
vim +239 drivers/ub/ubase/ubase_pmem.c 234 235 static const struct ubase_pmem_init_func { 236 int (*init)(struct ubase_dev *udev); 237 void (*uninit)(struct ubase_dev *udev); 238 } ubase_pmem_init_map[] = {
239 { ubase_init_comm_pmem_ctx, ubase_uninit_comm_pmem_ctx }, 240 { ubase_init_udma_pmem_ctx, ubase_uninit_udma_pmem_ctx }, 241 { ubase_alloc_comm_pmem, ubase_free_comm_pmem }, 242 { ubase_alloc_udma_pmem, ubase_free_udma_pmem }, 243 { ubase_map_comm_pmem, ubase_unmap_comm_pmem }, 244 { ubase_map_udma_pmem, ubase_unmap_udma_pmem }, 245 }; 246 247 static int __ubase_prealloc_mem_init(struct ubase_dev *udev) 248 { 249 int i; 250 251 for (i = 0; i < ARRAY_SIZE(ubase_pmem_init_map); i++) { 252 if (ubase_pmem_init_map[i].init(udev)) 253 goto init_fail; 254 } 255 256 return 0; 257 258 init_fail: 259 for (i -= 1; i >= 0; i--) 260 ubase_pmem_init_map[i].uninit(udev); 261 262 return -ENOMEM; 263 } 264
-- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
participants (1)
-
kernel test robot