lkml.org 
[lkml]   [2021]   [Oct]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
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@intel.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
[unhandled content-type:application/gzip]
\
 
 \ /
  Last update: 2021-10-22 08:06    [W:0.042 / U:1.488 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site