All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Greentime Hu <green.hu@gmail.com>
Cc: kbuild-all@01.org, greentime@andestech.com,
	linux-kernel@vger.kernel.org, arnd@arndb.de,
	linux-arch@vger.kernel.org, tglx@linutronix.de,
	jason@lakedaemon.net, marc.zyngier@arm.com, robh+dt@kernel.org,
	netdev@vger.kernel.org, deanbo422@gmail.com,
	devicetree@vger.kernel.org, viro@zeniv.linux.org.uk,
	dhowells@redhat.com, will.deacon@arm.com,
	daniel.lezcano@linaro.org, linux-serial@vger.kernel.org,
	geert.uytterhoeven@gmail.com, linus.walleij@linaro.org,
	mark.rutland@arm.com, greg@kroah.com, ren_guo@c-sky.com,
	rdunlap@infradead.org, davem@davemloft.net, jonas@southpole.se,
	stefan.kristiansson@saunalahti.fi, shorne@gmail.com,
	green.hu@gmail.com, Vincent Chen <vincentc@andestech.com>
Subject: Re: [PATCH v7 02/37] asm-generic/io.h: move ioremap_nocache/ioremap_uc/ioremap_wc/ioremap_wt out of ifndef CONFIG_MMU
Date: Fri, 16 Feb 2018 17:30:28 +0800	[thread overview]
Message-ID: <201802161724.hKyflUz5%fengguang.wu@intel.com> (raw)
In-Reply-To: <ff404658ececd53f1bf111067c587c4e3eb695af.1518505384.git.greentime@andestech.com>

[-- Attachment #1: Type: text/plain, Size: 8655 bytes --]

Hi Greentime,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v4.16-rc1 next-20180216]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Greentime-Hu/Andes-nds32-Linux-Kernel-Port/20180216-155013
config: cris-etrax-100lx_v2_defconfig (attached as .config)
compiler: cris-linux-gcc (GCC) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=cris 

All warnings (new ones prefixed by >>):

   In file included from arch/cris/include/asm/io.h:24:0,
                    from include/linux/io.h:25,
                    from arch/cris/mm/ioremap.c:14:
   include/asm-generic/io.h:864:15: error: conflicting types for 'ioremap'
    void __iomem *ioremap(phys_addr_t phys_addr, size_t size);
                  ^~~~~~~
   In file included from include/linux/io.h:25:0,
                    from arch/cris/mm/ioremap.c:14:
   arch/cris/include/asm/io.h:15:30: note: previous definition of 'ioremap' was here
    static inline void __iomem * ioremap (unsigned long offset, unsigned long size)
                                 ^~~~~~~
   In file included from arch/cris/include/asm/io.h:24:0,
                    from include/linux/io.h:25,
                    from arch/cris/mm/ioremap.c:14:
   include/asm-generic/io.h:865:25: error: conflicting types for 'ioremap_nocache'
    #define ioremap_nocache ioremap_nocache
                            ^
   include/asm-generic/io.h:866:29: note: in expansion of macro 'ioremap_nocache'
    static inline void __iomem *ioremap_nocache(phys_addr_t offset, size_t size)
                                ^~~~~~~~~~~~~~~
   In file included from include/linux/io.h:25:0,
                    from arch/cris/mm/ioremap.c:14:
   arch/cris/include/asm/io.h:22:23: note: previous declaration of 'ioremap_nocache' was here
    extern void __iomem * ioremap_nocache(unsigned long offset, unsigned long size);
                          ^~~~~~~~~~~~~~~
   In file included from arch/cris/include/asm/io.h:24:0,
                    from include/linux/io.h:25,
                    from arch/cris/mm/ioremap.c:14:
   include/asm-generic/io.h:865:25: error: conflicting types for 'ioremap_nocache'
    #define ioremap_nocache ioremap_nocache
                            ^
>> arch/cris/mm/ioremap.c:80:15: note: in expansion of macro 'ioremap_nocache'
    void __iomem *ioremap_nocache(unsigned long phys_addr, unsigned long size)
                  ^~~~~~~~~~~~~~~
   include/asm-generic/io.h:865:25: note: previous definition of 'ioremap_nocache' was here
    #define ioremap_nocache ioremap_nocache
                            ^
   include/asm-generic/io.h:866:29: note: in expansion of macro 'ioremap_nocache'
    static inline void __iomem *ioremap_nocache(phys_addr_t offset, size_t size)
                                ^~~~~~~~~~~~~~~

vim +/ioremap_nocache +80 arch/cris/mm/ioremap.c

e32cbc3d Haavard Skinnemoen 2006-09-30 @14  #include <linux/io.h>
^1da177e Linus Torvalds     2005-04-16  15  #include <asm/pgalloc.h>
556dcee7 Jesper Nilsson     2008-10-21  16  #include <arch/memmap.h>
^1da177e Linus Torvalds     2005-04-16  17  
^1da177e Linus Torvalds     2005-04-16  18  /*
^1da177e Linus Torvalds     2005-04-16  19   * Generic mapping function (not visible outside):
^1da177e Linus Torvalds     2005-04-16  20   */
^1da177e Linus Torvalds     2005-04-16  21  
^1da177e Linus Torvalds     2005-04-16  22  /*
^1da177e Linus Torvalds     2005-04-16  23   * Remap an arbitrary physical address space into the kernel virtual
^1da177e Linus Torvalds     2005-04-16  24   * address space. Needed when the kernel wants to access high addresses
^1da177e Linus Torvalds     2005-04-16  25   * directly.
^1da177e Linus Torvalds     2005-04-16  26   *
^1da177e Linus Torvalds     2005-04-16  27   * NOTE! We need to allow non-page-aligned mappings too: we will obviously
^1da177e Linus Torvalds     2005-04-16  28   * have to convert them into an offset in a page-aligned mapping, but the
^1da177e Linus Torvalds     2005-04-16  29   * caller shouldn't need to know that small detail.
^1da177e Linus Torvalds     2005-04-16  30   */
4f18cfbf Mikael Starvik     2005-07-27  31  void __iomem * __ioremap_prot(unsigned long phys_addr, unsigned long size, pgprot_t prot)
^1da177e Linus Torvalds     2005-04-16  32  {
4f18cfbf Mikael Starvik     2005-07-27  33  	void __iomem * addr;
^1da177e Linus Torvalds     2005-04-16  34  	struct vm_struct * area;
^1da177e Linus Torvalds     2005-04-16  35  	unsigned long offset, last_addr;
^1da177e Linus Torvalds     2005-04-16  36  
^1da177e Linus Torvalds     2005-04-16  37  	/* Don't allow wraparound or zero size */
^1da177e Linus Torvalds     2005-04-16  38  	last_addr = phys_addr + size - 1;
^1da177e Linus Torvalds     2005-04-16  39  	if (!size || last_addr < phys_addr)
^1da177e Linus Torvalds     2005-04-16  40  		return NULL;
^1da177e Linus Torvalds     2005-04-16  41  
^1da177e Linus Torvalds     2005-04-16  42  	/*
^1da177e Linus Torvalds     2005-04-16  43  	 * Mappings have to be page-aligned
^1da177e Linus Torvalds     2005-04-16  44  	 */
^1da177e Linus Torvalds     2005-04-16  45  	offset = phys_addr & ~PAGE_MASK;
^1da177e Linus Torvalds     2005-04-16  46  	phys_addr &= PAGE_MASK;
^1da177e Linus Torvalds     2005-04-16  47  	size = PAGE_ALIGN(last_addr+1) - phys_addr;
^1da177e Linus Torvalds     2005-04-16  48  
^1da177e Linus Torvalds     2005-04-16  49  	/*
^1da177e Linus Torvalds     2005-04-16  50  	 * Ok, go for it..
^1da177e Linus Torvalds     2005-04-16  51  	 */
^1da177e Linus Torvalds     2005-04-16  52  	area = get_vm_area(size, VM_IOREMAP);
^1da177e Linus Torvalds     2005-04-16  53  	if (!area)
^1da177e Linus Torvalds     2005-04-16  54  		return NULL;
4f18cfbf Mikael Starvik     2005-07-27  55  	addr = (void __iomem *)area->addr;
e32cbc3d Haavard Skinnemoen 2006-09-30  56  	if (ioremap_page_range((unsigned long)addr, (unsigned long)addr + size,
e32cbc3d Haavard Skinnemoen 2006-09-30  57  			       phys_addr, prot)) {
4f18cfbf Mikael Starvik     2005-07-27  58  		vfree((void __force *)addr);
^1da177e Linus Torvalds     2005-04-16  59  		return NULL;
^1da177e Linus Torvalds     2005-04-16  60  	}
4f18cfbf Mikael Starvik     2005-07-27  61  	return (void __iomem *) (offset + (char __iomem *)addr);
4f18cfbf Mikael Starvik     2005-07-27  62  }
4f18cfbf Mikael Starvik     2005-07-27  63  
4f18cfbf Mikael Starvik     2005-07-27  64  void __iomem * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags)
4f18cfbf Mikael Starvik     2005-07-27  65  {
4f18cfbf Mikael Starvik     2005-07-27  66  	return __ioremap_prot(phys_addr, size,
4f18cfbf Mikael Starvik     2005-07-27  67  		              __pgprot(_PAGE_PRESENT | __READABLE |
4f18cfbf Mikael Starvik     2005-07-27  68  				       __WRITEABLE | _PAGE_GLOBAL |
4f18cfbf Mikael Starvik     2005-07-27  69  				       _PAGE_KERNEL | flags));
4f18cfbf Mikael Starvik     2005-07-27  70  }
4f18cfbf Mikael Starvik     2005-07-27  71  
4f18cfbf Mikael Starvik     2005-07-27  72  /**
4f18cfbf Mikael Starvik     2005-07-27  73   * ioremap_nocache     -   map bus memory into CPU space
4f18cfbf Mikael Starvik     2005-07-27  74   * @offset:    bus address of the memory
4f18cfbf Mikael Starvik     2005-07-27  75   * @size:      size of the resource to map
4f18cfbf Mikael Starvik     2005-07-27  76   *
4f18cfbf Mikael Starvik     2005-07-27  77   * Must be freed with iounmap.
4f18cfbf Mikael Starvik     2005-07-27  78   */
4f18cfbf Mikael Starvik     2005-07-27  79  
4f18cfbf Mikael Starvik     2005-07-27 @80  void __iomem *ioremap_nocache(unsigned long phys_addr, unsigned long size)
4f18cfbf Mikael Starvik     2005-07-27  81  {
4f18cfbf Mikael Starvik     2005-07-27  82          return __ioremap(phys_addr | MEM_NON_CACHEABLE, size, 0);
^1da177e Linus Torvalds     2005-04-16  83  }
82e6df1e Jesper Nilsson     2014-10-01  84  EXPORT_SYMBOL(ioremap_nocache);
^1da177e Linus Torvalds     2005-04-16  85  

:::::: The code at line 80 was first introduced by commit
:::::: 4f18cfbf0990bfc2e8e7706eeb9e5bef898ae923 [PATCH] CRIS update: mm

:::::: TO: Mikael Starvik <mikael.starvik@axis.com>
:::::: CC: Linus Torvalds <torvalds@g5.osdl.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 8927 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
To: Greentime Hu <green.hu-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: kbuild-all-JC7UmRfGjtg@public.gmane.org,
	greentime-MUIXKm3Oiri1Z/+hSey0Gg@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	arnd-r2nGTMty4D4@public.gmane.org,
	linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org,
	jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org,
	marc.zyngier-5wv7dgnIgG8@public.gmane.org,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	deanbo422-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn@public.gmane.org,
	dhowells-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	will.deacon-5wv7dgnIgG8@public.gmane.org,
	daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	linux-serial-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	geert.uytterhoeven-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	mark.rutland-5wv7dgnIgG8@public.gmane.org,
	greg-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org,
	ren_guo-Y+KPrCd2zL4AvxtiuMwx3w@public.gmane.org,
	rdunlap-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org,
	davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org,
	jonas-A9uVI2HLR7kOP4wsBPIw7w@public.gmane.org,
	stefan.kristiansson-MbMCFXIvDHJFcC0YU169RA@public.gmane.org,
	shorne-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	green.hu-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	Vincent Chen <vincentc-MUIXKm3Oiri1Z/+hSey0Gg@public.gmane.org>
Subject: Re: [PATCH v7 02/37] asm-generic/io.h: move ioremap_nocache/ioremap_uc/ioremap_wc/ioremap_wt out of ifndef CONFIG_MMU
Date: Fri, 16 Feb 2018 17:30:28 +0800	[thread overview]
Message-ID: <201802161724.hKyflUz5%fengguang.wu@intel.com> (raw)
In-Reply-To: <ff404658ececd53f1bf111067c587c4e3eb695af.1518505384.git.greentime-MUIXKm3Oiri1Z/+hSey0Gg@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 8703 bytes --]

Hi Greentime,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v4.16-rc1 next-20180216]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Greentime-Hu/Andes-nds32-Linux-Kernel-Port/20180216-155013
config: cris-etrax-100lx_v2_defconfig (attached as .config)
compiler: cris-linux-gcc (GCC) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=cris 

