arch/mips/include/asm/vga.h:46:21: sparse: sparse: incorrect type in argument 2 (different base types)

From: kernel test robot
Date: Fri Mar 03 2023 - 01:37:01 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 2eb29d59ddf02e39774abfb60b2030b0b7e27c1f
commit: ac036f9570a2d318b7d8dbbdbf0e269d7cc68cef vga: optimise console scrolling
date: 5 years ago
config: mips-randconfig-s033-20230302 (https://download.01.org/0day-ci/archive/20230303/202303031413.o8quncp8-lkp@xxxxxxxxx/config)
compiler: mipsel-linux-gcc (GCC) 12.1.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-39-gce1a6720-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ac036f9570a2d318b7d8dbbdbf0e269d7cc68cef
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout ac036f9570a2d318b7d8dbbdbf0e269d7cc68cef
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=mips olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=mips SHELL=/bin/bash drivers/tty/vt/ kernel/trace/ mm/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Link: https://lore.kernel.org/oe-kbuild-all/202303031413.o8quncp8-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
drivers/tty/vt/vt.c: note: in included file (through include/linux/vt_buffer.h, include/linux/selection.h):
>> arch/mips/include/asm/vga.h:46:21: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned short [usertype] @@ got restricted __le16 [usertype] @@
arch/mips/include/asm/vga.h:46:21: sparse: expected unsigned short [usertype]
arch/mips/include/asm/vga.h:46:21: sparse: got restricted __le16 [usertype]
arch/mips/include/asm/vga.h:41:16: sparse: sparse: cast to restricted __le16
arch/mips/include/asm/vga.h:41:16: sparse: sparse: cast to restricted __le16
arch/mips/include/asm/vga.h:41:16: sparse: sparse: cast to restricted __le16
arch/mips/include/asm/vga.h:41:16: sparse: sparse: cast to restricted __le16
arch/mips/include/asm/vga.h:36:15: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short volatile [usertype] @@ got restricted __le16 [usertype] @@
arch/mips/include/asm/vga.h:36:15: sparse: expected unsigned short volatile [usertype]
arch/mips/include/asm/vga.h:36:15: sparse: got restricted __le16 [usertype]
arch/mips/include/asm/vga.h:41:16: sparse: sparse: cast to restricted __le16
arch/mips/include/asm/vga.h:36:15: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short volatile [usertype] @@ got restricted __le16 [usertype] @@
arch/mips/include/asm/vga.h:36:15: sparse: expected unsigned short volatile [usertype]
arch/mips/include/asm/vga.h:36:15: sparse: got restricted __le16 [usertype]
arch/mips/include/asm/vga.h:41:16: sparse: sparse: cast to restricted __le16
arch/mips/include/asm/vga.h:36:15: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short volatile [usertype] @@ got restricted __le16 [usertype] @@
arch/mips/include/asm/vga.h:36:15: sparse: expected unsigned short volatile [usertype]
arch/mips/include/asm/vga.h:36:15: sparse: got restricted __le16 [usertype]
arch/mips/include/asm/vga.h:36:15: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short volatile [usertype] @@ got restricted __le16 [usertype] @@
arch/mips/include/asm/vga.h:36:15: sparse: expected unsigned short volatile [usertype]
arch/mips/include/asm/vga.h:36:15: sparse: got restricted __le16 [usertype]
arch/mips/include/asm/vga.h:41:16: sparse: sparse: cast to restricted __le16
arch/mips/include/asm/vga.h:36:15: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short volatile [usertype] @@ got restricted __le16 [usertype] @@
arch/mips/include/asm/vga.h:36:15: sparse: expected unsigned short volatile [usertype]
arch/mips/include/asm/vga.h:36:15: sparse: got restricted __le16 [usertype]
>> arch/mips/include/asm/vga.h:46:21: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned short [usertype] @@ got restricted __le16 [usertype] @@
arch/mips/include/asm/vga.h:46:21: sparse: expected unsigned short [usertype]
arch/mips/include/asm/vga.h:46:21: sparse: got restricted __le16 [usertype]
>> arch/mips/include/asm/vga.h:46:21: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned short [usertype] @@ got restricted __le16 [usertype] @@
arch/mips/include/asm/vga.h:46:21: sparse: expected unsigned short [usertype]
arch/mips/include/asm/vga.h:46:21: sparse: got restricted __le16 [usertype]
arch/mips/include/asm/vga.h:41:16: sparse: sparse: cast to restricted __le16
arch/mips/include/asm/vga.h:36:15: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short volatile [usertype] @@ got restricted __le16 [usertype] @@
arch/mips/include/asm/vga.h:36:15: sparse: expected unsigned short volatile [usertype]
arch/mips/include/asm/vga.h:36:15: sparse: got restricted __le16 [usertype]
arch/mips/include/asm/vga.h:36:15: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short volatile [usertype] @@ got restricted __le16 [usertype] @@
arch/mips/include/asm/vga.h:36:15: sparse: expected unsigned short volatile [usertype]
arch/mips/include/asm/vga.h:36:15: sparse: got restricted __le16 [usertype]
arch/mips/include/asm/vga.h:41:16: sparse: sparse: cast to restricted __le16
arch/mips/include/asm/vga.h:36:15: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short volatile [usertype] @@ got restricted __le16 [usertype] @@
arch/mips/include/asm/vga.h:36:15: sparse: expected unsigned short volatile [usertype]
arch/mips/include/asm/vga.h:36:15: sparse: got restricted __le16 [usertype]
>> arch/mips/include/asm/vga.h:46:21: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned short [usertype] @@ got restricted __le16 [usertype] @@
arch/mips/include/asm/vga.h:46:21: sparse: expected unsigned short [usertype]
arch/mips/include/asm/vga.h:46:21: sparse: got restricted __le16 [usertype]
>> arch/mips/include/asm/vga.h:46:21: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned short [usertype] @@ got restricted __le16 [usertype] @@
arch/mips/include/asm/vga.h:46:21: sparse: expected unsigned short [usertype]
arch/mips/include/asm/vga.h:46:21: sparse: got restricted __le16 [usertype]
>> arch/mips/include/asm/vga.h:46:21: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned short [usertype] @@ got restricted __le16 [usertype] @@
arch/mips/include/asm/vga.h:46:21: sparse: expected unsigned short [usertype]
arch/mips/include/asm/vga.h:46:21: sparse: got restricted __le16 [usertype]
>> arch/mips/include/asm/vga.h:46:21: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned short [usertype] @@ got restricted __le16 [usertype] @@
arch/mips/include/asm/vga.h:46:21: sparse: expected unsigned short [usertype]
arch/mips/include/asm/vga.h:46:21: sparse: got restricted __le16 [usertype]
>> arch/mips/include/asm/vga.h:46:21: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned short [usertype] @@ got restricted __le16 [usertype] @@
arch/mips/include/asm/vga.h:46:21: sparse: expected unsigned short [usertype]
arch/mips/include/asm/vga.h:46:21: sparse: got restricted __le16 [usertype]
>> arch/mips/include/asm/vga.h:46:21: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned short [usertype] @@ got restricted __le16 [usertype] @@
arch/mips/include/asm/vga.h:46:21: sparse: expected unsigned short [usertype]
arch/mips/include/asm/vga.h:46:21: sparse: got restricted __le16 [usertype]
arch/mips/include/asm/vga.h:36:15: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short volatile [usertype] @@ got restricted __le16 [usertype] @@
arch/mips/include/asm/vga.h:36:15: sparse: expected unsigned short volatile [usertype]
arch/mips/include/asm/vga.h:36:15: sparse: got restricted __le16 [usertype]
arch/mips/include/asm/vga.h:41:16: sparse: sparse: cast to restricted __le16
arch/mips/include/asm/vga.h:41:16: sparse: sparse: cast to restricted __le16
arch/mips/include/asm/vga.h:36:15: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short volatile [usertype] @@ got restricted __le16 [usertype] @@
arch/mips/include/asm/vga.h:36:15: sparse: expected unsigned short volatile [usertype]
arch/mips/include/asm/vga.h:36:15: sparse: got restricted __le16 [usertype]
drivers/tty/vt/vt.c: In function 'do_con_trol':
drivers/tty/vt/vt.c:1780:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
1780 | if (!is_kbd(vc, lnm))
| ^
drivers/tty/vt/vt.c:1782:9: note: here
1782 | case 13:
| ^~~~
drivers/tty/vt/vt.c:1905:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
1905 | if (vc->vc_ques)
| ^
drivers/tty/vt/vt.c:1907:9: note: here
1907 | case ESgetpars:
| ^~~~

vim +46 arch/mips/include/asm/vga.h

43
44 static inline void scr_memsetw(u16 *s, u16 v, unsigned int count)
45 {
> 46 memset16(s, cpu_to_le16(v), count / 2);
47 }
48

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests