On Tue, Mar 12, 2024 at 8:31 PM Huacai Chen <chenhuacai@xxxxxxxxxxx> wrote: > > LoongArch doesn't have cache aliases, so flush_dcache_page() is a no-op. > There is a generic implementation for this case in include/asm-generic/ > cacheflush.h. So remove the superfluous flush_dcache_page() definition, > which also silences such build warnings: > > In file included from crypto/scompress.c:12: > include/crypto/scatterwalk.h: In function 'scatterwalk_pagedone': > include/crypto/scatterwalk.h:76:30: warning: variable 'page' set but not used [-Wunused-but-set-variable] > 76 | struct page *page; > | ^~~~ > crypto/scompress.c: In function 'scomp_acomp_comp_decomp': > >> crypto/scompress.c:174:38: warning: unused variable 'dst_page' [-Wunused-variable] > 174 | struct page *dst_page = sg_page(req->dst); > | > > Reported-by: kernel test robot <lkp@xxxxxxxxx> > Closes: https://lore.kernel.org/oe-kbuild-all/202403091614.NeUw5zcv-lkp@xxxxxxxxx/ > Suggested-by: Barry Song <21cnbao@xxxxxxxxx> > Signed-off-by: Huacai Chen <chenhuacai@xxxxxxxxxxx> > --- Thanks, Huacai! Acked-by: Barry Song <baohua@xxxxxxxxxx> +Chris, Max And I find arch/xtensa/include/asm/cacheflush.h also needs a similar fix. > arch/loongarch/include/asm/cacheflush.h | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/arch/loongarch/include/asm/cacheflush.h b/arch/loongarch/include/asm/cacheflush.h > index 80bd74106985..f8754d08a31a 100644 > --- a/arch/loongarch/include/asm/cacheflush.h > +++ b/arch/loongarch/include/asm/cacheflush.h > @@ -37,8 +37,6 @@ void local_flush_icache_range(unsigned long start, unsigned long end); > #define flush_icache_range local_flush_icache_range > #define flush_icache_user_range local_flush_icache_range > > -#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 0 > - > #define flush_cache_all() do { } while (0) > #define flush_cache_mm(mm) do { } while (0) > #define flush_cache_dup_mm(mm) do { } while (0) > @@ -47,7 +45,6 @@ void local_flush_icache_range(unsigned long start, unsigned long end); > #define flush_cache_vmap(start, end) do { } while (0) > #define flush_cache_vunmap(start, end) do { } while (0) > #define flush_icache_user_page(vma, page, addr, len) do { } while (0) > -#define flush_dcache_page(page) do { } while (0) > #define flush_dcache_mmap_lock(mapping) do { } while (0) > #define flush_dcache_mmap_unlock(mapping) do { } while (0) > > -- > 2.43.0 >