All warnings (new ones prefixed by >>):

   In file included from arch/cris/include/asm/io.h:24:0,
                    from include/linux/io.h:25,
                    from arch/cris/mm/ioremap.c:14:
   include/asm-generic/io.h:864:15: error: conflicting types for 'ioremap'
    void __iomem *ioremap(phys_addr_t phys_addr, size_t size);
                  ^~~~~~~
   In file included from include/linux/io.h:25:0,
                    from arch/cris/mm/ioremap.c:14:
   arch/cris/include/asm/io.h:15:30: note: previous definition of 'ioremap' was here
    static inline void __iomem * ioremap (unsigned long offset, unsigned long size)
                                 ^~~~~~~
   In file included from arch/cris/include/asm/io.h:24:0,
                    from include/linux/io.h:25,
                    from arch/cris/mm/ioremap.c:14:
   include/asm-generic/io.h:865:25: error: conflicting types for 'ioremap_nocache'
    #define ioremap_nocache ioremap_nocache
                            ^
   include/asm-generic/io.h:866:29: note: in expansion of macro 'ioremap_nocache'
    static inline void __iomem *ioremap_nocache(phys_addr_t offset, size_t size)
                                ^~~~~~~~~~~~~~~
   In file included from include/linux/io.h:25:0,
                    from arch/cris/mm/ioremap.c:14:
   arch/cris/include/asm/io.h:22:23: note: previous declaration of 'ioremap_nocache' was here
    extern void __iomem * ioremap_nocache(unsigned long offset, unsigned long size);
                          ^~~~~~~~~~~~~~~
   In file included from arch/cris/include/asm/io.h:24:0,
                    from include/linux/io.h:25,
                    from arch/cris/mm/ioremap.c:14:
   include/asm-generic/io.h:865:25: error: conflicting types for 'ioremap_nocache'
    #define ioremap_nocache ioremap_nocache
                            ^
>> arch/cris/mm/ioremap.c:80:15: note: in expansion of macro 'ioremap_nocache'
    void __iomem *ioremap_nocache(unsigned long phys_addr, unsigned long size)
                  ^~~~~~~~~~~~~~~
   include/asm-generic/io.h:865:25: note: previous definition of 'ioremap_nocache' was here
    #define ioremap_nocache ioremap_nocache
                            ^
   include/asm-generic/io.h:866:29: note: in expansion of macro 'ioremap_nocache'
    static inline void __iomem *ioremap_nocache(phys_addr_t offset, size_t size)
                                ^~~~~~~~~~~~~~~

vim +/ioremap_nocache +80 arch/cris/mm/ioremap.c

e32cbc3d Haavard Skinnemoen 2006-09-30 @14  #include <linux/io.h>
^1da177e Linus Torvalds     2005-04-16  15  #include <asm/pgalloc.h>
556dcee7 Jesper Nilsson     2008-10-21  16  #include <arch/memmap.h>
^1da177e Linus Torvalds     2005-04-16  17  
^1da177e Linus Torvalds     2005-04-16  18  /*
^1da177e Linus Torvalds     2005-04-16  19   * Generic mapping function (not visible outside):
^1da177e Linus Torvalds     2005-04-16  20   */
^1da177e Linus Torvalds     2005-04-16  21  
^1da177e Linus Torvalds     2005-04-16  22  /*
^1da177e Linus Torvalds     2005-04-16  23   * Remap an arbitrary physical address space into the kernel virtual
^1da177e Linus Torvalds     2005-04-16  24   * address space. Needed when the kernel wants to access high addresses
^1da177e Linus Torvalds     2005-04-16  25   * directly.
^1da177e Linus Torvalds     2005-04-16  26   *
^1da177e Linus Torvalds     2005-04-16  27   * NOTE! We need to allow non-page-aligned mappings too: we will obviously
^1da177e Linus Torvalds     2005-04-16  28   * have to convert them into an offset in a page-aligned mapping, but the
^1da177e Linus Torvalds     2005-04-16  29   * caller shouldn't need to know that small detail.
^1da177e Linus Torvalds     2005-04-16  30   */
4f18cfbf Mikael Starvik     2005-07-27  31  void __iomem * __ioremap_prot(unsigned long phys_addr, unsigned long size, pgprot_t prot)
^1da177e Linus Torvalds     2005-04-16  32  {
4f18cfbf Mikael Starvik     2005-07-27  33  	void __iomem * addr;
^1da177e Linus Torvalds     2005-04-16  34  	struct vm_struct * area;
^1da177e Linus Torvalds     2005-04-16  35  	unsigned long offset, last_addr;
^1da177e Linus Torvalds     2005-04-16  36  
^1da177e Linus Torvalds     2005-04-16  37  	/* Don't allow wraparound or zero size */
^1da177e Linus Torvalds     2005-04-16  38  	last_addr = phys_addr + size - 1;
^1da177e Linus Torvalds     2005-04-16  39  	if (!size || last_addr < phys_addr)
^1da177e Linus Torvalds     2005-04-16  40  		return NULL;
^1da177e Linus Torvalds     2005-04-16  41  
^1da177e Linus Torvalds     2005-04-16  42  	/*
^1da177e Linus Torvalds     2005-04-16  43  	 * Mappings have to be page-aligned
^1da177e Linus Torvalds     2005-04-16  44  	 */
^1da177e Linus Torvalds     2005-04-16  45  	offset = phys_addr & ~PAGE_MASK;
^1da177e Linus Torvalds     2005-04-16  46  	phys_addr &= PAGE_MASK;
^1da177e Linus Torvalds     2005-04-16  47  	size = PAGE_ALIGN(last_addr+1) - phys_addr;
^1da177e Linus Torvalds     2005-04-16  48  
^1da177e Linus Torvalds     2005-04-16  49  	/*
^1da177e Linus Torvalds     2005-04-16  50  	 * Ok, go for it..
^1da177e Linus Torvalds     2005-04-16  51  	 */
^1da177e Linus Torvalds     2005-04-16  52  	area = get_vm_area(size, VM_IOREMAP);
^1da177e Linus Torvalds     2005-04-16  53  	if (!area)
^1da177e Linus Torvalds     2005-04-16  54  		return NULL;
4f18cfbf Mikael Starvik     2005-07-27  55  	addr = (void __iomem *)area->addr;
e32cbc3d Haavard Skinnemoen 2006-09-30  56  	if (ioremap_page_range((unsigned long)addr, (unsigned long)addr + size,
e32cbc3d Haavard Skinnemoen 2006-09-30  57  			       phys_addr, prot)) {
4f18cfbf Mikael Starvik     2005-07-27  58  		vfree((void __force *)addr);
^1da177e Linus Torvalds     2005-04-16  59  		return NULL;
^1da177e Linus Torvalds     2005-04-16  60  	}
4f18cfbf Mikael Starvik     2005-07-27  61  	return (void __iomem *) (offset + (char __iomem *)addr);
4f18cfbf Mikael Starvik     2005-07-27  62  }
4f18cfbf Mikael Starvik     2005-07-27  63  
4f18cfbf Mikael Starvik     2005-07-27  64  void __iomem * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags)
4f18cfbf Mikael Starvik     2005-07-27  65  {
4f18cfbf Mikael Starvik     2005-07-27  66  	return __ioremap_prot(phys_addr, size,
4f18cfbf Mikael Starvik     2005-07-27  67  		              __pgprot(_PAGE_PRESENT | __READABLE |
4f18cfbf Mikael Starvik     2005-07-27  68  				       __WRITEABLE | _PAGE_GLOBAL |
4f18cfbf Mikael Starvik     2005-07-27  69  				       _PAGE_KERNEL | flags));
4f18cfbf Mikael Starvik     2005-07-27  70  }
4f18cfbf Mikael Starvik     2005-07-27  71  
4f18cfbf Mikael Starvik     2005-07-27  72  /**
4f18cfbf Mikael Starvik     2005-07-27  73   * ioremap_nocache     -   map bus memory into CPU space
4f18cfbf Mikael Starvik     2005-07-27  74   * @offset:    bus address of the memory
4f18cfbf Mikael Starvik     2005-07-27  75   * @size:      size of the resource to map
4f18cfbf Mikael Starvik     2005-07-27  76   *
4f18cfbf Mikael Starvik     2005-07-27  77   * Must be freed with iounmap.
4f18cfbf Mikael Starvik     2005-07-27  78   */
4f18cfbf Mikael Starvik     2005-07-27  79  
4f18cfbf Mikael Starvik     2005-07-27 @80  void __iomem *ioremap_nocache(unsigned long phys_addr, unsigned long size)
4f18cfbf Mikael Starvik     2005-07-27  81  {
4f18cfbf Mikael Starvik     2005-07-27  82          return __ioremap(phys_addr | MEM_NON_CACHEABLE, size, 0);
^1da177e Linus Torvalds     2005-04-16  83  }
82e6df1e Jesper Nilsson     2014-10-01  84  EXPORT_SYMBOL(ioremap_nocache);
^1da177e Linus Torvalds     2005-04-16  85  

:::::: The code at line 80 was first introduced by commit
:::::: 4f18cfbf0990bfc2e8e7706eeb9e5bef898ae923 [PATCH] CRIS update: mm

:::::: TO: Mikael Starvik <mikael.starvik-VrBV9hrLPhE@public.gmane.org>
:::::: CC: Linus Torvalds <torvalds-hNm40g4Ew95AfugRpC6u6w@public.gmane.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 8927 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: kbuild-all-JC7UmRfGjtg@public.gmane.org,
	greentime-MUIXKm3Oiri1Z/+hSey0Gg@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	arnd-r2nGTMty4D4@public.gmane.org,
	linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org,
	jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org,
	marc.zyngier-5wv7dgnIgG8@public.gmane.org,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	deanbo422-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn@public.gmane.org,
	dhowells-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	will.deacon-5wv7dgnIgG8@public.gmane.org,
	daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	linux-serial-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	geert.uytterhoeven-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	mark.rutland-5wv7dgnIgG8@public.gmane.org,
	greg-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org,
	ren_guo-Y+KPrCd2zL4AvxtiuMwx3w@public.gmane.org,
	rdunlap-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org,
	davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org,
	jonas-A9uVI2HLR7kOP4wsBPIw7w@public.gmane.org,
	stefan.kristiansson-MbMCFXIvDHJFcC0YU169RA@public.gmane.org,
	shorne-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	green.hu-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	Vincent Chen <vincentc-MUIXKm3Oiri1Z/+hSey0Gg@public.gmane.org>
Subject: Re: [PATCH v7 02/37] asm-generic/io.h: move ioremap_nocache/ioremap_uc/ioremap_wc/ioremap_wt out of ifndef CONFIG_MMU
Date: Fri, 16 Feb 2018 17:30:28 +0800	[thread overview]
Message-ID: <201802161724.hKyflUz5%fengguang.wu@intel.com> (raw)
In-Reply-To: <ff404658ececd53f1bf111067c587c4e3eb695af.1518505384.git.greentime-MUIXKm3Oiri1Z/+hSey0Gg@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 8703 bytes --]

Hi Greentime,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v4.16-rc1 next-20180216]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Greentime-Hu/Andes-nds32-Linux-Kernel-Port/20180216-155013
config: cris-etrax-100lx_v2_defconfig (attached as .config)
compiler: cris-linux-gcc (GCC) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=cris 

All warnings (new ones prefixed by >>):

   In file included from arch/cris/include/asm/io.h:24:0,
                    from include/linux/io.h:25,
                    from arch/cris/mm/ioremap.c:14:
   include/asm-generic/io.h:864:15: error: conflicting types for 'ioremap'
    void __iomem *ioremap(phys_addr_t phys_addr, size_t size);
                  ^~~~~~~
   In file included from include/linux/io.h:25:0,
                    from arch/cris/mm/ioremap.c:14:
   arch/cris/include/asm/io.h:15:30: note: previous definition of 'ioremap' was here
    static inline void __iomem * ioremap (unsigned long offset, unsigned long size)
                                 ^~~~~~~
   In file included from arch/cris/include/asm/io.h:24:0,
                    from include/linux/io.h:25,
                    from arch/cris/mm/ioremap.c:14:
   include/asm-generic/io.h:865:25: error: conflicting types for 'ioremap_nocache'
    #define ioremap_nocache ioremap_nocache
                            ^
   include/asm-generic/io.h:866:29: note: in expansion of macro 'ioremap_nocache'
    static inline void __iomem *ioremap_nocache(phys_addr_t offset, size_t size)
                                ^~~~~~~~~~~~~~~
   In file included from include/linux/io.h:25:0,
                    from arch/cris/mm/ioremap.c:14:
   arch/cris/include/asm/io.h:22:23: note: previous declaration of 'ioremap_nocache' was here
    extern void __iomem * ioremap_nocache(unsigned long offset, unsigned long size);
                          ^~~~~~~~~~~~~~~
   In file included from arch/cris/include/asm/io.h:24:0,
                    from include/linux/io.h:25,
                    from arch/cris/mm/ioremap.c:14:
   include/asm-generic/io.h:865:25: error: conflicting types for 'ioremap_nocache'
    #define ioremap_nocache ioremap_nocache
                            ^
>> arch/cris/mm/ioremap.c:80:15: note: in expansion of macro 'ioremap_nocache'
    void __iomem *ioremap_nocache(unsigned long phys_addr, unsigned long size)
                  ^~~~~~~~~~~~~~~
   include/asm-generic/io.h:865:25: note: previous definition of 'ioremap_nocache' was here
    #define ioremap_nocache ioremap_nocache
                            ^
   include/asm-generic/io.h:866:29: note: in expansion of macro 'ioremap_nocache'
    static inline void __iomem *ioremap_nocache(phys_addr_t offset, size_t size)
                                ^~~~~~~~~~~~~~~

vim +/ioremap_nocache +80 arch/cris/mm/ioremap.c

e32cbc3d Haavard Skinnemoen 2006-09-30 @14  #include <linux/io.h>
^1da177e Linus Torvalds     2005-04-16  15  #include <asm/pgalloc.h>
556dcee7 Jesper Nilsson     2008-10-21  16  #include <arch/memmap.h>
^1da177e Linus Torvalds     2005-04-16  17  
^1da177e Linus Torvalds     2005-04-16  18  /*
^1da177e Linus Torvalds     2005-04-16  19   * Generic mapping function (not visible outside):
^1da177e Linus Torvalds     2005-04-16  20   */
^1da177e Linus Torvalds     2005-04-16  21  
^1da177e Linus Torvalds     2005-04-16  22  /*
^1da177e Linus Torvalds     2005-04-16  23   * Remap an arbitrary physical address space into the kernel virtual
^1da177e Linus Torvalds     2005-04-16  24   * address space. Needed when the kernel wants to access high addresses
^1da177e Linus Torvalds     2005-04-16  25   * directly.
^1da177e Linus Torvalds     2005-04-16  26   *
^1da177e Linus Torvalds     2005-04-16  27   * NOTE! We need to allow non-page-aligned mappings too: we will obviously
^1da177e Linus Torvalds     2005-04-16  28   * have to convert them into an offset in a page-aligned mapping, but the
^1da177e Linus Torvalds     2005-04-16  29   * caller shouldn't need to know that small detail.
^1da177e Linus Torvalds     2005-04-16  30   */
4f18cfbf Mikael Starvik     2005-07-27  31  void __iomem * __ioremap_prot(unsigned long phys_addr, unsigned long size, pgprot_t prot)
^1da177e Linus Torvalds     2005-04-16  32  {
4f18cfbf Mikael Starvik     2005-07-27  33  	void __iomem * addr;
^1da177e Linus Torvalds     2005-04-16  34  	struct vm_struct * area;
^1da177e Linus Torvalds     2005-04-16  35  	unsigned long offset, last_addr;
^1da177e Linus Torvalds     2005-04-16  36  
^1da177e Linus Torvalds     2005-04-16  37  	/* Don't allow wraparound or zero size */
^1da177e Linus Torvalds     2005-04-16  38  	last_addr = phys_addr + size - 1;
^1da177e Linus Torvalds     2005-04-16  39  	if (!size || last_addr < phys_addr)
^1da177e Linus Torvalds     2005-04-16  40  		return NULL;
^1da177e Linus Torvalds     2005-04-16  41  
^1da177e Linus Torvalds     2005-04-16  42  	/*
^1da177e Linus Torvalds     2005-04-16  43  	 * Mappings have to be page-aligned
^1da177e Linus Torvalds     2005-04-16  44  	 */
^1da177e Linus Torvalds     2005-04-16  45  	offset = phys_addr & ~PAGE_MASK;
^1da177e Linus Torvalds     2005-04-16  46  	phys_addr &= PAGE_MASK;
^1da177e Linus Torvalds     2005-04-16  47  	size = PAGE_ALIGN(last_addr+1) - phys_addr;
^1da177e Linus Torvalds     2005-04-16  48  
^1da177e Linus Torvalds     2005-04-16  49  	/*
^1da177e Linus Torvalds     2005-04-16  50  	 * Ok, go for it..
^1da177e Linus Torvalds     2005-04-16  51  	 */
^1da177e Linus Torvalds     2005-04-16  52  	area = get_vm_area(size, VM_IOREMAP);
^1da177e Linus Torvalds     2005-04-16  53  	if (!area)
^1da177e Linus Torvalds     2005-04-16  54  		return NULL;
4f18cfbf Mikael Starvik     2005-07-27  55  	addr = (void __iomem *)area->addr;
e32cbc3d Haavard Skinnemoen 2006-09-30  56  	if (ioremap_page_range((unsigned long)addr, (unsigned long)addr + size,
e32cbc3d Haavard Skinnemoen 2006-09-30  57  			       phys_addr, prot)) {
4f18cfbf Mikael Starvik     2005-07-27  58  		vfree((void __force *)addr);
^1da177e Linus Torvalds     2005-04-16  59  		return NULL;
^1da177e Linus Torvalds     2005-04-16  60  	}
4f18cfbf Mikael Starvik     2005-07-27  61  	return (void __iomem *) (offset + (char __iomem *)addr);
4f18cfbf Mikael Starvik     2005-07-27  62  }
4f18cfbf Mikael Starvik     2005-07-27  63  
4f18cfbf Mikael Starvik     2005-07-27  64  void __iomem * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags)
4f18cfbf Mikael Starvik     2005-07-27  65  {
4f18cfbf Mikael Starvik     2005-07-27  66  	return __ioremap_prot(phys_addr, size,
4f18cfbf Mikael Starvik     2005-07-27  67  		              __pgprot(_PAGE_PRESENT | __READABLE |
4f18cfbf Mikael Starvik     2005-07-27  68  				       __WRITEABLE | _PAGE_GLOBAL |
4f18cfbf Mikael Starvik     2005-07-27  69  				       _PAGE_KERNEL | flags));
4f18cfbf Mikael Starvik     2005-07-27  70  }
4f18cfbf Mikael Starvik     2005-07-27  71  
4f18cfbf Mikael Starvik     2005-07-27  72  /**
4f18cfbf Mikael Starvik     2005-07-27  73   * ioremap_nocache     -   map bus memory into CPU space
4f18cfbf Mikael Starvik     2005-07-27  74   * @offset:    bus address of the memory
4f18cfbf Mikael Starvik     2005-07-27  75   * @size:      size of the resource to map
4f18cfbf Mikael Starvik     2005-07-27  76   *
4f18cfbf Mikael Starvik     2005-07-27  77   * Must be freed with iounmap.
4f18cfbf Mikael Starvik     2005-07-27  78   */
4f18cfbf Mikael Starvik     2005-07-27  79  
4f18cfbf Mikael Starvik     2005-07-27 @80  void __iomem *ioremap_nocache(unsigned long phys_addr, unsigned long size)
4f18cfbf Mikael Starvik     2005-07-27  81  {
4f18cfbf Mikael Starvik     2005-07-27  82          return __ioremap(phys_addr | MEM_NON_CACHEABLE, size, 0);
^1da177e Linus Torvalds     2005-04-16  83  }
82e6df1e Jesper Nilsson     2014-10-01  84  EXPORT_SYMBOL(ioremap_nocache);
^1da177e Linus Torvalds     2005-04-16  85  

