lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 21 Feb 2018 19:21:20 +0800
From:   Greentime Hu <green.hu@...il.com>
To:     kbuild test robot <lkp@...el.com>
Cc:     kbuild-all@...org, Greentime <greentime@...estech.com>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Arnd Bergmann <arnd@...db.de>,
        linux-arch <linux-arch@...r.kernel.org>,
        Thomas Gleixner <tglx@...utronix.de>,
        Jason Cooper <jason@...edaemon.net>,
        Marc Zyngier <marc.zyngier@....com>,
        Rob Herring <robh+dt@...nel.org>,
        netdev <netdev@...r.kernel.org>,
        Vincent Chen <deanbo422@...il.com>,
        DTML <devicetree@...r.kernel.org>,
        Al Viro <viro@...iv.linux.org.uk>,
        David Howells <dhowells@...hat.com>,
        Will Deacon <will.deacon@....com>,
        Daniel Lezcano <daniel.lezcano@...aro.org>,
        linux-serial@...r.kernel.org,
        Geert Uytterhoeven <geert.uytterhoeven@...il.com>,
        Linus Walleij <linus.walleij@...aro.org>,
        Mark Rutland <mark.rutland@....com>, Greg KH <greg@...ah.com>,
        Guo Ren <ren_guo@...ky.com>,
        Randy Dunlap <rdunlap@...radead.org>,
        David Miller <davem@...emloft.net>,
        Jonas Bonn <jonas@...thpole.se>,
        Stefan Kristiansson <stefan.kristiansson@...nalahti.fi>,
        Stafford Horne <shorne@...il.com>,
        Vincent Chen <vincentc@...estech.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

2018-02-16 18:47 GMT+08:00 kbuild test robot <lkp@...el.com>:
> Hi Greentime,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on linus/master]
> [also build test ERROR 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: xtensa-allmodconfig (attached as .config)
> compiler: xtensa-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=xtensa
>
> All error/warnings (new ones prefixed by >>):
>
>    In file included from /kbuild/src/consumer/arch/xtensa/include/asm/io.h:82:0,
>                     from /kbuild/src/consumer/include/linux/io.h:25,
>                     from /kbuild/src/consumer/drivers//staging/comedi/drivers/comedi_8254.c:118:
>>> /kbuild/src/consumer/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 /kbuild/src/consumer/include/linux/io.h:25:0,
>                     from /kbuild/src/consumer/drivers//staging/comedi/drivers/comedi_8254.c:118:
>    /kbuild/src/consumer/arch/xtensa/include/asm/io.h:59:29: note: previous definition of 'ioremap' was here
>     static inline void __iomem *ioremap(unsigned long offset, unsigned long size)
>                                 ^~~~~~~
>    In file included from /kbuild/src/consumer/arch/xtensa/include/asm/io.h:82:0,
>                     from /kbuild/src/consumer/include/linux/io.h:25,
>                     from /kbuild/src/consumer/drivers//staging/comedi/drivers/comedi_8254.c:118:
>>> /kbuild/src/consumer/include/asm-generic/io.h:865:25: error: conflicting types for 'ioremap_nocache'
>     #define ioremap_nocache ioremap_nocache
>                             ^
>>> /kbuild/src/consumer/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 /kbuild/src/consumer/include/linux/io.h:25:0,
>                     from /kbuild/src/consumer/drivers//staging/comedi/drivers/comedi_8254.c:118:
>    /kbuild/src/consumer/arch/xtensa/include/asm/io.h:35:29: note: previous definition of 'ioremap_nocache' was here
>     static inline void __iomem *ioremap_nocache(unsigned long offset,
>                                 ^~~~~~~~~~~~~~~
> --
>    In file included from /kbuild/src/consumer/arch/xtensa/include/asm/io.h:82:0,
>                     from /kbuild/src/consumer/include/linux/io.h:25,
>                     from /kbuild/src/consumer/include/linux/irq.h:25,
>                     from /kbuild/src/consumer/include/asm-generic/hardirq.h:13,
>                     from ./arch/xtensa/include/generated/asm/hardirq.h:1,
>                     from /kbuild/src/consumer/include/linux/hardirq.h:9,
>                     from /kbuild/src/consumer/include/linux/interrupt.h:13,
>                     from /kbuild/src/consumer/drivers//scsi/sym53c8xx_2/sym_glue.h:45,
>                     from /kbuild/src/consumer/drivers//scsi/sym53c8xx_2/sym_fw.c:40:
>>> /kbuild/src/consumer/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 /kbuild/src/consumer/include/linux/io.h:25:0,
>                     from /kbuild/src/consumer/include/linux/irq.h:25,
>                     from /kbuild/src/consumer/include/asm-generic/hardirq.h:13,
>                     from ./arch/xtensa/include/generated/asm/hardirq.h:1,
>                     from /kbuild/src/consumer/include/linux/hardirq.h:9,
>                     from /kbuild/src/consumer/include/linux/interrupt.h:13,
>                     from /kbuild/src/consumer/drivers//scsi/sym53c8xx_2/sym_glue.h:45,
>                     from /kbuild/src/consumer/drivers//scsi/sym53c8xx_2/sym_fw.c:40:
>    /kbuild/src/consumer/arch/xtensa/include/asm/io.h:59:29: note: previous definition of 'ioremap' was here
>     static inline void __iomem *ioremap(unsigned long offset, unsigned long size)
>                                 ^~~~~~~
>    In file included from /kbuild/src/consumer/arch/xtensa/include/asm/io.h:82:0,
>                     from /kbuild/src/consumer/include/linux/io.h:25,
>                     from /kbuild/src/consumer/include/linux/irq.h:25,
>                     from /kbuild/src/consumer/include/asm-generic/hardirq.h:13,
>                     from ./arch/xtensa/include/generated/asm/hardirq.h:1,
>                     from /kbuild/src/consumer/include/linux/hardirq.h:9,
>                     from /kbuild/src/consumer/include/linux/interrupt.h:13,
>                     from /kbuild/src/consumer/drivers//scsi/sym53c8xx_2/sym_glue.h:45,
>                     from /kbuild/src/consumer/drivers//scsi/sym53c8xx_2/sym_fw.c:40:
>>> /kbuild/src/consumer/include/asm-generic/io.h:865:25: error: conflicting types for 'ioremap_nocache'
>     #define ioremap_nocache ioremap_nocache
>                             ^
>>> /kbuild/src/consumer/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 /kbuild/src/consumer/include/linux/io.h:25:0,
>                     from /kbuild/src/consumer/include/linux/irq.h:25,
>                     from /kbuild/src/consumer/include/asm-generic/hardirq.h:13,
>                     from ./arch/xtensa/include/generated/asm/hardirq.h:1,
>                     from /kbuild/src/consumer/include/linux/hardirq.h:9,
>                     from /kbuild/src/consumer/include/linux/interrupt.h:13,
>                     from /kbuild/src/consumer/drivers//scsi/sym53c8xx_2/sym_glue.h:45,
>                     from /kbuild/src/consumer/drivers//scsi/sym53c8xx_2/sym_fw.c:40:
>    /kbuild/src/consumer/arch/xtensa/include/asm/io.h:35:29: note: previous definition of 'ioremap_nocache' was here
>     static inline void __iomem *ioremap_nocache(unsigned long offset,
>                                 ^~~~~~~~~~~~~~~
>    In file included from /kbuild/src/consumer/drivers//scsi/sym53c8xx_2/sym_glue.h:64:0,
>                     from /kbuild/src/consumer/drivers//scsi/sym53c8xx_2/sym_fw.c:40:
>    /kbuild/src/consumer/drivers//scsi/sym53c8xx_2/sym_defs.h:109:0: warning: "WSR" redefined
>      #define   WSR     0x01  /* sta: wide scsi received       [W]*/
>
>    In file included from /kbuild/src/consumer/arch/xtensa/include/asm/bitops.h:22:0,
>                     from /kbuild/src/consumer/include/linux/bitops.h:38,
>                     from /kbuild/src/consumer/include/linux/kernel.h:11,
>                     from /kbuild/src/consumer/include/linux/list.h:9,
>                     from /kbuild/src/consumer/include/linux/wait.h:7,
>                     from /kbuild/src/consumer/include/linux/completion.h:12,
>                     from /kbuild/src/consumer/drivers//scsi/sym53c8xx_2/sym_glue.h:43,
>                     from /kbuild/src/consumer/drivers//scsi/sym53c8xx_2/sym_fw.c:40:
>    /kbuild/src/consumer/arch/xtensa/include/asm/processor.h:220:0: note: this is the location of the previous definition
>     #define WSR(v,sr) __asm__ __volatile__ ("wsr %0,"__stringify(sr) :: "a"(v));
>
> --
>    In file included from /kbuild/src/consumer/arch/xtensa/include/asm/io.h:82:0,
>                     from /kbuild/src/consumer/include/linux/io.h:25,
>                     from /kbuild/src/consumer/include/linux/irq.h:25,
>                     from /kbuild/src/consumer/include/asm-generic/hardirq.h:13,
>                     from ./arch/xtensa/include/generated/asm/hardirq.h:1,
>                     from /kbuild/src/consumer/include/linux/hardirq.h:9,
>                     from /kbuild/src/consumer/include/linux/interrupt.h:13,
>                     from /kbuild/src/consumer/include/linux/pci.h:32,
>                     from /kbuild/src/consumer/drivers//net/ethernet/intel/ixgbe/ixgbe_main.c:31:
>>> /kbuild/src/consumer/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 /kbuild/src/consumer/include/linux/io.h:25:0,
>                     from /kbuild/src/consumer/include/linux/irq.h:25,
>                     from /kbuild/src/consumer/include/asm-generic/hardirq.h:13,
>                     from ./arch/xtensa/include/generated/asm/hardirq.h:1,
>                     from /kbuild/src/consumer/include/linux/hardirq.h:9,
>                     from /kbuild/src/consumer/include/linux/interrupt.h:13,
>                     from /kbuild/src/consumer/include/linux/pci.h:32,
>                     from /kbuild/src/consumer/drivers//net/ethernet/intel/ixgbe/ixgbe_main.c:31:
>    /kbuild/src/consumer/arch/xtensa/include/asm/io.h:59:29: note: previous definition of 'ioremap' was here
>     static inline void __iomem *ioremap(unsigned long offset, unsigned long size)
>                                 ^~~~~~~
>    In file included from /kbuild/src/consumer/arch/xtensa/include/asm/io.h:82:0,
>                     from /kbuild/src/consumer/include/linux/io.h:25,
>                     from /kbuild/src/consumer/include/linux/irq.h:25,
>                     from /kbuild/src/consumer/include/asm-generic/hardirq.h:13,
>                     from ./arch/xtensa/include/generated/asm/hardirq.h:1,
>                     from /kbuild/src/consumer/include/linux/hardirq.h:9,
>                     from /kbuild/src/consumer/include/linux/interrupt.h:13,
>                     from /kbuild/src/consumer/include/linux/pci.h:32,
>                     from /kbuild/src/consumer/drivers//net/ethernet/intel/ixgbe/ixgbe_main.c:31:
>>> /kbuild/src/consumer/include/asm-generic/io.h:865:25: error: conflicting types for 'ioremap_nocache'
>     #define ioremap_nocache ioremap_nocache
>                             ^
>>> /kbuild/src/consumer/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 /kbuild/src/consumer/include/linux/io.h:25:0,
>                     from /kbuild/src/consumer/include/linux/irq.h:25,
>                     from /kbuild/src/consumer/include/asm-generic/hardirq.h:13,
>                     from ./arch/xtensa/include/generated/asm/hardirq.h:1,
>                     from /kbuild/src/consumer/include/linux/hardirq.h:9,
>                     from /kbuild/src/consumer/include/linux/interrupt.h:13,
>                     from /kbuild/src/consumer/include/linux/pci.h:32,
>                     from /kbuild/src/consumer/drivers//net/ethernet/intel/ixgbe/ixgbe_main.c:31:
>    /kbuild/src/consumer/arch/xtensa/include/asm/io.h:35:29: note: previous definition of 'ioremap_nocache' was here
>     static inline void __iomem *ioremap_nocache(unsigned long offset,
>                                 ^~~~~~~~~~~~~~~
>    In file included from /kbuild/src/consumer/arch/xtensa/include/asm/atomic.h:21:0,
>                     from /kbuild/src/consumer/include/linux/atomic.h:5,
>                     from /kbuild/src/consumer/include/linux/debug_locks.h:6,
>                     from /kbuild/src/consumer/include/linux/lockdep.h:28,
>                     from /kbuild/src/consumer/include/linux/spinlock_types.h:18,
>                     from /kbuild/src/consumer/include/linux/spinlock.h:82,
>                     from /kbuild/src/consumer/include/linux/seqlock.h:36,
>                     from /kbuild/src/consumer/include/linux/time.h:6,
>                     from /kbuild/src/consumer/include/linux/stat.h:19,
>                     from /kbuild/src/consumer/include/linux/module.h:10,
>                     from /kbuild/src/consumer/drivers//net/ethernet/intel/ixgbe/ixgbe_main.c:30:
>    /kbuild/src/consumer/drivers//net/ethernet/intel/ixgbe/ixgbe_main.c: In function 'ixgbe_xdp_setup':
>    /kbuild/src/consumer/arch/xtensa/include/asm/cmpxchg.h:139:3: warning: value computed is not used [-Wunused-value]
>      ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr))))
>      ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    /kbuild/src/consumer/drivers//net/ethernet/intel/ixgbe/ixgbe_main.c:9949:4: note: in expansion of macro 'xchg'
>        xchg(&adapter->rx_ring[i]->xdp_prog, adapter->xdp_prog);
>        ^~~~
> --
>    In file included from /kbuild/src/consumer/arch/xtensa/include/asm/io.h:82:0,
>                     from /kbuild/src/consumer/include/linux/gameport.h:11,
>                     from /kbuild/src/consumer/drivers//input/joystick/analog.c:36:
>>> /kbuild/src/consumer/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 /kbuild/src/consumer/include/linux/gameport.h:11:0,
>                     from /kbuild/src/consumer/drivers//input/joystick/analog.c:36:
>    /kbuild/src/consumer/arch/xtensa/include/asm/io.h:59:29: note: previous definition of 'ioremap' was here
>     static inline void __iomem *ioremap(unsigned long offset, unsigned long size)
>                                 ^~~~~~~
>    In file included from /kbuild/src/consumer/arch/xtensa/include/asm/io.h:82:0,
>                     from /kbuild/src/consumer/include/linux/gameport.h:11,
>                     from /kbuild/src/consumer/drivers//input/joystick/analog.c:36:
>>> /kbuild/src/consumer/include/asm-generic/io.h:865:25: error: conflicting types for 'ioremap_nocache'
>     #define ioremap_nocache ioremap_nocache
>                             ^
>>> /kbuild/src/consumer/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 /kbuild/src/consumer/include/linux/gameport.h:11:0,
>                     from /kbuild/src/consumer/drivers//input/joystick/analog.c:36:
>    /kbuild/src/consumer/arch/xtensa/include/asm/io.h:35:29: note: previous definition of 'ioremap_nocache' was here
>     static inline void __iomem *ioremap_nocache(unsigned long offset,
>                                 ^~~~~~~~~~~~~~~
>    /kbuild/src/consumer/drivers//input/joystick/analog.c:176:2: warning: #warning Precise timer not defined for this architecture. [-Wcpp]
>     #warning Precise timer not defined for this architecture.
>      ^~~~~~~
> --
>    In file included from /kbuild/src/consumer/arch/xtensa/include/asm/io.h:82:0,
>                     from /kbuild/src/consumer/include/linux/io.h:25,
>                     from /kbuild/src/consumer/include/linux/irq.h:25,
>                     from /kbuild/src/consumer/include/asm-generic/hardirq.h:13,
>                     from ./arch/xtensa/include/generated/asm/hardirq.h:1,
>                     from /kbuild/src/consumer/include/linux/hardirq.h:9,
>                     from /kbuild/src/consumer/include/linux/interrupt.h:13,
>                     from /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/ib_verbs.c:39:
>>> /kbuild/src/consumer/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 /kbuild/src/consumer/include/linux/io.h:25:0,
>                     from /kbuild/src/consumer/include/linux/irq.h:25,
>                     from /kbuild/src/consumer/include/asm-generic/hardirq.h:13,
>                     from ./arch/xtensa/include/generated/asm/hardirq.h:1,
>                     from /kbuild/src/consumer/include/linux/hardirq.h:9,
>                     from /kbuild/src/consumer/include/linux/interrupt.h:13,
>                     from /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/ib_verbs.c:39:
>    /kbuild/src/consumer/arch/xtensa/include/asm/io.h:59:29: note: previous definition of 'ioremap' was here
>     static inline void __iomem *ioremap(unsigned long offset, unsigned long size)
>                                 ^~~~~~~
>    In file included from /kbuild/src/consumer/arch/xtensa/include/asm/io.h:82:0,
>                     from /kbuild/src/consumer/include/linux/io.h:25,
>                     from /kbuild/src/consumer/include/linux/irq.h:25,
>                     from /kbuild/src/consumer/include/asm-generic/hardirq.h:13,
>                     from ./arch/xtensa/include/generated/asm/hardirq.h:1,
>                     from /kbuild/src/consumer/include/linux/hardirq.h:9,
>                     from /kbuild/src/consumer/include/linux/interrupt.h:13,
>                     from /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/ib_verbs.c:39:
>>> /kbuild/src/consumer/include/asm-generic/io.h:865:25: error: conflicting types for 'ioremap_nocache'
>     #define ioremap_nocache ioremap_nocache
>                             ^
>>> /kbuild/src/consumer/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 /kbuild/src/consumer/include/linux/io.h:25:0,
>                     from /kbuild/src/consumer/include/linux/irq.h:25,
>                     from /kbuild/src/consumer/include/asm-generic/hardirq.h:13,
>                     from ./arch/xtensa/include/generated/asm/hardirq.h:1,
>                     from /kbuild/src/consumer/include/linux/hardirq.h:9,
>                     from /kbuild/src/consumer/include/linux/interrupt.h:13,
>                     from /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/ib_verbs.c:39:
>    /kbuild/src/consumer/arch/xtensa/include/asm/io.h:35:29: note: previous definition of 'ioremap_nocache' was here
>     static inline void __iomem *ioremap_nocache(unsigned long offset,
>                                 ^~~~~~~~~~~~~~~
>    In file included from /kbuild/src/consumer/include/linux/kernel.h:11:0,
>                     from /kbuild/src/consumer/include/linux/interrupt.h:6,
>                     from /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/ib_verbs.c:39:
>    /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/ib_verbs.c: In function 'bnxt_re_query_device':
>    /kbuild/src/consumer/include/linux/bitops.h:7:24: warning: left shift count >= width of type [-Wshift-count-overflow]
>     #define BIT(nr)   (1UL << (nr))
>                            ^
>    /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/bnxt_re.h:61:34: note: in expansion of macro 'BIT'
>     #define BNXT_RE_MAX_MR_SIZE_HIGH BIT(39)
>                                      ^~~
>    /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/bnxt_re.h:62:30: note: in expansion of macro 'BNXT_RE_MAX_MR_SIZE_HIGH'
>     #define BNXT_RE_MAX_MR_SIZE  BNXT_RE_MAX_MR_SIZE_HIGH
>                                  ^~~~~~~~~~~~~~~~~~~~~~~~
>    /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/ib_verbs.c:149:25: note: in expansion of macro 'BNXT_RE_MAX_MR_SIZE'
>      ib_attr->max_mr_size = BNXT_RE_MAX_MR_SIZE;
>                             ^~~~~~~~~~~~~~~~~~~
>    /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/ib_verbs.c: In function 'bnxt_re_reg_user_mr':
>    /kbuild/src/consumer/include/linux/bitops.h:7:24: warning: left shift count >= width of type [-Wshift-count-overflow]
>     #define BIT(nr)   (1UL << (nr))
>                            ^
>    /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/bnxt_re.h:61:34: note: in expansion of macro 'BIT'
>     #define BNXT_RE_MAX_MR_SIZE_HIGH BIT(39)
>                                      ^~~
>    /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/bnxt_re.h:62:30: note: in expansion of macro 'BNXT_RE_MAX_MR_SIZE_HIGH'
>     #define BNXT_RE_MAX_MR_SIZE  BNXT_RE_MAX_MR_SIZE_HIGH
>                                  ^~~~~~~~~~~~~~~~~~~~~~~~
>    /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/ib_verbs.c:3553:15: note: in expansion of macro 'BNXT_RE_MAX_MR_SIZE'
>      if (length > BNXT_RE_MAX_MR_SIZE) {
>                   ^~~~~~~~~~~~~~~~~~~
>    /kbuild/src/consumer/include/linux/bitops.h:7:24: warning: left shift count >= width of type [-Wshift-count-overflow]
>     #define BIT(nr)   (1UL << (nr))
>                            ^
>    /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/bnxt_re.h:61:34: note: in expansion of macro 'BIT'
>     #define BNXT_RE_MAX_MR_SIZE_HIGH BIT(39)
>                                      ^~~
>    /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/bnxt_re.h:62:30: note: in expansion of macro 'BNXT_RE_MAX_MR_SIZE_HIGH'
>     #define BNXT_RE_MAX_MR_SIZE  BNXT_RE_MAX_MR_SIZE_HIGH
>                                  ^~~~~~~~~~~~~~~~~~~~~~~~
>    /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/ib_verbs.c:3555:12: note: in expansion of macro 'BNXT_RE_MAX_MR_SIZE'
>        length, BNXT_RE_MAX_MR_SIZE);
>                ^~~~~~~~~~~~~~~~~~~
> --
>    In file included from /kbuild/src/consumer/arch/xtensa/include/asm/io.h:82:0,
>                     from /kbuild/src/consumer/include/linux/io.h:25,
>                     from /kbuild/src/consumer/include/linux/irq.h:25,
>                     from /kbuild/src/consumer/include/asm-generic/hardirq.h:13,
>                     from ./arch/xtensa/include/generated/asm/hardirq.h:1,
>                     from /kbuild/src/consumer/include/linux/hardirq.h:9,
>                     from /kbuild/src/consumer/include/linux/interrupt.h:13,
>                     from /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/qplib_fp.c:39:
>>> /kbuild/src/consumer/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 /kbuild/src/consumer/include/linux/io.h:25:0,
>                     from /kbuild/src/consumer/include/linux/irq.h:25,
>                     from /kbuild/src/consumer/include/asm-generic/hardirq.h:13,
>                     from ./arch/xtensa/include/generated/asm/hardirq.h:1,
>                     from /kbuild/src/consumer/include/linux/hardirq.h:9,
>                     from /kbuild/src/consumer/include/linux/interrupt.h:13,
>                     from /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/qplib_fp.c:39:
>    /kbuild/src/consumer/arch/xtensa/include/asm/io.h:59:29: note: previous definition of 'ioremap' was here
>     static inline void __iomem *ioremap(unsigned long offset, unsigned long size)
>                                 ^~~~~~~
>    In file included from /kbuild/src/consumer/arch/xtensa/include/asm/io.h:82:0,
>                     from /kbuild/src/consumer/include/linux/io.h:25,
>                     from /kbuild/src/consumer/include/linux/irq.h:25,
>                     from /kbuild/src/consumer/include/asm-generic/hardirq.h:13,
>                     from ./arch/xtensa/include/generated/asm/hardirq.h:1,
>                     from /kbuild/src/consumer/include/linux/hardirq.h:9,
>                     from /kbuild/src/consumer/include/linux/interrupt.h:13,
>                     from /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/qplib_fp.c:39:
>>> /kbuild/src/consumer/include/asm-generic/io.h:865:25: error: conflicting types for 'ioremap_nocache'
>     #define ioremap_nocache ioremap_nocache
>                             ^
>>> /kbuild/src/consumer/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 /kbuild/src/consumer/include/linux/io.h:25:0,
>                     from /kbuild/src/consumer/include/linux/irq.h:25,
>                     from /kbuild/src/consumer/include/asm-generic/hardirq.h:13,
>                     from ./arch/xtensa/include/generated/asm/hardirq.h:1,
>                     from /kbuild/src/consumer/include/linux/hardirq.h:9,
>                     from /kbuild/src/consumer/include/linux/interrupt.h:13,
>                     from /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/qplib_fp.c:39:
>    /kbuild/src/consumer/arch/xtensa/include/asm/io.h:35:29: note: previous definition of 'ioremap_nocache' was here
>     static inline void __iomem *ioremap_nocache(unsigned long offset,
>                                 ^~~~~~~~~~~~~~~
>    /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/qplib_fp.c: In function 'bnxt_qplib_service_nq':
>    /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/qplib_fp.c:333:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
>        bnxt_qplib_arm_srq((struct bnxt_qplib_srq *)q_handle,
>                           ^
>    /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/qplib_fp.c:336:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
>                (struct bnxt_qplib_srq *)q_handle,
>                ^
>    In file included from /kbuild/src/consumer/include/linux/swab.h:5:0,
>                     from /kbuild/src/consumer/include/uapi/linux/byteorder/big_endian.h:13,
>                     from /kbuild/src/consumer/include/linux/byteorder/big_endian.h:5,
>                     from /kbuild/src/consumer/arch/xtensa/include/uapi/asm/byteorder.h:8,
>                     from /kbuild/src/consumer/arch/xtensa/include/asm/bitops.h:23,
>                     from /kbuild/src/consumer/include/linux/bitops.h:38,
>                     from /kbuild/src/consumer/include/linux/kernel.h:11,
>                     from /kbuild/src/consumer/include/linux/interrupt.h:6,
>                     from /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/qplib_fp.c:39:
>    /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/qplib_fp.c: In function 'bnxt_qplib_create_srq':
>    /kbuild/src/consumer/include/uapi/linux/swab.h:130:24: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
>      (__builtin_constant_p((__u64)(x)) ? \
>                            ^
>    /kbuild/src/consumer/include/uapi/linux/byteorder/big_endian.h:31:43: note: in expansion of macro '__swab64'
>     #define __cpu_to_le64(x) ((__force __le64)__swab64((x)))
>                                               ^~~~~~~~
>    /kbuild/src/consumer/include/linux/byteorder/generic.h:86:21: note: in expansion of macro '__cpu_to_le64'
>     #define cpu_to_le64 __cpu_to_le64
>                         ^~~~~~~~~~~~~
>    /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/qplib_fp.c:567:19: note: in expansion of macro 'cpu_to_le64'
>      req.srq_handle = cpu_to_le64(srq);
>                       ^~~~~~~~~~~
>    /kbuild/src/consumer/include/uapi/linux/swab.h:24:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
>      (((__u64)(x) & (__u64)0x00000000000000ffULL) << 56) | \
>        ^
>    /kbuild/src/consumer/include/uapi/linux/swab.h:131:2: note: in expansion of macro '___constant_swab64'
>      ___constant_swab64(x) :   \
>      ^~~~~~~~~~~~~~~~~~
>    /kbuild/src/consumer/include/uapi/linux/byteorder/big_endian.h:31:43: note: in expansion of macro '__swab64'
>     #define __cpu_to_le64(x) ((__force __le64)__swab64((x)))
>                                               ^~~~~~~~
>    /kbuild/src/consumer/include/linux/byteorder/generic.h:86:21: note: in expansion of macro '__cpu_to_le64'
>     #define cpu_to_le64 __cpu_to_le64
>                         ^~~~~~~~~~~~~
>    /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/qplib_fp.c:567:19: note: in expansion of macro 'cpu_to_le64'
>      req.srq_handle = cpu_to_le64(srq);
>                       ^~~~~~~~~~~
>    /kbuild/src/consumer/include/uapi/linux/swab.h:25:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
>      (((__u64)(x) & (__u64)0x000000000000ff00ULL) << 40) | \
>        ^
>    /kbuild/src/consumer/include/uapi/linux/swab.h:131:2: note: in expansion of macro '___constant_swab64'
>      ___constant_swab64(x) :   \
>      ^~~~~~~~~~~~~~~~~~
>    /kbuild/src/consumer/include/uapi/linux/byteorder/big_endian.h:31:43: note: in expansion of macro '__swab64'
>     #define __cpu_to_le64(x) ((__force __le64)__swab64((x)))
>                                               ^~~~~~~~
>    /kbuild/src/consumer/include/linux/byteorder/generic.h:86:21: note: in expansion of macro '__cpu_to_le64'
>     #define cpu_to_le64 __cpu_to_le64
>                         ^~~~~~~~~~~~~
>    /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/qplib_fp.c:567:19: note: in expansion of macro 'cpu_to_le64'
>      req.srq_handle = cpu_to_le64(srq);
>                       ^~~~~~~~~~~
>    /kbuild/src/consumer/include/uapi/linux/swab.h:26:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
>      (((__u64)(x) & (__u64)0x0000000000ff0000ULL) << 24) | \
>        ^
>    /kbuild/src/consumer/include/uapi/linux/swab.h:131:2: note: in expansion of macro '___constant_swab64'
>      ___constant_swab64(x) :   \
>      ^~~~~~~~~~~~~~~~~~
>    /kbuild/src/consumer/include/uapi/linux/byteorder/big_endian.h:31:43: note: in expansion of macro '__swab64'
>     #define __cpu_to_le64(x) ((__force __le64)__swab64((x)))
>                                               ^~~~~~~~
>    /kbuild/src/consumer/include/linux/byteorder/generic.h:86:21: note: in expansion of macro '__cpu_to_le64'
>     #define cpu_to_le64 __cpu_to_le64
>                         ^~~~~~~~~~~~~
>    /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/qplib_fp.c:567:19: note: in expansion of macro 'cpu_to_le64'
>      req.srq_handle = cpu_to_le64(srq);
>                       ^~~~~~~~~~~
>    /kbuild/src/consumer/include/uapi/linux/swab.h:27:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
>      (((__u64)(x) & (__u64)0x00000000ff000000ULL) <<  8) | \
>        ^
>    /kbuild/src/consumer/include/uapi/linux/swab.h:131:2: note: in expansion of macro '___constant_swab64'
>      ___constant_swab64(x) :   \
>      ^~~~~~~~~~~~~~~~~~
>    /kbuild/src/consumer/include/uapi/linux/byteorder/big_endian.h:31:43: note: in expansion of macro '__swab64'
>     #define __cpu_to_le64(x) ((__force __le64)__swab64((x)))
>                                               ^~~~~~~~
>    /kbuild/src/consumer/include/linux/byteorder/generic.h:86:21: note: in expansion of macro '__cpu_to_le64'
>     #define cpu_to_le64 __cpu_to_le64
>                         ^~~~~~~~~~~~~
>    /kbuild/src/consumer/drivers//infiniband/hw/bnxt_re/qplib_fp.c:567:19: note: in expansion of macro 'cpu_to_le64'
>      req.srq_handle = cpu_to_le64(srq);
> ..


I will add this patch to the nds32 port series.

From: Greentime Hu <greentime@...estech.com>
Date: Wed, 21 Feb 2018 14:21:23 +0800
Subject: [PATCH] xtensa: add ioremap_nocache declaration before include
 asm-generic/io.h.

A future commit for the nds32 architecture bootstrap("asm-generic/io.h:
move ioremap_nocache/ioremap_uc/ioremap_wc/ioremap_wt out of ifndef
CONFIG_MMU") will move the ioremap_nocache out of the CONFIG_MMU ifdef.
This means that in order to suppress re-definition errors we need to
setup #define's before importing asm-generic/io.h.

Signed-off-by: Greentime Hu <greentime@...estech.com>
---
 arch/xtensa/include/asm/io.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/xtensa/include/asm/io.h b/arch/xtensa/include/asm/io.h
index c38e5a732d86..acc5bb2cf1c7 100644
--- a/arch/xtensa/include/asm/io.h
+++ b/arch/xtensa/include/asm/io.h
@@ -52,6 +52,7 @@ static inline void __iomem *ioremap_cache(unsigned
long offset,
                return xtensa_ioremap_cache(offset, size);
 }
 #define ioremap_cache ioremap_cache
+#define ioremap_nocache ioremap_nocache

 #define ioremap_wc ioremap_nocache

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