[arm-platforms:hack/m1-pcie 77/99] include/linux/io.h:98:22: error: implicit declaration of function 'ioremap_np'
From: kernel test robot <hidden>
Date: 2021-04-03 17:30:29
Also in:
oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git hack/m1-pcie head: 1fd2c9634dd24fba323baba52200de18e4d3f4ee commit: 3364619d8489baef060f4ac9c71ae25c128ae820 [77/99] asm-generic/io.h: implement pci_remap_cfgspace using ioremap_np config: powerpc64-randconfig-r004-20210403 (attached as .config) compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 3bcb6a389ff4338d76a25b7d9e0e3c40d84695be) 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 powerpc64 cross compiling tool for clang build # apt-get install binutils-powerpc64-linux-gnu # https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git/commit/?id=3364619d8489baef060f4ac9c71ae25c128ae820 git remote add arm-platforms https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git git fetch --no-tags arm-platforms hack/m1-pcie git checkout 3364619d8489baef060f4ac9c71ae25c128ae820 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <redacted> All error/warnings (new ones prefixed by >>): In file included from arch/powerpc/kernel/asm-offsets.c:23: In file included from include/linux/suspend.h:5: In file included from include/linux/swap.h:9: In file included from include/linux/memcontrol.h:13: In file included from include/linux/cgroup.h:26: In file included from include/linux/kernel_stat.h:9: In file included from include/linux/interrupt.h:11: In file included from include/linux/hardirq.h:10: In file included from arch/powerpc/include/asm/hardirq.h:6: In file included from include/linux/irq.h:20:
quoted
include/linux/io.h:98:22: error: implicit declaration of function 'ioremap_np' [-Werror,-Wimplicit-function-declaration]
void __iomem *ret = ioremap_np(offset, size);
^quoted
include/linux/io.h:98:16: warning: incompatible integer to pointer conversion initializing 'void *' with an expression of type 'int' [-Wint-conversion]
void __iomem *ret = ioremap_np(offset, size);
^ ~~~~~~~~~~~~~~~~~~~~~~~~
1 warning and 1 error generated.
--
In file included from arch/powerpc/kernel/asm-offsets.c:23:
In file included from include/linux/suspend.h:5:
In file included from include/linux/swap.h:9:
In file included from include/linux/memcontrol.h:13:
In file included from include/linux/cgroup.h:26:
In file included from include/linux/kernel_stat.h:9:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:10:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:quoted
include/linux/io.h:98:22: error: implicit declaration of function 'ioremap_np' [-Werror,-Wimplicit-function-declaration]
void __iomem *ret = ioremap_np(offset, size);
^quoted
include/linux/io.h:98:16: warning: incompatible integer to pointer conversion initializing 'void *' with an expression of type 'int' [-Wint-conversion]
void __iomem *ret = ioremap_np(offset, size);
^ ~~~~~~~~~~~~~~~~~~~~~~~~
1 warning and 1 error generated.
make[2]: *** [scripts/Makefile.build:116: arch/powerpc/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1235: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:215: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
vim +/ioremap_np +98 include/linux/io.h
81
82 #ifdef CONFIG_PCI
83 /*
84 * The PCI specifications (Rev 3.0, 3.2.5 "Transaction Ordering and
85 * Posting") mandate non-posted configuration transactions. This default
86 * implementation attempts to use the ioremap_np() API to provide this
87 * on arches that support it, and falls back to ioremap() on those that
88 * don't. Overriding this function is deprecated; arches that properly
89 * support non-posted accesses should implement ioremap_np() instead, which
90 * this default implementation can then use to return mappings compliant with
91 * the PCI specification.
92 */
93 #ifndef pci_remap_cfgspace
94 #define pci_remap_cfgspace pci_remap_cfgspace
95 static inline void __iomem *pci_remap_cfgspace(phys_addr_t offset,
96 size_t size)
97 {
> 98 void __iomem *ret = ioremap_np(offset, size);
99
100 if (!ret)
101 ret = ioremap(offset, size);
102
103 return ret;
104 }
105 #endif
106 #endif
107
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Attachments
- .config.gz [application/gzip] 33711 bytes
- (unnamed) [text/plain] 176 bytes · preview