:::::: The code at line 80 was first introduced by commit
:::::: 4f18cfbf0990bfc2e8e7706eeb9e5bef898ae923 [PATCH] CRIS update: mm

:::::: TO: Mikael Starvik <mikael.starvik-VrBV9hrLPhE@public.gmane.org>
:::::: CC: Linus Torvalds <torvalds-hNm40g4Ew95AfugRpC6u6w@public.gmane.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 8927 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
To: Greentime Hu <green.hu@gmail.com>
Cc: kbuild-all@01.org, greentime@andestech.com,
	linux-kernel@vger.kernel.org, arnd@arndb.de,
	linux-arch@vger.kernel.org, tglx@linutronix.de,
	jason@lakedaemon.net, marc.zyngier@arm.com, robh+dt@kernel.org,
	netdev@vger.kernel.org, deanbo422@gmail.com,
	devicetree@vger.kernel.org, viro@zeniv.linux.org.uk,
	dhowells@redhat.com, will.deacon@arm.com,
	daniel.lezcano@linaro.org, linux-serial@vger.kernel.org,
	geert.uytterhoeven@gmail.com, linus.walleij@linaro.org,
	mark.rutland@arm.com, greg@kroah.com, ren_guo@c-sky.com,
	rdunlap@infradead.org, davem@davemloft.net, jonas@southpole.se,
	stefan.kristiansson@saunalahti.fi, shorne@gmail.com,
	Vincent Chen <vincentc@andestech.com>
Subject: Re: [PATCH v7 02/37] asm-generic/io.h: move ioremap_nocache/ioremap_uc/ioremap_wc/ioremap_wt out of ifndef CONFIG_MMU
Date: Fri, 16 Feb 2018 17:30:28 +0800	[thread overview]
Message-ID: <201802161724.hKyflUz5%fengguang.wu@intel.com> (raw)
Message-ID: <20180216093028.siU-fGhOjGD6-tDpoPAATXx3LleVWJfMPs7Qwipfcgs@z> (raw)
In-Reply-To: <ff404658ececd53f1bf111067c587c4e3eb695af.1518505384.git.greentime@andestech.com>

[-- Attachment #1: Type: text/plain, Size: 8655 bytes --]

Hi Greentime,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v4.16-rc1 next-20180216]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Greentime-Hu/Andes-nds32-Linux-Kernel-Port/20180216-155013
config: cris-etrax-100lx_v2_defconfig (attached as .config)
compiler: cris-linux-gcc (GCC) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=cris 

All warnings (new ones prefixed by >>):

   In file included from arch/cris/include/asm/io.h:24:0,
                    from include/linux/io.h:25,
                    from arch/cris/mm/ioremap.c:14:
   include/asm-generic/io.h:864:15: error: conflicting types for 'ioremap'
    void __iomem *ioremap(phys_addr_t phys_addr, size_t size);
                  ^~~~~~~
   In file included from include/linux/io.h:25:0,
                    from arch/cris/mm/ioremap.c:14:
   arch/cris/include/asm/io.h:15:30: note: previous definition of 'ioremap' was here
    static inline void __iomem * ioremap (unsigned long offset, unsigned long size)
                                 ^~~~~~~
   In file included from arch/cris/include/asm/io.h:24:0,
                    from include/linux/io.h:25,
                    from arch/cris/mm/ioremap.c:14:
   include/asm-generic/io.h:865:25: error: conflicting types for 'ioremap_nocache'
    #define ioremap_nocache ioremap_nocache
                            ^
   include/asm-generic/io.h:866:29: note: in expansion of macro 'ioremap_nocache'
    static inline void __iomem *ioremap_nocache(phys_addr_t offset, size_t size)
                                ^~~~~~~~~~~~~~~
   In file included from include/linux/io.h:25:0,
                    from arch/cris/mm/ioremap.c:14:
   arch/cris/include/asm/io.h:22:23: note: previous declaration of 'ioremap_nocache' was here
    extern void __iomem * ioremap_nocache(unsigned long offset, unsigned long size);
                          ^~~~~~~~~~~~~~~
   In file included from arch/cris/include/asm/io.h:24:0,
                    from include/linux/io.h:25,
                    from arch/cris/mm/ioremap.c:14:
   include/asm-generic/io.h:865:25: error: conflicting types for 'ioremap_nocache'
    #define ioremap_nocache ioremap_nocache
                            ^
>> arch/cris/mm/ioremap.c:80:15: note: in expansion of macro 'ioremap_nocache'
    void __iomem *ioremap_nocache(unsigned long phys_addr, unsigned long size)
                  ^~~~~~~~~~~~~~~
   include/asm-generic/io.h:865:25: note: previous definition of 'ioremap_nocache' was here
    #define ioremap_nocache ioremap_nocache
                            ^
   include/asm-generic/io.h:866:29: note: in expansion of macro 'ioremap_nocache'
    static inline void __iomem *ioremap_nocache(phys_addr_t offset, size_t size)
                                ^~~~~~~~~~~~~~~

vim +/ioremap_nocache +80 arch/cris/mm/ioremap.c

e32cbc3d Haavard Skinnemoen 2006-09-30 @14  #include <linux/io.h>
^1da177e Linus Torvalds     2005-04-16  15  #include <asm/pgalloc.h>
556dcee7 Jesper Nilsson     2008-10-21  16  #include <arch/memmap.h>
^1da177e Linus Torvalds     2005-04-16  17  
^1da177e Linus Torvalds     2005-04-16  18  /*
^1da177e Linus Torvalds     2005-04-16  19   * Generic mapping function (not visible outside):
^1da177e Linus Torvalds     2005-04-16  20   */
^1da177e Linus Torvalds     2005-04-16  21  
^1da177e Linus Torvalds     2005-04-16  22  /*
^1da177e Linus Torvalds     2005-04-16  23   * Remap an arbitrary physical address space into the kernel virtual
^1da177e Linus Torvalds     2005-04-16  24   * address space. Needed when the kernel wants to access high addresses
^1da177e Linus Torvalds     2005-04-16  25   * directly.
^1da177e Linus Torvalds     2005-04-16  26   *
^1da177e Linus Torvalds     2005-04-16  27   * NOTE! We need to allow non-page-aligned mappings too: we will obviously
^1da177e Linus Torvalds     2005-04-16  28   * have to convert them into an offset in a page-aligned mapping, but the
^1da177e Linus Torvalds     2005-04-16  29   * caller shouldn't need to know that small detail.
^1da177e Linus Torvalds     2005-04-16  30   */
4f18cfbf Mikael Starvik     2005-07-27  31  void __iomem * __ioremap_prot(unsigned long phys_addr, unsigned long size, pgprot_t prot)
^1da177e Linus Torvalds     2005-04-16  32  {
4f18cfbf Mikael Starvik     2005-07-27  33  	void __iomem * addr;
^1da177e Linus Torvalds     2005-04-16  34  	struct vm_struct * area;
^1da177e Linus Torvalds     2005-04-16  35  	unsigned long offset, last_addr;
^1da177e Linus Torvalds     2005-04-16  36  
^1da177e Linus Torvalds     2005-04-16  37  	/* Don't allow wraparound or zero size */
^1da177e Linus Torvalds     2005-04-16  38  	last_addr = phys_addr + size - 1;
^1da177e Linus Torvalds     2005-04-16  39  	if (!size || last_addr < phys_addr)
^1da177e Linus Torvalds     2005-04-16  40  		return NULL;
^1da177e Linus Torvalds     2005-04-16  41  
^1da177e Linus Torvalds     2005-04-16  42  	/*
^1da177e Linus Torvalds     2005-04-16  43  	 * Mappings have to be page-aligned
^1da177e Linus Torvalds     2005-04-16  44  	 */
^1da177e Linus Torvalds     2005-04-16  45  	offset = phys_addr & ~PAGE_MASK;
^1da177e Linus Torvalds     2005-04-16  46  	phys_addr &= PAGE_MASK;
^1da177e Linus Torvalds     2005-04-16  47  	size = PAGE_ALIGN(last_addr+1) - phys_addr;
^1da177e Linus Torvalds     2005-04-16  48  
^1da177e Linus Torvalds     2005-04-16  49  	/*
^1da177e Linus Torvalds     2005-04-16  50  	 * Ok, go for it..
^1da177e Linus Torvalds     2005-04-16  51  	 */
^1da177e Linus Torvalds     2005-04-16  52  	area = get_vm_area(size, VM_IOREMAP);
^1da177e Linus Torvalds     2005-04-16  53  	if (!area)
^1da177e Linus Torvalds     2005-04-16  54  		return NULL;
4f18cfbf Mikael Starvik     2005-07-27  55  	addr = (void __iomem *)area->addr;
e32cbc3d Haavard Skinnemoen 2006-09-30  56  	if (ioremap_page_range((unsigned long)addr, (unsigned long)addr + size,
e32cbc3d Haavard Skinnemoen 2006-09-30  57  			       phys_addr, prot)) {
4f18cfbf Mikael Starvik     2005-07-27  58  		vfree((void __force *)addr);
^1da177e Linus Torvalds     2005-04-16  59  		return NULL;
^1da177e Linus Torvalds     2005-04-16  60  	}
4f18cfbf Mikael Starvik     2005-07-27  61  	return (void __iomem *) (offset + (char __iomem *)addr);
4f18cfbf Mikael Starvik     2005-07-27  62  }
4f18cfbf Mikael Starvik     2005-07-27  63  
4f18cfbf Mikael Starvik     2005-07-27  64  void __iomem * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags)
4f18cfbf Mikael Starvik     2005-07-27  65  {
4f18cfbf Mikael Starvik     2005-07-27  66  	return __ioremap_prot(phys_addr, size,
4f18cfbf Mikael Starvik     2005-07-27  67  		              __pgprot(_PAGE_PRESENT | __READABLE |
4f18cfbf Mikael Starvik     2005-07-27  68  				       __WRITEABLE | _PAGE_GLOBAL |
4f18cfbf Mikael Starvik     2005-07-27  69  				       _PAGE_KERNEL | flags));
4f18cfbf Mikael Starvik     2005-07-27  70  }
4f18cfbf Mikael Starvik     2005-07-27  71  
4f18cfbf Mikael Starvik     2005-07-27  72  /**
4f18cfbf Mikael Starvik     2005-07-27  73   * ioremap_nocache     -   map bus memory into CPU space
4f18cfbf Mikael Starvik     2005-07-27  74   * @offset:    bus address of the memory
4f18cfbf Mikael Starvik     2005-07-27  75   * @size:      size of the resource to map
4f18cfbf Mikael Starvik     2005-07-27  76   *
4f18cfbf Mikael Starvik     2005-07-27  77   * Must be freed with iounmap.
4f18cfbf Mikael Starvik     2005-07-27  78   */
4f18cfbf Mikael Starvik     2005-07-27  79  
4f18cfbf Mikael Starvik     2005-07-27 @80  void __iomem *ioremap_nocache(unsigned long phys_addr, unsigned long size)
4f18cfbf Mikael Starvik     2005-07-27  81  {
4f18cfbf Mikael Starvik     2005-07-27  82          return __ioremap(phys_addr | MEM_NON_CACHEABLE, size, 0);
^1da177e Linus Torvalds     2005-04-16  83  }
82e6df1e Jesper Nilsson     2014-10-01  84  EXPORT_SYMBOL(ioremap_nocache);
^1da177e Linus Torvalds     2005-04-16  85  

:::::: The code at line 80 was first introduced by commit
:::::: 4f18cfbf0990bfc2e8e7706eeb9e5bef898ae923 [PATCH] CRIS update: mm

