tree: https://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git dma-sync-rework head: 9a711fbea373208c1eeb2fafb0c744bc23a79a43 commit: 4a04caf3aca03b0132be4519f2064ce6fc6a0f24 [12/20] mips: dma-mapping: split out cache operation logic config: mips-randconfig-r005-20230323 (https://download.01.org/0day-ci/archive/20230325/202303250032.EFuGiCmv-lkp@xxxxxxxxx/config) compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project 67409911353323ca5edf2049ef0df54132fa1ca7) 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 mips cross compiling tool for clang build # apt-get install binutils-mipsel-linux-gnu # https://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git/commit/?id=4a04caf3aca03b0132be4519f2064ce6fc6a0f24 git remote add arnd-asm-generic https://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git git fetch --no-tags arnd-asm-generic dma-sync-rework git checkout 4a04caf3aca03b0132be4519f2064ce6fc6a0f24 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash arch/mips/mm/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Link: https://lore.kernel.org/oe-kbuild-all/202303250032.EFuGiCmv-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): >> arch/mips/mm/dma-noncoherent.c:63:11: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int] (void)(*cache_op)(unsigned long start, unsigned long size)); ^ int arch/mips/mm/dma-noncoherent.c:63:4: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int] (void)(*cache_op)(unsigned long start, unsigned long size)); ^ int >> arch/mips/mm/dma-noncoherent.c:63:9: error: function cannot return function type 'int (unsigned long, unsigned long)' (void)(*cache_op)(unsigned long start, unsigned long size)); ^ >> arch/mips/mm/dma-noncoherent.c:64:1: error: expected identifier or '(' { ^ 4 errors generated. vim +/int +63 arch/mips/mm/dma-noncoherent.c 56 57 /* 58 * A single sg entry may refer to multiple physically contiguous pages. But 59 * we still need to process highmem pages individually. If highmem is not 60 * configured then the bulk of this loop gets optimized out. 61 */ 62 static inline void dma_sync_phys(phys_addr_t paddr, size_t size, > 63 (void)(*cache_op)(unsigned long start, unsigned long size)); > 64 { 65 struct page *page = pfn_to_page(paddr >> PAGE_SHIFT); 66 unsigned long offset = paddr & ~PAGE_MASK; 67 size_t left = size; 68 69 do { 70 size_t len = left; 71 void *addr; 72 73 if (PageHighMem(page)) { 74 if (offset + len > PAGE_SIZE) 75 len = PAGE_SIZE - offset; 76 } 77 78 addr = kmap_atomic(page); 79 cache_op(addr + offset, len); 80 kunmap_atomic(addr); 81 82 offset = 0; 83 page++; 84 left -= len; 85 } while (left); 86 } 87 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests