arch/sparc/include/asm/cacheflush_32.h:38:37: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration

From: kernel test robot
Date: Thu Apr 07 2022 - 23:13:26 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 42e7a03d3badebd4e70aea5362d6914dfc7c220b
commit: 0e03b8fd29363f2df44e2a7a176d486de550757a crypto: xilinx - Turn SHA into a tristate and allow COMPILE_TEST
date: 4 weeks ago
config: sparc-randconfig-r013-20220408 (https://download.01.org/0day-ci/archive/20220408/202204081146.wZyxhSbb-lkp@xxxxxxxxx/config)
compiler: sparc-linux-gcc (GCC) 11.2.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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0e03b8fd29363f2df44e2a7a176d486de550757a
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 0e03b8fd29363f2df44e2a7a176d486de550757a
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=sparc SHELL=/bin/bash drivers/crypto/xilinx/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

In file included from arch/sparc/include/asm/cacheflush.h:11,
from include/linux/cacheflush.h:5,
from drivers/crypto/xilinx/zynqmp-sha.c:6:
>> arch/sparc/include/asm/cacheflush_32.h:38:37: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
38 | void sparc_flush_page_to_ram(struct page *page);
| ^~~~
In file included from drivers/crypto/xilinx/zynqmp-sha.c:6:
include/linux/cacheflush.h:9:32: warning: 'struct folio' declared inside parameter list will not be visible outside of this definition or declaration
9 | void flush_dcache_folio(struct folio *folio);
| ^~~~~


vim +38 arch/sparc/include/asm/cacheflush_32.h

f5e706ad886b6a include/asm-sparc/cacheflush_32.h Sam Ravnborg 2008-07-17 19
f5e706ad886b6a include/asm-sparc/cacheflush_32.h Sam Ravnborg 2008-07-17 20 #define copy_to_user_page(vma, page, vaddr, dst, src, len) \
f5e706ad886b6a include/asm-sparc/cacheflush_32.h Sam Ravnborg 2008-07-17 21 do { \
f5e706ad886b6a include/asm-sparc/cacheflush_32.h Sam Ravnborg 2008-07-17 22 flush_cache_page(vma, vaddr, page_to_pfn(page));\
f5e706ad886b6a include/asm-sparc/cacheflush_32.h Sam Ravnborg 2008-07-17 23 memcpy(dst, src, len); \
f5e706ad886b6a include/asm-sparc/cacheflush_32.h Sam Ravnborg 2008-07-17 24 } while (0)
f5e706ad886b6a include/asm-sparc/cacheflush_32.h Sam Ravnborg 2008-07-17 25 #define copy_from_user_page(vma, page, vaddr, dst, src, len) \
f5e706ad886b6a include/asm-sparc/cacheflush_32.h Sam Ravnborg 2008-07-17 26 do { \
f5e706ad886b6a include/asm-sparc/cacheflush_32.h Sam Ravnborg 2008-07-17 27 flush_cache_page(vma, vaddr, page_to_pfn(page));\
f5e706ad886b6a include/asm-sparc/cacheflush_32.h Sam Ravnborg 2008-07-17 28 memcpy(dst, src, len); \
f5e706ad886b6a include/asm-sparc/cacheflush_32.h Sam Ravnborg 2008-07-17 29 } while (0)
f5e706ad886b6a include/asm-sparc/cacheflush_32.h Sam Ravnborg 2008-07-17 30
5d83d66635bb16 arch/sparc/include/asm/cacheflush_32.h David S. Miller 2012-05-13 31 #define __flush_page_to_ram(addr) \
5d83d66635bb16 arch/sparc/include/asm/cacheflush_32.h David S. Miller 2012-05-13 32 sparc32_cachetlb_ops->page_to_ram(addr)
5d83d66635bb16 arch/sparc/include/asm/cacheflush_32.h David S. Miller 2012-05-13 33 #define flush_sig_insns(mm,insn_addr) \
5d83d66635bb16 arch/sparc/include/asm/cacheflush_32.h David S. Miller 2012-05-13 34 sparc32_cachetlb_ops->sig_insns(mm, insn_addr)
5d83d66635bb16 arch/sparc/include/asm/cacheflush_32.h David S. Miller 2012-05-13 35 #define flush_page_for_dma(addr) \
5d83d66635bb16 arch/sparc/include/asm/cacheflush_32.h David S. Miller 2012-05-13 36 sparc32_cachetlb_ops->page_for_dma(addr)
f5e706ad886b6a include/asm-sparc/cacheflush_32.h Sam Ravnborg 2008-07-17 37
f05a68653e56ca arch/sparc/include/asm/cacheflush_32.h Sam Ravnborg 2014-05-16 @38 void sparc_flush_page_to_ram(struct page *page);
f5e706ad886b6a include/asm-sparc/cacheflush_32.h Sam Ravnborg 2008-07-17 39

:::::: The code at line 38 was first introduced by commit
:::::: f05a68653e56ca2f23bccf7e50be69486886f052 sparc: drop use of extern for prototypes in arch/sparc/include/asm

:::::: TO: Sam Ravnborg <sam@xxxxxxxxxxxx>
:::::: CC: David S. Miller <davem@xxxxxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://01.org/lkp