:::::: TO: Mikael Starvik <mikael.starvik@axis.com>
:::::: CC: Linus Torvalds <torvalds@g5.osdl.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 8927 bytes --]

  reply	other threads:[~2018-02-16  9:30 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-13  9:09 [PATCH v7 00/37] Andes(nds32) Linux Kernel Port Greentime Hu
2018-02-13  9:09 ` Greentime Hu
2018-02-13  9:09 ` [PATCH v7 01/37] openrisc: add ioremap_nocache declaration before include asm-generic/io.h and sync ioremap prototype with it Greentime Hu
2018-02-13  9:09 ` [PATCH v7 02/37] asm-generic/io.h: move ioremap_nocache/ioremap_uc/ioremap_wc/ioremap_wt out of ifndef CONFIG_MMU Greentime Hu
2018-02-16  9:30   ` kbuild test robot [this message]
2018-02-16  9:30     ` kbuild test robot
2018-02-16  9:30     ` kbuild test robot
2018-02-16  9:30     ` kbuild test robot
2018-02-16 10:47   ` kbuild test robot
2018-02-16 10:47     ` kbuild test robot
2018-02-21 11:21     ` Greentime Hu
2018-02-21 11:37       ` Arnd Bergmann
2018-02-21 12:02         ` Greentime Hu
2018-02-13  9:09 ` [PATCH v7 03/37] sparc: io: To use the define of ioremap_[nocache|wc|wb] in asm-generic/io.h Greentime Hu
2018-02-14 14:43   ` Arnd Bergmann
2018-02-14 14:43     ` Arnd Bergmann
2018-02-14 14:43     ` Arnd Bergmann
2018-02-14 14:43     ` Arnd Bergmann
2018-02-21  8:05     ` Greentime Hu
2018-02-21  8:05       ` Greentime Hu
2018-02-21 12:27       ` Arnd Bergmann
2018-02-21 12:27         ` Arnd Bergmann
2018-02-13  9:09 ` [PATCH v7 04/37] earlycon: add reg-offset to physical address before mapping Greentime Hu
2018-02-13  9:09   ` Greentime Hu
2018-02-13  9:09   ` Greentime Hu
2018-02-15 15:40   ` Rob Herring
2018-02-15 15:40     ` Rob Herring
2018-02-15 15:40     ` Rob Herring
2018-02-28 12:39     ` Greg Kroah-Hartman
2018-02-28 12:39       ` Greg Kroah-Hartman
2018-02-28 12:39       ` Greg Kroah-Hartman
2018-02-13  9:09 ` [PATCH v7 05/37] drivers/video/concole: add negative dependency for VGA_CONSOLE on nds32 Greentime Hu
2018-02-13  9:09 ` [PATCH v7 06/37] nds32: Assembly macros and definitions Greentime Hu
2018-02-13  9:09 ` [PATCH v7 07/37] nds32: Kernel booting and initialization Greentime Hu
2018-02-14 14:35   ` Arnd Bergmann
2018-02-14 14:35     ` Arnd Bergmann
2018-02-14 14:35     ` Arnd Bergmann
2018-02-13  9:09 ` [PATCH v7 08/37] nds32: Exception handling Greentime Hu
2018-02-14 14:31   ` Arnd Bergmann
2018-02-14 14:31     ` Arnd Bergmann
2018-02-14 14:31     ` Arnd Bergmann
2018-02-13  9:09 ` [PATCH v7 09/37] nds32: MMU definitions Greentime Hu
2018-02-13  9:09 ` [PATCH v7 10/37] nds32: MMU initialization Greentime Hu
2018-02-13  9:09 ` [PATCH v7 11/37] nds32: MMU fault handling and page table management Greentime Hu
2018-02-13  9:09 ` [PATCH v7 12/37] nds32: Cache and TLB routines Greentime Hu
2018-02-13  9:09 ` [PATCH v7 13/37] nds32: Process management Greentime Hu
2018-02-13  9:09 ` [PATCH v7 14/37] nds32: IRQ handling Greentime Hu
2018-02-13  9:09 ` [PATCH v7 15/37] nds32: Atomic operations Greentime Hu
2018-02-13  9:09 ` [PATCH v7 16/37] nds32: Device specific operations Greentime Hu
2018-02-13  9:09 ` [PATCH v7 17/37] nds32: DMA mapping API Greentime Hu
2018-02-13  9:09 ` [PATCH v7 18/37] nds32: ELF definitions Greentime Hu
2018-02-13  9:09 ` [PATCH v7 19/37] nds32: System calls handling Greentime Hu
2018-02-13  9:09 ` [PATCH v7 20/37] nds32: VDSO support Greentime Hu
2018-02-13  9:09   ` Greentime Hu
2018-02-13  9:09 ` [PATCH v7 21/37] nds32: Signal handling support Greentime Hu
2018-02-13  9:09 ` [PATCH v7 22/37] nds32: Library functions Greentime Hu
2018-02-13  9:09 ` [PATCH v7 23/37] nds32: Debugging support Greentime Hu
2018-02-14 14:32   ` Arnd Bergmann
2018-02-14 14:32     ` Arnd Bergmann
2018-02-14 14:32     ` Arnd Bergmann
2018-02-13  9:09 ` [PATCH v7 24/37] nds32: L2 cache support Greentime Hu
2018-02-13  9:09 ` [PATCH v7 25/37] nds32: Loadable modules Greentime Hu
2018-02-13  9:09 ` [PATCH v7 26/37] nds32: Generic timers support Greentime Hu
2018-02-13  9:09 ` [PATCH v7 27/37] nds32: Device tree support Greentime Hu
2018-02-13  9:09 ` [PATCH v7 28/37] nds32: Miscellaneous header files Greentime Hu
2018-02-13  9:09 ` [PATCH v7 29/37] nds32: defconfig Greentime Hu
2018-02-13  9:09 ` [PATCH v7 30/37] nds32: Build infrastructure Greentime Hu
2018-02-14 14:34   ` Arnd Bergmann
2018-02-14 14:34     ` Arnd Bergmann
2018-02-14 14:34     ` Arnd Bergmann
2018-02-13  9:09 ` [PATCH v7 31/37] MAINTAINERS: Add nds32 Greentime Hu
2018-02-13 16:02   ` Joe Perches
2018-02-13 16:02     ` Joe Perches
2018-02-14  5:54     ` Greentime Hu
2018-02-14  5:54       ` Greentime Hu
2018-02-13  9:09 ` [PATCH v7 32/37] dt-bindings: nds32 CPU Bindings Greentime Hu
2018-02-13  9:09 ` [PATCH v7 33/37] dt-bindings: nds32 L2 cache controller Bindings Greentime Hu
2018-02-13  9:09 ` [PATCH v7 34/37] dt-bindings: nds32 SoC Bindings Greentime Hu
2018-02-13  9:09 ` [PATCH v7 35/37] dt-bindings: interrupt-controller: Andestech Internal Vector Interrupt Controller Greentime Hu
2018-02-13  9:09 ` [PATCH v7 36/37] irqchip: Andestech Internal Vector Interrupt Controller driver Greentime Hu
2018-02-13  9:09 ` [PATCH v7 37/37] net: faraday add nds32 support Greentime Hu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201802161724.hKyflUz5%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=arnd@arndb.de \
    --cc=daniel.lezcano@linaro.org \
    --cc=davem@davemloft.net \
    --cc=deanbo422@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dhowells@redhat.com \
    --cc=geert.uytterhoeven@gmail.com \
    --cc=green.hu@gmail.com \
    --cc=greentime@andestech.com \
    --cc=greg@kroah.com \
    --cc=jason@lakedaemon.net \
    --cc=jonas@southpole.se \
    --cc=kbuild-all@01.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=marc.zyngier@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=netdev@vger.kernel.org \
    --cc=rdunlap@infradead.org \
    --cc=ren_guo@c-sky.com \
    --cc=robh+dt@kernel.org \
    --cc=shorne@gmail.com \
    --cc=stefan.kristiansson@saunalahti.fi \
    --cc=tglx@linutronix.de \
    --cc=vincentc@andestech.com \
    --cc=viro@zeniv.linux.org.uk \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.