[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 10 Oct 2022 10:47:01 +0800
From: Baoquan He <bhe@...hat.com>
To: kernel test robot <lkp@...el.com>
Cc: linux-kernel@...r.kernel.org, kbuild-all@...ts.01.org,
linux-mm@...ck.org, akpm@...ux-foundation.org, hch@...radead.org,
agordeev@...ux.ibm.com, wangkefeng.wang@...wei.com,
christophe.leroy@...roup.eu, schnelle@...ux.ibm.com,
David.Laight@...lab.com, shorne@...il.com,
Chris Zankel <chris@...kel.net>,
Max Filippov <jcmvbkbc@...il.com>,
linux-xtensa@...ux-xtensa.org
Subject: Re: [PATCH v3 11/11] xtensa: mm: Convert to GENERIC_IOREMAP
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@...el.com>
>
> 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@...hat.com>
Reported-by: kernel test robot <lkp@...el.com>
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>
Powered by blists - more mailing lists