[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