drivers/video/fbdev/imsttfb.c:1538:20: sparse: sparse: incorrect type in argument 1 (different address spaces)

2020-07-28 Thread kernel test robot
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   92ed301919932f13b9172e525674157e983d
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to 
define address spaces
date:   6 weeks ago
config: arm-randconfig-s032-20200728 (attached as .config)
compiler: arm-linux-gnueabi-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-94-geb6779f6-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# 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=arm 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot 


sparse warnings: (new ones prefixed by >>)

   drivers/video/fbdev/imsttfb.c:1513:30: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/imsttfb.c:1513:27: sparse: sparse: incorrect type in 
assignment (different address spaces) @@ expected char [noderef] __iomem 
*screen_base @@ got unsigned char [usertype] * @@
   drivers/video/fbdev/imsttfb.c:1513:27: sparse: expected char [noderef] 
__iomem *screen_base
   drivers/video/fbdev/imsttfb.c:1513:27: sparse: got unsigned char 
[usertype] *
   drivers/video/fbdev/imsttfb.c:1523:27: sparse: sparse: cast removes address 
space '__iomem' of expression
>> drivers/video/fbdev/imsttfb.c:1538:20: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@ expected void volatile 
>> [noderef] __iomem *iomem_cookie @@ got unsigned char [usertype] 
>> *cmap_regs @@
>> drivers/video/fbdev/imsttfb.c:1538:20: sparse: expected void volatile 
>> [noderef] __iomem *iomem_cookie
   drivers/video/fbdev/imsttfb.c:1538:20: sparse: got unsigned char 
[usertype] *cmap_regs
   drivers/video/fbdev/imsttfb.c:1360:15: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/imsttfb.c:1361:16: sparse: sparse: cast removes address 
space '__iomem' of expression
--
>> drivers/scsi/pcmcia/nsp_cs.c:1669:34: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@ expected void volatile 
>> [noderef] __iomem *iomem_cookie @@ got void * @@
>> drivers/scsi/pcmcia/nsp_cs.c:1669:34: sparse: expected void volatile 
>> [noderef] __iomem *iomem_cookie
   drivers/scsi/pcmcia/nsp_cs.c:1669:34: sparse: got void *
   drivers/scsi/pcmcia/nsp_cs.c: note: in included file:
>> drivers/scsi/pcmcia/nsp_io.h:231:24: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@ expected void const volatile 
>> [noderef] __iomem *addr @@ got unsigned long *ptr @@
>> drivers/scsi/pcmcia/nsp_io.h:231:24: sparse: expected void const 
>> volatile [noderef] __iomem *addr
   drivers/scsi/pcmcia/nsp_io.h:231:24: sparse: got unsigned long *ptr
>> drivers/scsi/pcmcia/nsp_io.h:257:17: sparse: sparse: incorrect type in 
>> argument 2 (different address spaces) @@ expected void volatile 
>> [noderef] __iomem *addr @@ got unsigned long *ptr @@
>> drivers/scsi/pcmcia/nsp_io.h:257:17: sparse: expected void volatile 
>> [noderef] __iomem *addr
   drivers/scsi/pcmcia/nsp_io.h:257:17: sparse: got unsigned long *ptr

vim +1538 drivers/video/fbdev/imsttfb.c

^1da177e4c3f41 drivers/video/imsttfb.c Linus Torvalds 2005-04-16  1530  
48c68c4f1b5424 drivers/video/imsttfb.c Greg Kroah-Hartman 2012-12-21  1531  
static void imsttfb_remove(struct pci_dev *pdev)
^1da177e4c3f41 drivers/video/imsttfb.c Linus Torvalds 2005-04-16  1532  {
^1da177e4c3f41 drivers/video/imsttfb.c Linus Torvalds 2005-04-16  1533  
struct fb_info *info = pci_get_drvdata(pdev);
94f9e09ce531d4 drivers/video/imsttfb.c Antonino A. Daplas 2006-01-09  1534  
struct imstt_par *par = info->par;
^1da177e4c3f41 drivers/video/imsttfb.c Linus Torvalds 2005-04-16  1535  
int size = pci_resource_len(pdev, 0);
^1da177e4c3f41 drivers/video/imsttfb.c Linus Torvalds 2005-04-16  1536  
^1da177e4c3f41 drivers/video/imsttfb.c Linus Torvalds 2005-04-16  1537  
unregister_framebuffer(info);
^1da177e4c3f41 drivers/video/imsttfb.c Linus Torvalds 2005-04-16 @1538  
iounmap(par->cmap_regs);
^1da177e4c3f41 drivers/video/imsttfb.c Linus Torvalds 2005-04-16  1539  
iounmap(par->dc_regs);
^1da177e4c3f41 drivers/video/imsttfb.c Linus Torvalds 2005-04-16  1540  
iounmap(info->screen_base);
^1da177e4c3f41 drivers/video/imsttfb.c Linus Torvalds 2005-04-16  1541  
release_mem_region(info->fix.smem

drivers/video/fbdev/imsttfb.c:1538:20: sparse: sparse: incorrect type in argument 1 (different address spaces)

2020-06-23 Thread kernel test robot
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   dd0d718152e4c65b173070d48ea9dfc06894c3e5
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to 
define address spaces
date:   5 days ago
config: parisc-randconfig-s032-20200623 (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# save the attached .config to linux build tree
make W=1 C=1 ARCH=parisc CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot 


sparse warnings: (new ones prefixed by >>)

   drivers/video/fbdev/imsttfb.c:1513:30: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/imsttfb.c:1513:27: sparse: sparse: incorrect type in 
assignment (different address spaces) @@ expected char [noderef] __iomem 
*screen_base @@ got unsigned char [usertype] * @@
   drivers/video/fbdev/imsttfb.c:1513:27: sparse: expected char [noderef] 
__iomem *screen_base
   drivers/video/fbdev/imsttfb.c:1513:27: sparse: got unsigned char 
[usertype] *
   drivers/video/fbdev/imsttfb.c:1523:27: sparse: sparse: cast removes address 
space '__iomem' of expression
>> drivers/video/fbdev/imsttfb.c:1538:20: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@ expected void const volatile 
>> [noderef] __iomem *addr @@ got unsigned char [usertype] *cmap_regs @@
>> drivers/video/fbdev/imsttfb.c:1538:20: sparse: expected void const 
>> volatile [noderef] __iomem *addr
   drivers/video/fbdev/imsttfb.c:1538:20: sparse: got unsigned char 
[usertype] *cmap_regs
   drivers/video/fbdev/imsttfb.c:1360:15: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/imsttfb.c:1361:16: sparse: sparse: cast removes address 
space '__iomem' of expression
--
>> drivers/video/fbdev/aty/atyfb_base.c:3715:37: sparse: sparse: incorrect type 
>> in argument 1 (different address spaces) @@ expected void const volatile 
>> [noderef] __iomem *addr @@ got unsigned char [usertype] *addr @@
   drivers/video/fbdev/aty/atyfb_base.c:3715:37: sparse: expected void 
const volatile [noderef] __iomem *addr
   drivers/video/fbdev/aty/atyfb_base.c:3715:37: sparse: got unsigned char 
[usertype] *addr
--
   drivers/uio/uio_aec.c:44:49: sparse: sparse: incorrect type in initializer 
(different address spaces) @@ expected void [noderef] __iomem *int_flag @@  
   got void * @@
   drivers/uio/uio_aec.c:44:49: sparse: expected void [noderef] __iomem 
*int_flag
   drivers/uio/uio_aec.c:44:49: sparse: got void *
   drivers/uio/uio_aec.c:50:49: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@ expected void [noderef] __iomem * @@ got 
void * @@
   drivers/uio/uio_aec.c:50:49: sparse: expected void [noderef] __iomem *
   drivers/uio/uio_aec.c:50:49: sparse: got void *
   drivers/uio/uio_aec.c:59:9: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@ expected void [noderef] __iomem * @@ got 
void * @@
   drivers/uio/uio_aec.c:59:9: sparse: expected void [noderef] __iomem *
   drivers/uio/uio_aec.c:59:9: sparse: got void *
   drivers/uio/uio_aec.c:59:9: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@ expected void [noderef] __iomem * @@ got 
void * @@
   drivers/uio/uio_aec.c:59:9: sparse: expected void [noderef] __iomem *
   drivers/uio/uio_aec.c:59:9: sparse: got void *
   drivers/uio/uio_aec.c:59:9: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@ expected void [noderef] __iomem * @@ got 
void * @@
   drivers/uio/uio_aec.c:59:9: sparse: expected void [noderef] __iomem *
   drivers/uio/uio_aec.c:59:9: sparse: got void *
   drivers/uio/uio_aec.c:59:9: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@ expected void [noderef] __iomem * @@ got 
void * @@
   drivers/uio/uio_aec.c:59:9: sparse: expected void [noderef] __iomem *
   drivers/uio/uio_aec.c:59:9: sparse: got void *
   drivers/uio/uio_aec.c:59:9: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@ expected void [noderef] __iomem * @@ got 
void * @@
   drivers/uio/uio_aec.c:59:9: sparse: expected void [noderef] __iomem *
   drivers/uio/uio_aec.c:59:9: sparse: got void *
   drivers/uio/uio_aec.c:59:9: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@ expected void [noderef] __iomem * @@ got 
void * @@
   drivers/uio/uio_aec.c:59:9: sparse: expected void [noderef] __iomem *
   drivers/uio/uio_aec.c:59:9: sparse: got