linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* arch/mips/include/asm/checksum.h:195:9: error: unsupported inline asm: input with type 'unsigned long' matching output with type '__wsum' (aka 'unsigned int')
@ 2022-05-19 17:23 kernel test robot
  2022-05-19 17:45 ` Paul Cercueil
  0 siblings, 1 reply; 6+ messages in thread
From: kernel test robot @ 2022-05-19 17:23 UTC (permalink / raw)
  To: Paul Cercueil; +Cc: llvm, kbuild-all, linux-kernel, Thomas Bogendoerfer

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   f993aed406eaf968ba3867a76bb46c95336a33d0
commit: c434b9f80b0923e6460031b0fd964f8b0bf3c6a6 MIPS: Kconfig: add MIPS_GENERIC_KERNEL symbol
date:   1 year, 8 months ago
config: mips-randconfig-r036-20220519 (https://download.01.org/0day-ci/archive/20220520/202205200128.layu7VXF-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project e00cbbec06c08dc616a0d52a20f678b8fbd4e304)
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
        # install mips cross compiling tool for clang build
        # apt-get install binutils-mips-linux-gnu
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c434b9f80b0923e6460031b0fd964f8b0bf3c6a6
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout c434b9f80b0923e6460031b0fd964f8b0bf3c6a6
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash arch/mips/cavium-octeon/ drivers/dma-buf/heaps/ net/ipv6/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

   In file included from arch/mips/cavium-octeon/octeon-platform.c:10:
   In file included from include/linux/etherdevice.h:20:
   In file included from include/linux/if_ether.h:19:
   In file included from include/linux/skbuff.h:28:
   In file included from include/net/checksum.h:22:
>> arch/mips/include/asm/checksum.h:195:9: error: unsupported inline asm: input with type 'unsigned long' matching output with type '__wsum' (aka 'unsigned int')
           : "0" ((__force unsigned long)daddr),
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from arch/mips/cavium-octeon/octeon-platform.c:15:
   In file included from arch/mips/include/asm/octeon/octeon.h:11:
   In file included from arch/mips/include/asm/octeon/cvmx.h:72:
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:323:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NULL)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:323:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:324:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_SIM)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:324:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:325:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBT3000)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:325:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:326:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_KODAMA)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:326:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:327:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NIAGARA)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:327:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:328:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NAC38)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:328:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:329:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_THUNDER)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:329:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:330:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_TRANTOR)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:330:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:331:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBH3000)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:331:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:332:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBH3100)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
--
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MIN)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E100)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_DSR1000N)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_KONTRON_S1901)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MAX)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_NULL)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
           case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
           case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_CHIP_TYPE_CASE(CVMX_CHIP_SIM_TYPE_DEPRECATED)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
           case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
           case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_OCTEON_SAMPLE)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
           case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
           case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_MAX)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
           case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
           case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
                             ^
   arch/mips/cavium-octeon/smp.c:99:6: warning: no previous prototype for function 'octeon_send_ipi_single' [-Wmissing-prototypes]
   void octeon_send_ipi_single(int cpu, unsigned int action)
        ^
   arch/mips/cavium-octeon/smp.c:99:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void octeon_send_ipi_single(int cpu, unsigned int action)
   ^
   static 
>> arch/mips/cavium-octeon/smp.c:194:5: warning: no previous prototype for function 'plat_post_relocation' [-Wmissing-prototypes]
   int plat_post_relocation(long offset)
       ^
   arch/mips/cavium-octeon/smp.c:194:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int plat_post_relocation(long offset)
   ^
   static 
   81 warnings generated.
   Assembler messages:
   Warning: a different -march was already specified, is now octeon
--
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:394:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MIN)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E100)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_DSR1000N)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_KONTRON_S1901)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MAX)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
           case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_NULL)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
           case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
           case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_CHIP_TYPE_CASE(CVMX_CHIP_SIM_TYPE_DEPRECATED)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
           case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
           case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_OCTEON_SAMPLE)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
           case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
           case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
                             ^
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                   ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_MAX)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
           case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
                          ~~~^~~~
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: note: use array indexing to silence this warning
   arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
           case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
                             ^
   In file included from arch/mips/cavium-octeon/crypto/octeon-sha1.c:23:
   In file included from include/crypto/internal/hash.h:11:
   In file included from include/crypto/algapi.h:13:
   In file included from include/linux/skbuff.h:28:
   In file included from include/net/checksum.h:22:
>> arch/mips/include/asm/checksum.h:195:9: error: unsupported inline asm: input with type 'unsigned long' matching output with type '__wsum' (aka 'unsigned int')
           : "0" ((__force unsigned long)daddr),
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   79 warnings and 1 error generated.
..


vim +195 arch/mips/include/asm/checksum.h

^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  2005-04-16  162  
01cfbad79a5e2b arch/mips/include/asm/checksum.h Alexander Duyck 2016-03-11  163  static inline __wsum csum_tcpudp_nofold(__be32 saddr, __be32 daddr,
01cfbad79a5e2b arch/mips/include/asm/checksum.h Alexander Duyck 2016-03-11  164  					__u32 len, __u8 proto,
8e3d8433d8c22c include/asm-mips/checksum.h      Al Viro         2006-11-14  165  					__wsum sum)
^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  2005-04-16  166  {
^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  2005-04-16  167  	__asm__(
04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   2005-07-08  168  	"	.set	push		# csum_tcpudp_nofold\n"
04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   2005-07-08  169  	"	.set	noat		\n"
875d43e72b5bf2 include/asm-mips/checksum.h      Ralf Baechle    2005-09-03  170  #ifdef CONFIG_32BIT
04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   2005-07-08  171  	"	addu	%0, %2		\n"
04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   2005-07-08  172  	"	sltu	$1, %0, %2	\n"
04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   2005-07-08  173  	"	addu	%0, $1		\n"
^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  2005-04-16  174  
04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   2005-07-08  175  	"	addu	%0, %3		\n"
04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   2005-07-08  176  	"	sltu	$1, %0, %3	\n"
04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   2005-07-08  177  	"	addu	%0, $1		\n"
^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  2005-04-16  178  
04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   2005-07-08  179  	"	addu	%0, %4		\n"
04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   2005-07-08  180  	"	sltu	$1, %0, %4	\n"
04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   2005-07-08  181  	"	addu	%0, $1		\n"
^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  2005-04-16  182  #endif
875d43e72b5bf2 include/asm-mips/checksum.h      Ralf Baechle    2005-09-03  183  #ifdef CONFIG_64BIT
04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   2005-07-08  184  	"	daddu	%0, %2		\n"
04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   2005-07-08  185  	"	daddu	%0, %3		\n"
04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   2005-07-08  186  	"	daddu	%0, %4		\n"
04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   2005-07-08  187  	"	dsll32	$1, %0, 0	\n"
04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   2005-07-08  188  	"	daddu	%0, $1		\n"
66fd848cadaa6b arch/mips/include/asm/checksum.h Ralf Baechle    2017-01-26  189  	"	sltu	$1, %0, $1	\n"
e97288386a316e include/asm-mips/checksum.h      Ralf Baechle    2005-09-20  190  	"	dsra32	%0, %0, 0	\n"
66fd848cadaa6b arch/mips/include/asm/checksum.h Ralf Baechle    2017-01-26  191  	"	addu	%0, $1		\n"
^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  2005-04-16  192  #endif
04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   2005-07-08  193  	"	.set	pop"
^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  2005-04-16  194  	: "=r" (sum)
66218da212bf14 include/asm-mips/checksum.h      Atsushi Nemoto  2007-01-24 @195  	: "0" ((__force unsigned long)daddr),
66218da212bf14 include/asm-mips/checksum.h      Atsushi Nemoto  2007-01-24  196  	  "r" ((__force unsigned long)saddr),
^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  2005-04-16  197  #ifdef __MIPSEL__
8e3d8433d8c22c include/asm-mips/checksum.h      Al Viro         2006-11-14  198  	  "r" ((proto + len) << 8),
^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  2005-04-16  199  #else
8e3d8433d8c22c include/asm-mips/checksum.h      Al Viro         2006-11-14  200  	  "r" (proto + len),
^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  2005-04-16  201  #endif
1d464c26b56252 include/asm-mips/checksum.h      Dave Johnson    2007-04-18  202  	  "r" ((__force unsigned long)sum));
^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  2005-04-16  203  
^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  2005-04-16  204  	return sum;
^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  2005-04-16  205  }
b4b5015a1c1450 arch/mips/include/asm/checksum.h Ralf Baechle    2014-12-17  206  #define csum_tcpudp_nofold csum_tcpudp_nofold
^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  2005-04-16  207  

:::::: The code at line 195 was first introduced by commit
:::::: 66218da212bf141532d678a699f5789c78145ab1 [MIPS] Fix wrong checksum calculation on 64-bit MIPS

:::::: TO: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
:::::: CC: Ralf Baechle <ralf@linux-mips.org>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: arch/mips/include/asm/checksum.h:195:9: error: unsupported inline asm: input with type 'unsigned long' matching output with type '__wsum' (aka 'unsigned int')
  2022-05-19 17:23 arch/mips/include/asm/checksum.h:195:9: error: unsupported inline asm: input with type 'unsigned long' matching output with type '__wsum' (aka 'unsigned int') kernel test robot
@ 2022-05-19 17:45 ` Paul Cercueil
  2022-05-20  8:38   ` [kbuild-all] " Chen, Rong A
  2022-05-20 11:08   ` Maciej W. Rozycki
  0 siblings, 2 replies; 6+ messages in thread
From: Paul Cercueil @ 2022-05-19 17:45 UTC (permalink / raw)
  To: kernel test robot
  Cc: llvm, kbuild-all, linux-kernel, Thomas Bogendoerfer, linux-mips

Hi Bot,

Le ven., mai 20 2022 at 01:23:43 +0800, kernel test robot 
<lkp@intel.com> a écrit :
> tree:   
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
> master
> head:   f993aed406eaf968ba3867a76bb46c95336a33d0
> commit: c434b9f80b0923e6460031b0fd964f8b0bf3c6a6 MIPS: Kconfig: add 
> MIPS_GENERIC_KERNEL symbol

I have no idea how that error could be even remotely related to the 
commit above.

About the real issue: Maybe the last "addu" in csum_tcpudp_nofold() 
should be a "daddu"?

Cheers,
-Paul

> date:   1 year, 8 months ago
> config: mips-randconfig-r036-20220519 
> (https://download.01.org/0day-ci/archive/20220520/202205200128.layu7VXF-lkp@intel.com/config)
> compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 
> e00cbbec06c08dc616a0d52a20f678b8fbd4e304)
> 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
>         # install mips cross compiling tool for clang build
>         # apt-get install binutils-mips-linux-gnu
>         # 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c434b9f80b0923e6460031b0fd964f8b0bf3c6a6
>         git remote add linus 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>         git fetch --no-tags linus master
>         git checkout c434b9f80b0923e6460031b0fd964f8b0bf3c6a6
>         # save the config file
>         mkdir build_dir && cp config build_dir/.config
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross 
> W=1 O=build_dir ARCH=mips SHELL=/bin/bash arch/mips/cavium-octeon/ 
> drivers/dma-buf/heaps/ net/ipv6/
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> 
> All error/warnings (new ones prefixed by >>):
> 
>    In file included from arch/mips/cavium-octeon/octeon-platform.c:10:
>    In file included from include/linux/etherdevice.h:20:
>    In file included from include/linux/if_ether.h:19:
>    In file included from include/linux/skbuff.h:28:
>    In file included from include/net/checksum.h:22:
>>>  arch/mips/include/asm/checksum.h:195:9: error: unsupported inline 
>>> asm: input with type 'unsigned long' matching output with type 
>>> '__wsum' (aka 'unsigned int')
>            : "0" ((__force unsigned long)daddr),
>                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    In file included from arch/mips/cavium-octeon/octeon-platform.c:15:
>    In file included from arch/mips/include/asm/octeon/octeon.h:11:
>    In file included from arch/mips/include/asm/octeon/cvmx.h:72:
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:323:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NULL)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:323:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:324:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_SIM)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:324:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:325:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBT3000)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:325:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:326:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_KODAMA)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:326:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:327:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NIAGARA)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:327:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:328:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NAC38)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:328:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:329:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_THUNDER)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:329:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:330:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_TRANTOR)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:330:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:331:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBH3000)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:331:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:332:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBH3100)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
> --
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MIN)
>                    
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E100)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_DSR1000N)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_KONTRON_S1901)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MAX)
>                    
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_NULL)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: 
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: 
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_CHIP_TYPE_CASE(CVMX_CHIP_SIM_TYPE_DEPRECATED)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: 
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: 
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_OCTEON_SAMPLE)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: 
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: 
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_MAX)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: 
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: 
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>                              ^
>    arch/mips/cavium-octeon/smp.c:99:6: warning: no previous prototype 
> for function 'octeon_send_ipi_single' [-Wmissing-prototypes]
>    void octeon_send_ipi_single(int cpu, unsigned int action)
>         ^
>    arch/mips/cavium-octeon/smp.c:99:1: note: declare 'static' if the 
> function is not intended to be used outside of this translation unit
>    void octeon_send_ipi_single(int cpu, unsigned int action)
>    ^
>    static
>>>  arch/mips/cavium-octeon/smp.c:194:5: warning: no previous 
>>> prototype for function 'plat_post_relocation' [-Wmissing-prototypes]
>    int plat_post_relocation(long offset)
>        ^
>    arch/mips/cavium-octeon/smp.c:194:1: note: declare 'static' if the 
> function is not intended to be used outside of this translation unit
>    int plat_post_relocation(long offset)
>    ^
>    static
>    81 warnings generated.
>    Assembler messages:
>    Warning: a different -march was already specified, is now octeon
> --
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:394:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MIN)
>                    
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E100)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_DSR1000N)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_KONTRON_S1901)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MAX)
>                    
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: 
> expanded from macro 'ENUM_BRD_TYPE_CASE'
>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_NULL)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: 
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: 
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_CHIP_TYPE_CASE(CVMX_CHIP_SIM_TYPE_DEPRECATED)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: 
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: 
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_OCTEON_SAMPLE)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: 
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: 
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>                              ^
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: warning: 
> adding 'int' to a string does not append to the string 
> [-Wstring-plus-int]
>                    ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_MAX)
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: 
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>                           ~~~^~~~
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: note: use 
> array indexing to silence this warning
>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: 
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>                              ^
>    In file included from 
> arch/mips/cavium-octeon/crypto/octeon-sha1.c:23:
>    In file included from include/crypto/internal/hash.h:11:
>    In file included from include/crypto/algapi.h:13:
>    In file included from include/linux/skbuff.h:28:
>    In file included from include/net/checksum.h:22:
>>>  arch/mips/include/asm/checksum.h:195:9: error: unsupported inline 
>>> asm: input with type 'unsigned long' matching output with type 
>>> '__wsum' (aka 'unsigned int')
>            : "0" ((__force unsigned long)daddr),
>                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    79 warnings and 1 error generated.
> ..
> 
> 
> vim +195 arch/mips/include/asm/checksum.h
> 
> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  
> 2005-04-16  162
> 01cfbad79a5e2b arch/mips/include/asm/checksum.h Alexander Duyck 
> 2016-03-11  163  static inline __wsum csum_tcpudp_nofold(__be32 
> saddr, __be32 daddr,
> 01cfbad79a5e2b arch/mips/include/asm/checksum.h Alexander Duyck 
> 2016-03-11  164  					__u32 len, __u8 proto,
> 8e3d8433d8c22c include/asm-mips/checksum.h      Al Viro         
> 2006-11-14  165  					__wsum sum)
> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  
> 2005-04-16  166  {
> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  
> 2005-04-16  167  	__asm__(
> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   
> 2005-07-08  168  	"	.set	push		# csum_tcpudp_nofold\n"
> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   
> 2005-07-08  169  	"	.set	noat		\n"
> 875d43e72b5bf2 include/asm-mips/checksum.h      Ralf Baechle    
> 2005-09-03  170  #ifdef CONFIG_32BIT
> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   
> 2005-07-08  171  	"	addu	%0, %2		\n"
> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   
> 2005-07-08  172  	"	sltu	$1, %0, %2	\n"
> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   
> 2005-07-08  173  	"	addu	%0, $1		\n"
> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  
> 2005-04-16  174
> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   
> 2005-07-08  175  	"	addu	%0, %3		\n"
> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   
> 2005-07-08  176  	"	sltu	$1, %0, %3	\n"
> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   
> 2005-07-08  177  	"	addu	%0, $1		\n"
> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  
> 2005-04-16  178
> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   
> 2005-07-08  179  	"	addu	%0, %4		\n"
> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   
> 2005-07-08  180  	"	sltu	$1, %0, %4	\n"
> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   
> 2005-07-08  181  	"	addu	%0, $1		\n"
> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  
> 2005-04-16  182  #endif
> 875d43e72b5bf2 include/asm-mips/checksum.h      Ralf Baechle    
> 2005-09-03  183  #ifdef CONFIG_64BIT
> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   
> 2005-07-08  184  	"	daddu	%0, %2		\n"
> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   
> 2005-07-08  185  	"	daddu	%0, %3		\n"
> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   
> 2005-07-08  186  	"	daddu	%0, %4		\n"
> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   
> 2005-07-08  187  	"	dsll32	$1, %0, 0	\n"
> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   
> 2005-07-08  188  	"	daddu	%0, $1		\n"
> 66fd848cadaa6b arch/mips/include/asm/checksum.h Ralf Baechle    
> 2017-01-26  189  	"	sltu	$1, %0, $1	\n"
> e97288386a316e include/asm-mips/checksum.h      Ralf Baechle    
> 2005-09-20  190  	"	dsra32	%0, %0, 0	\n"
> 66fd848cadaa6b arch/mips/include/asm/checksum.h Ralf Baechle    
> 2017-01-26  191  	"	addu	%0, $1		\n"
> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  
> 2005-04-16  192  #endif
> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer   
> 2005-07-08  193  	"	.set	pop"
> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  
> 2005-04-16  194  	: "=r" (sum)
> 66218da212bf14 include/asm-mips/checksum.h      Atsushi Nemoto  
> 2007-01-24 @195  	: "0" ((__force unsigned long)daddr),
> 66218da212bf14 include/asm-mips/checksum.h      Atsushi Nemoto  
> 2007-01-24  196  	  "r" ((__force unsigned long)saddr),
> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  
> 2005-04-16  197  #ifdef __MIPSEL__
> 8e3d8433d8c22c include/asm-mips/checksum.h      Al Viro         
> 2006-11-14  198  	  "r" ((proto + len) << 8),
> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  
> 2005-04-16  199  #else
> 8e3d8433d8c22c include/asm-mips/checksum.h      Al Viro         
> 2006-11-14  200  	  "r" (proto + len),
> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  
> 2005-04-16  201  #endif
> 1d464c26b56252 include/asm-mips/checksum.h      Dave Johnson    
> 2007-04-18  202  	  "r" ((__force unsigned long)sum));
> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  
> 2005-04-16  203
> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  
> 2005-04-16  204  	return sum;
> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  
> 2005-04-16  205  }
> b4b5015a1c1450 arch/mips/include/asm/checksum.h Ralf Baechle    
> 2014-12-17  206  #define csum_tcpudp_nofold csum_tcpudp_nofold
> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds  
> 2005-04-16  207
> 
> :::::: The code at line 195 was first introduced by commit
> :::::: 66218da212bf141532d678a699f5789c78145ab1 [MIPS] Fix wrong 
> checksum calculation on 64-bit MIPS
> 
> :::::: TO: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
> :::::: CC: Ralf Baechle <ralf@linux-mips.org>
> 
> --
> 0-DAY CI Kernel Test Service
> https://01.org/lkp



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [kbuild-all] Re: arch/mips/include/asm/checksum.h:195:9: error: unsupported inline asm: input with type 'unsigned long' matching output with type '__wsum' (aka 'unsigned int')
  2022-05-19 17:45 ` Paul Cercueil
@ 2022-05-20  8:38   ` Chen, Rong A
  2022-05-20 11:08   ` Maciej W. Rozycki
  1 sibling, 0 replies; 6+ messages in thread
From: Chen, Rong A @ 2022-05-20  8:38 UTC (permalink / raw)
  To: Paul Cercueil, kernel test robot
  Cc: llvm, kbuild-all, linux-kernel, Thomas Bogendoerfer, linux-mips



On 5/20/2022 1:45 AM, Paul Cercueil wrote:
> Hi Bot,
> 
> Le ven., mai 20 2022 at 01:23:43 +0800, kernel test robot 
> <lkp@intel.com> a écrit :
>> tree: 
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>> head:   f993aed406eaf968ba3867a76bb46c95336a33d0
>> commit: c434b9f80b0923e6460031b0fd964f8b0bf3c6a6 MIPS: Kconfig: add 
>> MIPS_GENERIC_KERNEL symbol
> 
> I have no idea how that error could be even remotely related to the 
> commit above.

Hi Paul,

Sorry for the inconvience, the error is not introduced by the commit,
it's only bisected to it after kconfig changed.

Best Regards,
Rong Chen

> 
> About the real issue: Maybe the last "addu" in csum_tcpudp_nofold() 
> should be a "daddu"?
> 
> Cheers,
> -Paul
> 
>> date:   1 year, 8 months ago
>> config: mips-randconfig-r036-20220519 
>> (https://download.01.org/0day-ci/archive/20220520/202205200128.layu7VXF-lkp@intel.com/config) 
>>
>> compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 
>> e00cbbec06c08dc616a0d52a20f678b8fbd4e304)
>> 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
>>         # install mips cross compiling tool for clang build
>>         # apt-get install binutils-mips-linux-gnu
>>         # 
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c434b9f80b0923e6460031b0fd964f8b0bf3c6a6 
>>
>>         git remote add linus 
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>>         git fetch --no-tags linus master
>>         git checkout c434b9f80b0923e6460031b0fd964f8b0bf3c6a6
>>         # save the config file
>>         mkdir build_dir && cp config build_dir/.config
>>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 
>> O=build_dir ARCH=mips SHELL=/bin/bash arch/mips/cavium-octeon/ 
>> drivers/dma-buf/heaps/ net/ipv6/
>>
>> If you fix the issue, kindly add following tag as appropriate
>> Reported-by: kernel test robot <lkp@intel.com>
>>
>> All error/warnings (new ones prefixed by >>):
>>
>>    In file included from arch/mips/cavium-octeon/octeon-platform.c:10:
>>    In file included from include/linux/etherdevice.h:20:
>>    In file included from include/linux/if_ether.h:19:
>>    In file included from include/linux/skbuff.h:28:
>>    In file included from include/net/checksum.h:22:
>>>>  arch/mips/include/asm/checksum.h:195:9: error: unsupported inline 
>>>> asm: input with type 'unsigned long' matching output with type 
>>>> '__wsum' (aka 'unsigned int')
>>            : "0" ((__force unsigned long)daddr),
>>                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    In file included from arch/mips/cavium-octeon/octeon-platform.c:15:
>>    In file included from arch/mips/include/asm/octeon/octeon.h:11:
>>    In file included from arch/mips/include/asm/octeon/cvmx.h:72:
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:323:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NULL)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:323:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:324:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_SIM)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:324:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:325:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBT3000)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:325:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:326:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_KODAMA)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:326:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:327:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NIAGARA)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:327:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:328:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NAC38)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:328:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:329:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_THUNDER)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:329:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:330:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_TRANTOR)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:330:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:331:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBH3000)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:331:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:332:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBH3100)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>> -- 
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MIN)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E100)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_DSR1000N)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_KONTRON_S1901)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MAX)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_NULL)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded 
>> from macro 'ENUM_CHIP_TYPE_CASE'
>>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded 
>> from macro 'ENUM_CHIP_TYPE_CASE'
>>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_CHIP_TYPE_CASE(CVMX_CHIP_SIM_TYPE_DEPRECATED)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded 
>> from macro 'ENUM_CHIP_TYPE_CASE'
>>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded 
>> from macro 'ENUM_CHIP_TYPE_CASE'
>>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_OCTEON_SAMPLE)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded 
>> from macro 'ENUM_CHIP_TYPE_CASE'
>>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded 
>> from macro 'ENUM_CHIP_TYPE_CASE'
>>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_MAX)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded 
>> from macro 'ENUM_CHIP_TYPE_CASE'
>>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded 
>> from macro 'ENUM_CHIP_TYPE_CASE'
>>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>>                              ^
>>    arch/mips/cavium-octeon/smp.c:99:6: warning: no previous prototype 
>> for function 'octeon_send_ipi_single' [-Wmissing-prototypes]
>>    void octeon_send_ipi_single(int cpu, unsigned int action)
>>         ^
>>    arch/mips/cavium-octeon/smp.c:99:1: note: declare 'static' if the 
>> function is not intended to be used outside of this translation unit
>>    void octeon_send_ipi_single(int cpu, unsigned int action)
>>    ^
>>    static
>>>>  arch/mips/cavium-octeon/smp.c:194:5: warning: no previous prototype 
>>>> for function 'plat_post_relocation' [-Wmissing-prototypes]
>>    int plat_post_relocation(long offset)
>>        ^
>>    arch/mips/cavium-octeon/smp.c:194:1: note: declare 'static' if the 
>> function is not intended to be used outside of this translation unit
>>    int plat_post_relocation(long offset)
>>    ^
>>    static
>>    81 warnings generated.
>>    Assembler messages:
>>    Warning: a different -march was already specified, is now octeon
>> -- 
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:394:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MIN)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E100)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_DSR1000N)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_KONTRON_S1901)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MAX)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded 
>> from macro 'ENUM_BRD_TYPE_CASE'
>>            case x: return(#x + 16);        /* Skip CVMX_BOARD_TYPE_ */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_NULL)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded 
>> from macro 'ENUM_CHIP_TYPE_CASE'
>>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded 
>> from macro 'ENUM_CHIP_TYPE_CASE'
>>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_CHIP_TYPE_CASE(CVMX_CHIP_SIM_TYPE_DEPRECATED)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded 
>> from macro 'ENUM_CHIP_TYPE_CASE'
>>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded 
>> from macro 'ENUM_CHIP_TYPE_CASE'
>>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_OCTEON_SAMPLE)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded 
>> from macro 'ENUM_CHIP_TYPE_CASE'
>>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded 
>> from macro 'ENUM_CHIP_TYPE_CASE'
>>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>>                              ^
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: warning: adding 
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>>                    ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_MAX)
>>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded 
>> from macro 'ENUM_CHIP_TYPE_CASE'
>>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>>                           ~~~^~~~
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: note: use array 
>> indexing to silence this warning
>>    arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded 
>> from macro 'ENUM_CHIP_TYPE_CASE'
>>            case x: return(#x + 15);        /* Skip CVMX_CHIP_TYPE */
>>                              ^
>>    In file included from arch/mips/cavium-octeon/crypto/octeon-sha1.c:23:
>>    In file included from include/crypto/internal/hash.h:11:
>>    In file included from include/crypto/algapi.h:13:
>>    In file included from include/linux/skbuff.h:28:
>>    In file included from include/net/checksum.h:22:
>>>>  arch/mips/include/asm/checksum.h:195:9: error: unsupported inline 
>>>> asm: input with type 'unsigned long' matching output with type 
>>>> '__wsum' (aka 'unsigned int')
>>            : "0" ((__force unsigned long)daddr),
>>                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    79 warnings and 1 error generated.
>> ..
>>
>>
>> vim +195 arch/mips/include/asm/checksum.h
>>
>> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds 
>> 2005-04-16  162
>> 01cfbad79a5e2b arch/mips/include/asm/checksum.h Alexander Duyck 
>> 2016-03-11  163  static inline __wsum csum_tcpudp_nofold(__be32 saddr, 
>> __be32 daddr,
>> 01cfbad79a5e2b arch/mips/include/asm/checksum.h Alexander Duyck 
>> 2016-03-11  164                      __u32 len, __u8 proto,
>> 8e3d8433d8c22c include/asm-mips/checksum.h      Al Viro 2006-11-14  
>> 165                      __wsum sum)
>> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds 
>> 2005-04-16  166  {
>> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds 
>> 2005-04-16  167      __asm__(
>> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer 
>> 2005-07-08  168      "    .set    push        # csum_tcpudp_nofold\n"
>> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer 
>> 2005-07-08  169      "    .set    noat        \n"
>> 875d43e72b5bf2 include/asm-mips/checksum.h      Ralf Baechle 
>> 2005-09-03  170  #ifdef CONFIG_32BIT
>> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer 
>> 2005-07-08  171      "    addu    %0, %2        \n"
>> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer 
>> 2005-07-08  172      "    sltu    $1, %0, %2    \n"
>> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer 
>> 2005-07-08  173      "    addu    %0, $1        \n"
>> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds 
>> 2005-04-16  174
>> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer 
>> 2005-07-08  175      "    addu    %0, %3        \n"
>> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer 
>> 2005-07-08  176      "    sltu    $1, %0, %3    \n"
>> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer 
>> 2005-07-08  177      "    addu    %0, $1        \n"
>> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds 
>> 2005-04-16  178
>> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer 
>> 2005-07-08  179      "    addu    %0, %4        \n"
>> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer 
>> 2005-07-08  180      "    sltu    $1, %0, %4    \n"
>> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer 
>> 2005-07-08  181      "    addu    %0, $1        \n"
>> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds 
>> 2005-04-16  182  #endif
>> 875d43e72b5bf2 include/asm-mips/checksum.h      Ralf Baechle 
>> 2005-09-03  183  #ifdef CONFIG_64BIT
>> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer 
>> 2005-07-08  184      "    daddu    %0, %2        \n"
>> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer 
>> 2005-07-08  185      "    daddu    %0, %3        \n"
>> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer 
>> 2005-07-08  186      "    daddu    %0, %4        \n"
>> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer 
>> 2005-07-08  187      "    dsll32    $1, %0, 0    \n"
>> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer 
>> 2005-07-08  188      "    daddu    %0, $1        \n"
>> 66fd848cadaa6b arch/mips/include/asm/checksum.h Ralf Baechle 
>> 2017-01-26  189      "    sltu    $1, %0, $1    \n"
>> e97288386a316e include/asm-mips/checksum.h      Ralf Baechle 
>> 2005-09-20  190      "    dsra32    %0, %0, 0    \n"
>> 66fd848cadaa6b arch/mips/include/asm/checksum.h Ralf Baechle 
>> 2017-01-26  191      "    addu    %0, $1        \n"
>> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds 
>> 2005-04-16  192  #endif
>> 04988d6fda5c1c include/asm-mips/checksum.h      Thiemo Seufer 
>> 2005-07-08  193      "    .set    pop"
>> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds 
>> 2005-04-16  194      : "=r" (sum)
>> 66218da212bf14 include/asm-mips/checksum.h      Atsushi Nemoto 
>> 2007-01-24 @195      : "0" ((__force unsigned long)daddr),
>> 66218da212bf14 include/asm-mips/checksum.h      Atsushi Nemoto 
>> 2007-01-24  196        "r" ((__force unsigned long)saddr),
>> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds 
>> 2005-04-16  197  #ifdef __MIPSEL__
>> 8e3d8433d8c22c include/asm-mips/checksum.h      Al Viro 2006-11-14  
>> 198        "r" ((proto + len) << 8),
>> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds 
>> 2005-04-16  199  #else
>> 8e3d8433d8c22c include/asm-mips/checksum.h      Al Viro 2006-11-14  
>> 200        "r" (proto + len),
>> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds 
>> 2005-04-16  201  #endif
>> 1d464c26b56252 include/asm-mips/checksum.h      Dave Johnson 
>> 2007-04-18  202        "r" ((__force unsigned long)sum));
>> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds 
>> 2005-04-16  203
>> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds 
>> 2005-04-16  204      return sum;
>> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds 
>> 2005-04-16  205  }
>> b4b5015a1c1450 arch/mips/include/asm/checksum.h Ralf Baechle 
>> 2014-12-17  206  #define csum_tcpudp_nofold csum_tcpudp_nofold
>> ^1da177e4c3f41 include/asm-mips/checksum.h      Linus Torvalds 
>> 2005-04-16  207
>>
>> :::::: The code at line 195 was first introduced by commit
>> :::::: 66218da212bf141532d678a699f5789c78145ab1 [MIPS] Fix wrong 
>> checksum calculation on 64-bit MIPS
>>
>> :::::: TO: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
>> :::::: CC: Ralf Baechle <ralf@linux-mips.org>
>>
>> -- 
>> 0-DAY CI Kernel Test Service
>> https://01.org/lkp
> 
> _______________________________________________
> kbuild-all mailing list -- kbuild-all@lists.01.org
> To unsubscribe send an email to kbuild-all-leave@lists.01.org

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: arch/mips/include/asm/checksum.h:195:9: error: unsupported inline asm: input with type 'unsigned long' matching output with type '__wsum' (aka 'unsigned int')
  2022-05-19 17:45 ` Paul Cercueil
  2022-05-20  8:38   ` [kbuild-all] " Chen, Rong A
@ 2022-05-20 11:08   ` Maciej W. Rozycki
  2022-05-20 15:52     ` Nathan Chancellor
  1 sibling, 1 reply; 6+ messages in thread
From: Maciej W. Rozycki @ 2022-05-20 11:08 UTC (permalink / raw)
  To: Paul Cercueil
  Cc: kernel test robot, llvm, kbuild-all, linux-kernel,
	Thomas Bogendoerfer, linux-mips

On Thu, 19 May 2022, Paul Cercueil wrote:

> About the real issue: Maybe the last "addu" in csum_tcpudp_nofold() should be
> a "daddu"?

 It doesn't matter whether there is ADDU or DADDU anymore, given that 
commit 198688edbf77 ("MIPS: Fix inline asm input/output type mismatch in 
checksum.h used with Clang") has added a redundant 32-bit sign-extension 
operation right afterwards, regressing size/performance by an extra 
instruction in this performance-critical code as a workaround for a stupid 
compiler.

 I'm not sure though why the bot has been verifying old commit 
c434b9f80b09 ("MIPS: Kconfig: add MIPS_GENERIC_KERNEL symbol") instead, 
which predates the workaround.  Perhaps current master also fails to build 
in this file for one reason or another and bisection has misled the bot 
into an unrelated commit?

  Maciej

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: arch/mips/include/asm/checksum.h:195:9: error: unsupported inline asm: input with type 'unsigned long' matching output with type '__wsum' (aka 'unsigned int')
  2022-05-20 11:08   ` Maciej W. Rozycki
@ 2022-05-20 15:52     ` Nathan Chancellor
  2022-05-22 20:48       ` Maciej W. Rozycki
  0 siblings, 1 reply; 6+ messages in thread
From: Nathan Chancellor @ 2022-05-20 15:52 UTC (permalink / raw)
  To: Maciej W. Rozycki
  Cc: Paul Cercueil, kernel test robot, llvm, kbuild-all, linux-kernel,
	Thomas Bogendoerfer, linux-mips

On Fri, May 20, 2022 at 12:08:02PM +0100, Maciej W. Rozycki wrote:
> On Thu, 19 May 2022, Paul Cercueil wrote:
> 
> > About the real issue: Maybe the last "addu" in csum_tcpudp_nofold() should be
> > a "daddu"?
> 
>  It doesn't matter whether there is ADDU or DADDU anymore, given that 
> commit 198688edbf77 ("MIPS: Fix inline asm input/output type mismatch in 
> checksum.h used with Clang") has added a redundant 32-bit sign-extension 
> operation right afterwards, regressing size/performance by an extra 
> instruction in this performance-critical code as a workaround for a stupid 
> compiler.

Shouldn't this concern have been addressed by Tiezhu's follow up?

https://lore.kernel.org/1617359240-16609-1-git-send-email-yangtiezhu@loongson.cn/

I guess it never got picked up?

Cheers,
Nathan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: arch/mips/include/asm/checksum.h:195:9: error: unsupported inline asm: input with type 'unsigned long' matching output with type '__wsum' (aka 'unsigned int')
  2022-05-20 15:52     ` Nathan Chancellor
@ 2022-05-22 20:48       ` Maciej W. Rozycki
  0 siblings, 0 replies; 6+ messages in thread
From: Maciej W. Rozycki @ 2022-05-22 20:48 UTC (permalink / raw)
  To: Nathan Chancellor
  Cc: Paul Cercueil, kernel test robot, llvm, kbuild-all, linux-kernel,
	Thomas Bogendoerfer, linux-mips

On Fri, 20 May 2022, Nathan Chancellor wrote:

> >  It doesn't matter whether there is ADDU or DADDU anymore, given that 
> > commit 198688edbf77 ("MIPS: Fix inline asm input/output type mismatch in 
> > checksum.h used with Clang") has added a redundant 32-bit sign-extension 
> > operation right afterwards, regressing size/performance by an extra 
> > instruction in this performance-critical code as a workaround for a stupid 
> > compiler.
> 
> Shouldn't this concern have been addressed by Tiezhu's follow up?
> 
> https://lore.kernel.org/1617359240-16609-1-git-send-email-yangtiezhu@loongson.cn/
> 
> I guess it never got picked up?

 Still it is a hack.  I have now rewritten this code in plain C instead.

  Maciej

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-05-22 20:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-19 17:23 arch/mips/include/asm/checksum.h:195:9: error: unsupported inline asm: input with type 'unsigned long' matching output with type '__wsum' (aka 'unsigned int') kernel test robot
2022-05-19 17:45 ` Paul Cercueil
2022-05-20  8:38   ` [kbuild-all] " Chen, Rong A
2022-05-20 11:08   ` Maciej W. Rozycki
2022-05-20 15:52     ` Nathan Chancellor
2022-05-22 20:48       ` Maciej W. Rozycki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).