[arm-platforms:hack/m1-pcie 77/99] include/linux/io.h:98:22: error: implicit declaration of function 'ioremap_np'
kernel test robot
lkp at intel.com
Sat Apr 3 18:28:35 BST 2021
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 <lkp at intel.com>
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:
>> include/linux/io.h:98:22: error: implicit declaration of function 'ioremap_np' [-Werror,-Wimplicit-function-declaration]
void __iomem *ret = ioremap_np(offset, size);
^
>> 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:
>> include/linux/io.h:98:22: error: implicit declaration of function 'ioremap_np' [-Werror,-Wimplicit-function-declaration]
void __iomem *ret = ioremap_np(offset, size);
^
>> 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 33711 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20210404/4439a9fb/attachment-0001.gz>
More information about the linux-arm-kernel
mailing list