[arm-platforms:hack/m1-pcie 77/99] include/linux/io.h:98:22: error: implicit declaration of function 'ioremap_np'; did you mean 'ioremap_wt'?

kernel test robot lkp at intel.com
Sun Apr 4 08:48:17 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: powerpc-randconfig-c024-20210403 (attached as .config)
compiler: powerpc-linux-gcc (GCC) 9.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/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=gcc-9.3.0 make.cross ARCH=powerpc 

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 include/linux/irq.h:20,
                    from arch/powerpc/include/asm/hardirq.h:6,
                    from include/linux/hardirq.h:10,
                    from include/linux/interrupt.h:11,
                    from include/linux/kernel_stat.h:9,
                    from include/linux/cgroup.h:26,
                    from include/linux/memcontrol.h:13,
                    from include/linux/swap.h:9,
                    from include/linux/suspend.h:5,
                    from arch/powerpc/kernel/asm-offsets.c:23:
   include/linux/io.h: In function 'pci_remap_cfgspace':
>> include/linux/io.h:98:22: error: implicit declaration of function 'ioremap_np'; did you mean 'ioremap_wt'? [-Werror=implicit-function-declaration]
      98 |  void __iomem *ret = ioremap_np(offset, size);
         |                      ^~~~~~~~~~
         |                      ioremap_wt
>> include/linux/io.h:98:22: warning: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   cc1: some warnings being treated as errors
--
   In file included from include/linux/irq.h:20,
                    from arch/powerpc/include/asm/hardirq.h:6,
                    from include/linux/hardirq.h:10,
                    from include/linux/interrupt.h:11,
                    from include/linux/kernel_stat.h:9,
                    from include/linux/cgroup.h:26,
                    from include/linux/memcontrol.h:13,
                    from include/linux/swap.h:9,
                    from include/linux/suspend.h:5,
                    from arch/powerpc/kernel/asm-offsets.c:23:
   include/linux/io.h: In function 'pci_remap_cfgspace':
>> include/linux/io.h:98:22: error: implicit declaration of function 'ioremap_np'; did you mean 'ioremap_wt'? [-Werror=implicit-function-declaration]
      98 |  void __iomem *ret = ioremap_np(offset, size);
         |                      ^~~~~~~~~~
         |                      ioremap_wt
>> include/linux/io.h:98:22: warning: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   cc1: some warnings being treated as errors
   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 +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: 30543 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20210404/212dec63/attachment-0001.gz>


More information about the linux-arm-kernel mailing list