drivers/video/fbdev/imsttfb.c:1538:20: sparse: sparse: incorrect type in argument 1 (different address spaces)
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)
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