On 10/10/22 at 12:12am, kernel test robot wrote: > Hi Baoquan, > > I love your patch! Yet something to improve: > > [auto build test ERROR on linus/master] > [also build test ERROR on next-20221007] > [cannot apply to akpm-mm/mm-everything openrisc/for-next deller-parisc/for-next s390/features v6.0] > [If your patch is applied to the wrong git tree, kindly drop us a note. > And when submitting patch, we suggest to use '--base' as documented in > https://git-scm.com/docs/git-format-patch#_base_tree_information] > > url: https://github.com/intel-lab-lkp/linux/commits/Baoquan-He/mm-ioremap-Convert-architectures-to-take-GENERIC_IOREMAP-way/20221009-183524 > base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a6afa4199d3d038fbfdff5511f7523b0e30cb774 > config: xtensa-nommu_kc705_defconfig > compiler: xtensa-de212-linux-gcc (GCC) 12.1.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://github.com/intel-lab-lkp/linux/commit/1330d435c818ccf34bf24ceb36ef6acb1128cf6c > git remote add linux-review https://github.com/intel-lab-lkp/linux > git fetch --no-tags linux-review Baoquan-He/mm-ioremap-Convert-architectures-to-take-GENERIC_IOREMAP-way/20221009-183524 > git checkout 1330d435c818ccf34bf24ceb36ef6acb1128cf6c > # save the config file > mkdir build_dir && cp config build_dir/.config > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=xtensa prepare > > If you fix the issue, kindly add following tag where applicable > | Reported-by: kernel test robot <lkp@xxxxxxxxx> > > All errors (new ones prefixed by >>): > > In file included from include/linux/io.h:13, > from include/linux/irq.h:20, > from include/asm-generic/hardirq.h:17, > from ./arch/xtensa/include/generated/asm/hardirq.h:1, > from include/linux/hardirq.h:11, > 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/xtensa/kernel/asm-offsets.c:24: > arch/xtensa/include/asm/io.h: In function 'ioremap_cache': > >> arch/xtensa/include/asm/io.h:56:55: error: 'XCHAL_KIO_CACHED_VADDR' undeclared (first use in this function); did you mean 'XCHAL_KIO_BYPASS_VADDR'? > 56 | return (void*)(offset-XCHAL_KIO_PADDR+XCHAL_KIO_CACHED_VADDR); > | ^~~~~~~~~~~~~~~~~~~~~~ > | XCHAL_KIO_BYPASS_VADDR > arch/xtensa/include/asm/io.h:56:55: note: each undeclared identifier is reported only once for each function it appears in > make[2]: *** [scripts/Makefile.build:118: arch/xtensa/kernel/asm-offsets.s] Error 1 > make[2]: Target '__build' not remade because of errors. > make[1]: *** [Makefile:1276: prepare0] Error 2 > make[1]: Target 'prepare' not remade because of errors. > make: *** [Makefile:231: __sub-make] Error 2 > make: Target 'prepare' not remade because of errors. Thanks for reporting. With the provided nommu config, I reproduced above compiling error and fix it with below change. I will merge it to the xtensa patch in v4 post. ===== In <asm/io.h>, the io memory mapping funcions should be wrapped inside CONFIG_MMU ifdeffery scope. Otherwise it will cause compiling error when nommu is enabled. Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Reported-by: kernel test robot <lkp@xxxxxxxxx> diff --git a/arch/xtensa/include/asm/io.h b/arch/xtensa/include/asm/io.h index 126af8de5722..3331de4e692d 100644 --- a/arch/xtensa/include/asm/io.h +++ b/arch/xtensa/include/asm/io.h @@ -24,6 +24,7 @@ #define IO_SPACE_LIMIT ~0 #define PCI_IOBASE ((void __iomem *)XCHAL_KIO_BYPASS_VADDR) +#ifdef CONFIG_MMU /* * I/O memory mapping functions. */ @@ -59,6 +60,7 @@ static inline void __iomem *ioremap_cache(unsigned long offset, } #define ioremap_cache ioremap_cache +#endif /* CONFIG_MMU */ #include <asm-generic/io.h>