+ Bjorn On Saturday 04 December 2021 03:21:31 Pali Rohár wrote: > On Saturday 04 December 2021 01:41:28 kernel test robot wrote: > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master > > head: 7afeac307a9561e3a93682c1e7eb22f918aa1187 > > commit: 9c8facde9206dc48060a2a016bae7f76b6328030 [3902/5128] arm: ioremap: Replace pci_ioremap_io() usage by pci_remap_iospace() > > config: arm-buildonly-randconfig-r004-20211203 (https://download.01.org/0day-ci/archive/20211204/202112040150.wvyJZIZO-lkp@xxxxxxxxx/config) > > compiler: arm-linux-gnueabi-gcc (GCC) 11.2.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/next/linux-next.git/commit/?id=9c8facde9206dc48060a2a016bae7f76b6328030 > > git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git > > git fetch --no-tags linux-next master > > git checkout 9c8facde9206dc48060a2a016bae7f76b6328030 > > # save the config file to linux build tree > > mkdir build_dir > > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm SHELL=/bin/bash > > > > If you fix the issue, kindly add following tag as appropriate > > Reported-by: kernel test robot <lkp@xxxxxxxxx> > > > > All errors (new ones prefixed by >>): > > > > arm-linux-gnueabi-ld: arch/arm/mach-dove/pcie.o: in function `dove_pcie_setup': > > >> pcie.c:(.init.text+0x170): undefined reference to `pci_remap_iospace' > > arm-linux-gnueabi-ld: drivers/pci/pci.o: in function `devm_pci_remap_iospace': > > (.text+0x1a84): undefined reference to `pci_remap_iospace' > > I guess that this error is caused by the fact that bot is trying to > compile kernel for Marvell Dove board without CONFIG_MMU. I'm not sure > if such configuration makes sense... Anyway > > File arch/arm/mm/ioremap.c where is defined ARM specific version of > pci_remap_iospace() is compiled only when CONFIG_MMU is enabled. > > What about this patch? > > diff --git a/arch/arm/include/asm/io.h b/arch/arm/include/asm/io.h > index 0c70eb688a00..690f222fc4ef 100644 > --- a/arch/arm/include/asm/io.h > +++ b/arch/arm/include/asm/io.h > @@ -180,10 +180,12 @@ void pci_ioremap_set_mem_type(int mem_type); > static inline void pci_ioremap_set_mem_type(int mem_type) {} > #endif > > +#ifdef CONFIG_MMU > struct resource; > > #define pci_remap_iospace pci_remap_iospace > int pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr); > +#endif > > /* > * PCI configuration space mapping function. > > It will disable ARM specific version of pci_remap_iospace() and let to > use generic version from drivers/pci/pci.c which always returns error on > systems without CONFIG_MMU. Bjorn: Do you know what is intended behavior and usage of function pci_remap_iospace() on kernels without CONFIG_MMU? > > > > --- > > 0-DAY CI Kernel Test Service, Intel Corporation > > https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx