lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Fri, 22 Oct 2021 14:03:57 +0800
From:   kernel test robot <lkp@...el.com>
To:     Vineet Gupta <vgupta@...opsys.com>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: [vgupta-arc:topic-zol-remove 70/187]
 arch/arc/include/asm/io.h:67:43: sparse: sparse: incorrect type in
 initializer (different address spaces)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git topic-zol-remove
head:   f2709e461ce51e131e57d07a45a634f3b79b5298
commit: 0ce72856d001ca4a343064d9d909d454aba4a597 [70/187] ARCv3: 64-bit io accesses
config: arc-randconfig-s032-20211019 (attached as .config)
compiler: arceb-elf-gcc (GCC) 11.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.4-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git/commit/?id=0ce72856d001ca4a343064d9d909d454aba4a597
        git remote add vgupta-arc https://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git
        git fetch --no-tags vgupta-arc topic-zol-remove
        git checkout 0ce72856d001ca4a343064d9d909d454aba4a597
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arc 

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


sparse warnings: (new ones prefixed by >>)
   drivers/char/ipmi/ipmi_si_mem_io.c: note: in included file (through include/linux/io.h):
>> arch/arc/include/asm/io.h:67:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned short const volatile [usertype] *ptr @@     got void const volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:67:43: sparse:     expected unsigned short const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:67:43: sparse:     got void const volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:82:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int const volatile [usertype] *ptr @@     got void const volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:82:43: sparse:     expected unsigned int const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:82:43: sparse:     got void const volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:52:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void const volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:52:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:52:42: sparse:     got void const volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:67:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned short const volatile [usertype] *ptr @@     got void const volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:67:43: sparse:     expected unsigned short const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:67:43: sparse:     got void const volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:82:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int const volatile [usertype] *ptr @@     got void const volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:82:43: sparse:     expected unsigned int const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:82:43: sparse:     got void const volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:176:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:176:43: sparse:     expected unsigned int const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:176:43: sparse:     got void volatile [noderef] __iomem *addr
--
   drivers/char/ipmi/ipmi_si_port_io.c: note: in included file (through include/linux/io.h):
>> arch/arc/include/asm/io.h:52:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void const volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:52:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:52:42: sparse:     got void const volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:67:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned short const volatile [usertype] *ptr @@     got void const volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:67:43: sparse:     expected unsigned short const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:67:43: sparse:     got void const volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:67:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned short const volatile [usertype] *ptr @@     got void const volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:67:43: sparse:     expected unsigned short const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:67:43: sparse:     got void const volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:164:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned short const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:164:43: sparse:     expected unsigned short const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:164:43: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:82:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int const volatile [usertype] *ptr @@     got void const volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:82:43: sparse:     expected unsigned int const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:82:43: sparse:     got void const volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:82:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int const volatile [usertype] *ptr @@     got void const volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:82:43: sparse:     expected unsigned int const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:82:43: sparse:     got void const volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:176:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:176:43: sparse:     expected unsigned int const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:176:43: sparse:     got void volatile [noderef] __iomem *addr
--
   drivers/mtd/maps/map_funcs.c: note: in included file (through include/linux/io.h, include/linux/mtd/map.h):
>> arch/arc/include/asm/io.h:52:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void const volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:52:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:52:42: sparse:     got void const volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:67:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned short const volatile [usertype] *ptr @@     got void const volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:67:43: sparse:     expected unsigned short const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:67:43: sparse:     got void const volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:82:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int const volatile [usertype] *ptr @@     got void const volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:82:43: sparse:     expected unsigned int const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:82:43: sparse:     got void const volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:164:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned short const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:164:43: sparse:     expected unsigned short const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:164:43: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:176:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:176:43: sparse:     expected unsigned int const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:176:43: sparse:     got void volatile [noderef] __iomem *addr
--
   drivers/mtd/maps/physmap-gemini.c: note: in included file (through include/linux/io.h, include/linux/mtd/map.h):
>> arch/arc/include/asm/io.h:52:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void const volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:52:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:52:42: sparse:     got void const volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:67:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned short const volatile [usertype] *ptr @@     got void const volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:67:43: sparse:     expected unsigned short const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:67:43: sparse:     got void const volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:82:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int const volatile [usertype] *ptr @@     got void const volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:82:43: sparse:     expected unsigned int const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:82:43: sparse:     got void const volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:164:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned short const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:164:43: sparse:     expected unsigned short const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:164:43: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:176:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:176:43: sparse:     expected unsigned int const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:176:43: sparse:     got void volatile [noderef] __iomem *addr
--
   drivers/mtd/maps/physmap-versatile.c: note: in included file (through include/linux/io.h):
