drivers/video/fbdev/q40fb.c:105:27: sparse: sparse: incorrect type in assignment (different address spaces)

From: kernel test robot
Date: Sun Aug 16 2020 - 18:00:14 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 9123e3a74ec7b934a4a099e98af6a61c2f80bbf5
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 8 weeks ago
config: m68k-randconfig-s031-20200817 (attached as .config)
compiler: m68k-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-180-g49f7e13a-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=m68k

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/q40fb.c:105:27: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected char [noderef] __iomem *screen_base @@ got char * @@
>> drivers/video/fbdev/q40fb.c:105:27: sparse: expected char [noderef] __iomem *screen_base
drivers/video/fbdev/q40fb.c:105:27: sparse: got char *
drivers/video/fbdev/q40fb.c:136:12: sparse: sparse: symbol 'q40fb_init' was not declared. Should it be static?
--
drivers/macintosh/via-cuda.c:520:24: sparse: sparse: Using plain integer as NULL pointer
>> drivers/macintosh/via-cuda.c:213:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char volatile [noderef] __iomem *static [toplevel] via @@ got unsigned char volatile [usertype] *extern [addressable] [toplevel] via1 @@
>> drivers/macintosh/via-cuda.c:213:9: sparse: expected unsigned char volatile [noderef] __iomem *static [toplevel] via
drivers/macintosh/via-cuda.c:213:9: sparse: got unsigned char volatile [usertype] *extern [addressable] [toplevel] via1

# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=670d0a4b10704667765f7d18f7592993d02783aa
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
vim +105 drivers/video/fbdev/q40fb.c

^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 84
48c68c4f1b5424 drivers/video/q40fb.c Greg Kroah-Hartman 2012-12-21 85 static int q40fb_probe(struct platform_device *dev)
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 86 {
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 87 struct fb_info *info;
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 88
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 89 if (!MACH_IS_Q40)
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 90 return -ENXIO;
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 91
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 92 /* mapped in q40/config.c */
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 93 q40fb_fix.smem_start = Q40_PHYS_SCREEN_ADDR;
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 94
ce303c076baad1 drivers/video/q40fb.c Antonino A. Daplas 2007-07-17 95 info = framebuffer_alloc(sizeof(u32) * 16, &dev->dev);
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 96 if (!info)
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 97 return -ENOMEM;
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 98
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 99 info->var = q40fb_var;
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 100 info->fix = q40fb_fix;
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 101 info->fbops = &q40fb_ops;
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 102 info->flags = FBINFO_DEFAULT; /* not as module for now */
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 103 info->pseudo_palette = info->par;
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 104 info->par = NULL;
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 @105 info->screen_base = (char *) q40fb_fix.smem_start;
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 106
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 107 if (fb_alloc_cmap(&info->cmap, 256, 0) < 0) {
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 108 framebuffer_release(info);
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 109 return -ENOMEM;
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 110 }
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 111
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 112 master_outb(3, DISPLAY_CONTROL_REG);
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 113
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 114 if (register_framebuffer(info) < 0) {
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 115 printk(KERN_ERR "Unable to register Q40 frame buffer\n");
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 116 fb_dealloc_cmap(&info->cmap);
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 117 framebuffer_release(info);
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 118 return -EINVAL;
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 119 }
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 120
31b6780c15a4e3 drivers/video/q40fb.c Joe Perches 2013-09-19 121 fb_info(info, "Q40 frame buffer alive and kicking !\n");
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 122 return 0;
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 123 }
^1da177e4c3f41 drivers/video/q40fb.c Linus Torvalds 2005-04-16 124

:::::: The code at line 105 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