[soc:apple/m1-main 13/20] include/linux/io.h:98:9: error: implicit declaration of function 'ioremap_np'

kernel test robot lkp at intel.com
Fri Apr 9 01:31:24 BST 2021


tree:   https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git apple/m1-main
head:   7d2d16ccf15d8eb84accfaf44a0b324f36e39588
commit: b10eb2d50911f98a8f1cacf00b1b677339593f4c [13/20] asm-generic/io.h: implement pci_remap_cfgspace using ioremap_np
config: powerpc64-randconfig-r021-20210408 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project dd453a1389b6a7e6d9214b449d3c54981b1a89b6)
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/soc/soc.git/commit/?id=b10eb2d50911f98a8f1cacf00b1b677339593f4c
        git remote add soc https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git
        git fetch --no-tags soc apple/m1-main
        git checkout b10eb2d50911f98a8f1cacf00b1b677339593f4c
        # 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:9: error: implicit declaration of function 'ioremap_np' [-Werror,-Wimplicit-function-declaration]
           return ioremap_np(offset, size) ?: ioremap(offset, size);
                  ^
>> include/linux/io.h:98:34: warning: pointer/integer type mismatch in conditional expression ('int' and 'void *') [-Wconditional-type-mismatch]
           return ioremap_np(offset, size) ?: ioremap(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:9: error: implicit declaration of function 'ioremap_np' [-Werror,-Wimplicit-function-declaration]
           return ioremap_np(offset, size) ?: ioremap(offset, size);
                  ^
>> include/linux/io.h:98:34: warning: pointer/integer type mismatch in conditional expression ('int' and 'void *') [-Wconditional-type-mismatch]
           return ioremap_np(offset, size) ?: ioremap(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		return ioremap_np(offset, size) ?: ioremap(offset, size);
    99	}
   100	#endif
   101	#endif
   102	

---
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: 29365 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20210409/63118f0d/attachment-0001.gz>


More information about the linux-arm-kernel mailing list