>> arch/arc/include/asm/io.h:82:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int const volatile [usertype] *ptr @@     got void const volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:82:43: sparse:     expected unsigned int const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:82:43: sparse:     got void const volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:176:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:176:43: sparse:     expected unsigned int const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:176:43: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:82:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int const volatile [usertype] *ptr @@     got void const volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:82:43: sparse:     expected unsigned int const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:82:43: sparse:     got void const volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:176:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:176:43: sparse:     expected unsigned int const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:176:43: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:176:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:176:43: sparse:     expected unsigned int const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:176:43: sparse:     got void volatile [noderef] __iomem *addr
--
   drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c: note: in included file (through include/linux/io.h):
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
   drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c:253:9: sparse: sparse: cast truncates bits from constant value (ffffff7f becomes 7f)
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:52:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void const volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:52:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:52:42: sparse:     got void const volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:152:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:152:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:152:42: sparse:     got void volatile [noderef] __iomem *addr
>> arch/arc/include/asm/io.h:52:42: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned char const volatile [usertype] *ptr @@     got void const volatile [noderef] __iomem *addr @@
   arch/arc/include/asm/io.h:52:42: sparse:     expected unsigned char const volatile [usertype] *ptr
   arch/arc/include/asm/io.h:52:42: sparse:     got void const volatile [noderef] __iomem *addr

vim +67 arch/arc/include/asm/io.h

    48	
    49	#define __raw_readb __raw_readb
    50	static inline u8 __raw_readb(const volatile void __iomem *addr)
    51	{
  > 52		const volatile u8 __force *ptr = addr;
    53		u8 b;
    54	
    55		__asm__ __volatile__(
    56		"	ldb%U1 %0, %1	\n"
    57		: "=r" (b)
    58		: "m" (*ptr)
    59		: "memory");
    60	
    61		return b;
    62	}
    63	
    64	#define __raw_readw __raw_readw
    65	static inline u16 __raw_readw(const volatile void __iomem *addr)
    66	{
  > 67		const volatile u16 __force *ptr = addr;
    68		u16 s;
    69	
    70		__asm__ __volatile__(
    71		"	ldh%U1 %0, %1	\n"
    72		: "=r" (s)
    73		: "m" (*ptr)
    74		: "memory");
    75	
    76		return s;
    77	}
    78	
    79	#define __raw_readl __raw_readl
    80	static inline u32 __raw_readl(const volatile void __iomem *addr)
    81	{
  > 82		const volatile u32 __force *ptr = addr;
    83		u32 w;
    84	
    85		__asm__ __volatile__(
    86		"	ld%U1 %0, %1	\n"
    87		: "=r" (w)
    88		: "m" (*ptr)
    89		: "memory");
    90	
    91		return w;
    92	}
    93	
    94	#ifdef CONFIG_64BIT
    95	
    96	#define __raw_readq __raw_readq
    97	static inline u32 __raw_readq(const volatile void __iomem *addr)
    98	{
    99		const volatile u64 __force *ptr = addr;
   100		u64 q;
   101	
   102		__asm__ __volatile__(
   103		"	ldl%U1 %0, %1	\n"
   104		: "=r" (q)
   105		: "m" (*ptr)
   106		: "memory");
   107	
   108		return q;
   109	}
   110	
   111	#endif
   112	
   113	/*
   114	 * {read,write}s{b,w,l}() repeatedly access the same IO address in
   115	 * native endianness in 8-, 16-, 32-bit chunks {into,from} memory,
   116	 * @count times
   117	 */
   118	#define __raw_readsx(t,f) \
   119	static inline void __raw_reads##f(const volatile void __iomem *addr,	\
   120					  void *ptr, unsigned int count)	\
   121	{									\
   122		bool is_aligned = ((unsigned long)ptr % ((t) / 8)) == 0;	\
   123		u##t *buf = ptr;						\
   124										\
   125		if (!count)							\
   126			return;							\
   127										\
   128		/* Some ARC CPU's don't support unaligned accesses */		\
   129		if (is_aligned) {						\
   130			do {							\
   131				u##t x = __raw_read##f(addr);			\
   132				*buf++ = x;					\
   133			} while (--count);					\
   134		} else {							\
   135			do {							\
   136				u##t x = __raw_read##f(addr);			\
   137				put_unaligned(x, buf++);			\
   138			} while (--count);					\
   139		}								\
   140	}
   141	
   142	#define __raw_readsb __raw_readsb
   143	__raw_readsx(8, b)
   144	#define __raw_readsw __raw_readsw
   145	__raw_readsx(16, w)
   146	#define __raw_readsl __raw_readsl
   147	__raw_readsx(32, l)
   148	
   149	#define __raw_writeb __raw_writeb
   150	static inline void __raw_writeb(u8 b, volatile void __iomem *addr)
   151	{
 > 152		const volatile u8 __force *ptr = addr;
   153	
   154		__asm__ __volatile__(
   155		"	stb%U1 %0, %1	\n"
   156		:
   157		: "r" (b), "m" (*ptr)
   158		: "memory");
   159	}
   160	
   161	#define __raw_writew __raw_writew
   162	static inline void __raw_writew(u16 s, volatile void __iomem *addr)
   163	{
 > 164		const volatile u16 __force *ptr = addr;
   165	
   166		__asm__ __volatile__(
   167		"	stw%U1 %0, %1	\n"
   168		:
   169		: "r" (s), "m" (*ptr)
   170		: "memory");
   171	}
   172	
   173	#define __raw_writel __raw_writel
   174	static inline void __raw_writel(u32 w, volatile void __iomem *addr)
   175	{
 > 176		const volatile u32 __force *ptr = addr;
   177	
   178		__asm__ __volatile__(
   179		"	st%U1 %0, %1	\n"
   180		:
   181		: "r" (w), "m" (*ptr)
   182		: "memory");
   183	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Download attachment ".config.gz" of type "application/gzip" (36951 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