drivers/video/fbdev/arcfb.c:119:9: sparse: got void COPYING CREDITS Documentation Kbuild Kconfig LICENSES MAINTAINERS Makefile README arch block certs crypto drivers fs include init ipc kernel lib mm net samples scripts security sound tools usr virt

From: kernel test robot
Date: Tue Aug 11 2020 - 23:55:38 EST


Hi Bartlomiej,

First bad commit (maybe != root cause):

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fb893de323e2d39f7a1f6df425703a2edbdf56ea
commit: 3d3287e609877aa549b1cbb41eafaf73c3742a0b video: fbdev: arcfb: add COMPILE_TEST support
date: 5 months ago
config: riscv-randconfig-s031-20200812 (attached as .config)
compiler: riscv64-linux-gcc (GCC) 9.3.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.2-168-g9554805c-dirty
git checkout 3d3287e609877aa549b1cbb41eafaf73c3742a0b
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=riscv

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


sparse warnings: (new ones prefixed by >>)

drivers/video/fbdev/arcfb.c:119:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/arcfb.c:119:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got void * @@
drivers/video/fbdev/arcfb.c:119:9: sparse: expected void volatile [noderef] <asn:2> *addr
>> drivers/video/fbdev/arcfb.c:119:9: sparse: got void *
drivers/video/fbdev/arcfb.c:120:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/arcfb.c:120:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got void * @@
drivers/video/fbdev/arcfb.c:120:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/video/fbdev/arcfb.c:120:9: sparse: got void *
drivers/video/fbdev/arcfb.c:122:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/arcfb.c:122:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got void * @@
drivers/video/fbdev/arcfb.c:122:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/video/fbdev/arcfb.c:122:9: sparse: got void *
drivers/video/fbdev/arcfb.c:128:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/arcfb.c:128:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got void * @@
drivers/video/fbdev/arcfb.c:128:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/video/fbdev/arcfb.c:128:9: sparse: got void *
drivers/video/fbdev/arcfb.c:134:16: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/arcfb.c:134:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got void * @@
drivers/video/fbdev/arcfb.c:134:16: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/video/fbdev/arcfb.c:134:16: sparse: got void *
drivers/video/fbdev/arcfb.c:142:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/arcfb.c:142:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got void * @@
drivers/video/fbdev/arcfb.c:142:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/video/fbdev/arcfb.c:142:9: sparse: got void *
drivers/video/fbdev/arcfb.c:143:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/arcfb.c:143:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got void * @@
drivers/video/fbdev/arcfb.c:143:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/video/fbdev/arcfb.c:143:9: sparse: got void *
drivers/video/fbdev/arcfb.c:145:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/arcfb.c:145:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got void * @@
drivers/video/fbdev/arcfb.c:145:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/video/fbdev/arcfb.c:145:9: sparse: got void *

vim +119 drivers/video/fbdev/arcfb.c

1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 113
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 114 static void ks108_writeb_ctl(struct arcfb_par *par,
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 115 unsigned int chipindex, unsigned char value)
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 116 {
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 117 unsigned char chipselval = par->cslut[chipindex];
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 118
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 @119 outb(chipselval|KS_CEHI|KS_SEL_CMD, par->cio_addr);
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 120 outb(value, par->dio_addr);
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 121 udelay(tuhold);
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 122 outb(chipselval|KS_CELO|KS_SEL_CMD, par->cio_addr);
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 123 }
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 124

:::::: The code at line 119 was first introduced by commit
:::::: 1154ea7dcd8eed758fb5ec47393a79d5a1f0bc43 [PATCH] Framebuffer driver for Arc LCD board

:::::: TO: Jaya Kumar <jayalk@xxxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip