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

From: kernel test robot
Date: Tue Jul 28 2020 - 12:50:33 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 92ed301919932f777713b9172e525674157e983d
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 <lkp@xxxxxxxxx>


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_start, size);
94f9e09ce531d4 drivers/video/imsttfb.c Antonino A. Daplas 2006-01-09 1542 framebuffer_release(info);
^1da177e4c3f41 drivers/video/imsttfb.c Linus Torvalds 2005-04-16 1543 }
^1da177e4c3f41 drivers/video/imsttfb.c Linus Torvalds 2005-04-16 1544

:::::: The code at line 1538 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>
:::::: 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