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 void * drivers/uio/uio_aec.c:88:20: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *priv @@ got void [noderef] __iomem * @@ drivers/uio/uio_aec.c:88:20: sparse: expected void *priv drivers/uio/uio_aec.c:88:20: sparse: got void [noderef] __iomem * drivers/uio/uio_aec.c:104:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got void * @@ drivers/uio/uio_aec.c:104:42: sparse: expected void [noderef] __iomem * drivers/uio/uio_aec.c:104:42: sparse: got void * drivers/uio/uio_aec.c:105:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got void * @@ drivers/uio/uio_aec.c:105:43: sparse: expected void [noderef] __iomem * drivers/uio/uio_aec.c:105:43: sparse: got void * drivers/uio/uio_aec.c:106:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __iomem * @@ got void * @@ drivers/uio/uio_aec.c:106:34: sparse: expected void [noderef] __iomem * drivers/uio/uio_aec.c:106:34: sparse: got void * drivers/uio/uio_aec.c:115:31: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got void *priv @@ drivers/uio/uio_aec.c:115:31: sparse: expected void [noderef] __iomem * drivers/uio/uio_aec.c:115:31: sparse: got void *priv drivers/uio/uio_aec.c:130:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got void * @@ drivers/uio/uio_aec.c:130:42: sparse: expected void [noderef] __iomem * drivers/uio/uio_aec.c:130:42: sparse: got void * drivers/uio/uio_aec.c:131:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got void * @@ drivers/uio/uio_aec.c:131:43: sparse: expected void [noderef] __iomem * drivers/uio/uio_aec.c:131:43: sparse: got void * drivers/uio/uio_aec.c:133:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __iomem * @@ got void * @@ drivers/uio/uio_aec.c:133:28: sparse: expected void [noderef] __iomem * drivers/uio/uio_aec.c:133:28: sparse: got void * >> drivers/uio/uio_aec.c:138:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void *priv @@ drivers/uio/uio_aec.c:138:21: sparse: expected void const volatile [noderef] __iomem *addr drivers/uio/uio_aec.c:138:21: sparse: got void *priv 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 :::::: CC: Linus Torvalds --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org