[arm-integrator:kernel-in-vmalloc-v5.18-rc1 26/34] arch/mips/include/asm/page.h:263:40: error: implicit declaration of function 'virt_to_phys'; did you mean 'virt_to_pfn'?

From: kernel test robot
Date: Sat Jun 04 2022 - 16:15:09 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator.git kernel-in-vmalloc-v5.18-rc1
head: 1aafd4ba7b78b4ac0013a48a35252654852cb7ab
commit: 528ddc725d2f4c648357c9323487fb3f9a639cb6 [26/34] MIPS: Make virt_to_pfn() a static inline
config: mips-capcella_defconfig (https://download.01.org/0day-ci/archive/20220605/202206050448.4G8omwDM-lkp@xxxxxxxxx/config)
compiler: mipsel-linux-gcc (GCC) 11.3.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/linusw/linux-integrator.git/commit/?id=528ddc725d2f4c648357c9323487fb3f9a639cb6
git remote add arm-integrator https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator.git
git fetch --no-tags arm-integrator kernel-in-vmalloc-v5.18-rc1
git checkout 528ddc725d2f4c648357c9323487fb3f9a639cb6
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=mips prepare

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

All errors (new ones prefixed by >>):

In file included from arch/mips/include/asm/page.h:74,
from arch/mips/include/asm/io.h:29,
from arch/mips/include/asm/mmiowb.h:5,
from include/linux/spinlock.h:64,
from include/linux/ipc.h:5,
from include/uapi/linux/sem.h:5,
from include/linux/sem.h:5,
from include/linux/compat.h:14,
from arch/mips/kernel/asm-offsets.c:12:
arch/mips/include/asm/page.h: In function 'virt_to_pfn':
>> arch/mips/include/asm/page.h:263:40: error: implicit declaration of function 'virt_to_phys'; did you mean 'virt_to_pfn'? [-Werror=implicit-function-declaration]
263 | return (unsigned long)PFN_DOWN(virt_to_phys(kaddr));
| ^~~~~~~~~~~~
include/linux/pfn.h:20:27: note: in definition of macro 'PFN_DOWN'
20 | #define PFN_DOWN(x) ((x) >> PAGE_SHIFT)
| ^
In file included from arch/mips/include/asm/mmiowb.h:5,
from include/linux/spinlock.h:64,
from include/linux/ipc.h:5,
from include/uapi/linux/sem.h:5,
from include/linux/sem.h:5,
from include/linux/compat.h:14,
from arch/mips/kernel/asm-offsets.c:12:
arch/mips/include/asm/io.h: At top level:
>> arch/mips/include/asm/io.h:114:27: error: conflicting types for 'virt_to_phys'; have 'phys_addr_t(const volatile void *)' {aka 'unsigned int(const volatile void *)'}
114 | static inline phys_addr_t virt_to_phys(const volatile void *x)
| ^~~~~~~~~~~~
In file included from arch/mips/include/asm/page.h:74,
from arch/mips/include/asm/io.h:29,
from arch/mips/include/asm/mmiowb.h:5,
from include/linux/spinlock.h:64,
from include/linux/ipc.h:5,
from include/uapi/linux/sem.h:5,
from include/linux/sem.h:5,
from include/linux/compat.h:14,
from arch/mips/kernel/asm-offsets.c:12:
arch/mips/include/asm/page.h:263:40: note: previous implicit declaration of 'virt_to_phys' with type 'int()'
263 | return (unsigned long)PFN_DOWN(virt_to_phys(kaddr));
| ^~~~~~~~~~~~
include/linux/pfn.h:20:27: note: in definition of macro 'PFN_DOWN'
20 | #define PFN_DOWN(x) ((x) >> PAGE_SHIFT)
| ^
arch/mips/kernel/asm-offsets.c:26:6: warning: no previous prototype for 'output_ptreg_defines' [-Wmissing-prototypes]
26 | void output_ptreg_defines(void)
| ^~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:78:6: warning: no previous prototype for 'output_task_defines' [-Wmissing-prototypes]
78 | void output_task_defines(void)
| ^~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:92:6: warning: no previous prototype for 'output_thread_info_defines' [-Wmissing-prototypes]
92 | void output_thread_info_defines(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:108:6: warning: no previous prototype for 'output_thread_defines' [-Wmissing-prototypes]
108 | void output_thread_defines(void)
| ^~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:136:6: warning: no previous prototype for 'output_thread_fpu_defines' [-Wmissing-prototypes]
136 | void output_thread_fpu_defines(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:179:6: warning: no previous prototype for 'output_mm_defines' [-Wmissing-prototypes]
179 | void output_mm_defines(void)
| ^~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:218:6: warning: no previous prototype for 'output_sc_defines' [-Wmissing-prototypes]
218 | void output_sc_defines(void)
| ^~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:253:6: warning: no previous prototype for 'output_signal_defined' [-Wmissing-prototypes]
253 | void output_signal_defined(void)
| ^~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:346:6: warning: no previous prototype for 'output_kvm_defines' [-Wmissing-prototypes]
346 | void output_kvm_defines(void)
| ^~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:120: arch/mips/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1194: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:219: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.


vim +263 arch/mips/include/asm/page.h

255
256 static inline unsigned long virt_to_pfn(const volatile void *kaddr)
257 {
258 /*
259 * MIPS virt_to_phys() returns a phys_addr_t which is
260 * an unsigned int on MIPS, but the interface expects
261 * unsigned long.
262 */
> 263 return (unsigned long)PFN_DOWN(virt_to_phys(kaddr));
264 }
265 #define virt_to_page(kaddr) pfn_to_page(virt_to_pfn(kaddr))
266

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