All of lore.kernel.org
 help / color / mirror / Atom feed
* [jirislaby:devel 127/132] drivers/video/fbdev/vga16fb.c:1324:29: sparse: sparse: incorrect type in assignment (different address spaces)
@ 2021-04-22 15:42 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-04-22 15:42 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 4721 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git devel
head:   4943e7578021417bd0e257eee7a238a3886b9eee
commit: eabb168ec3e59eec3ee43228bc0cb1fc1a61cbff [127/132] make VGA_MAP_MEM return pointer
config: powerpc64-randconfig-s032-20210422 (attached as .config)
compiler: powerpc-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.3-341-g8af24329-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git/commit/?id=eabb168ec3e59eec3ee43228bc0cb1fc1a61cbff
        git remote add jirislaby https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git
        git fetch --no-tags jirislaby devel
        git checkout eabb168ec3e59eec3ee43228bc0cb1fc1a61cbff
        # 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__' W=1 ARCH=powerpc64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)
>> drivers/video/fbdev/vga16fb.c:1324:29: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected char *screen_buffer @@     got void [noderef] __iomem * @@
   drivers/video/fbdev/vga16fb.c:1324:29: sparse:     expected char *screen_buffer
   drivers/video/fbdev/vga16fb.c:1324:29: sparse:     got void [noderef] __iomem *

vim +1324 drivers/video/fbdev/vga16fb.c

  1302	
  1303	static int vga16fb_probe(struct platform_device *dev)
  1304	{
  1305		struct fb_info *info;
  1306		struct vga16fb_par *par;
  1307		int i;
  1308		int ret = 0;
  1309	
  1310		printk(KERN_DEBUG "vga16fb: initializing\n");
  1311		info = framebuffer_alloc(sizeof(struct vga16fb_par), &dev->dev);
  1312	
  1313		if (!info) {
  1314			ret = -ENOMEM;
  1315			goto err_fb_alloc;
  1316		}
  1317		info->apertures = alloc_apertures(1);
  1318		if (!info->apertures) {
  1319			ret = -ENOMEM;
  1320			goto err_ioremap;
  1321		}
  1322	
  1323		/* XXX share VGA_FB_PHYS and I/O region with vgacon and others */
> 1324		info->screen_buffer = VGA_MAP_MEM(VGA_FB_PHYS, 0);
  1325	
  1326		if (!info->screen_base) {
  1327			printk(KERN_ERR "vga16fb: unable to map device\n");
  1328			ret = -ENOMEM;
  1329			goto err_ioremap;
  1330		}
  1331	
  1332		printk(KERN_INFO "vga16fb: mapped to 0x%p\n", info->screen_base);
  1333		par = info->par;
  1334	
  1335		par->isVGA = screen_info.orig_video_isVGA;
  1336		par->palette_blanked = 0;
  1337		par->vesa_blanked = 0;
  1338	
  1339		i = par->isVGA? 6 : 2;
  1340		
  1341		vga16fb_defined.red.length   = i;
  1342		vga16fb_defined.green.length = i;
  1343		vga16fb_defined.blue.length  = i;	
  1344	
  1345		/* name should not depend on EGA/VGA */
  1346		info->fbops = &vga16fb_ops;
  1347		info->var = vga16fb_defined;
  1348		info->fix = vga16fb_fix;
  1349		/* supports rectangles with widths of multiples of 8 */
  1350		info->pixmap.blit_x = 1 << 7 | 1 << 15 | 1 << 23 | 1 << 31;
  1351		info->flags = FBINFO_FLAG_DEFAULT | FBINFO_MISC_FIRMWARE |
  1352			FBINFO_HWACCEL_YPAN;
  1353	
  1354		i = (info->var.bits_per_pixel == 8) ? 256 : 16;
  1355		ret = fb_alloc_cmap(&info->cmap, i, 0);
  1356		if (ret) {
  1357			printk(KERN_ERR "vga16fb: unable to allocate colormap\n");
  1358			ret = -ENOMEM;
  1359			goto err_alloc_cmap;
  1360		}
  1361	
  1362		if (vga16fb_check_var(&info->var, info)) {
  1363			printk(KERN_ERR "vga16fb: unable to validate variable\n");
  1364			ret = -EINVAL;
  1365			goto err_check_var;
  1366		}
  1367	
  1368		vga16fb_update_fix(info);
  1369	
  1370		info->apertures->ranges[0].base = VGA_FB_PHYS;
  1371		info->apertures->ranges[0].size = VGA_FB_PHYS_LEN;
  1372	
  1373		if (register_framebuffer(info) < 0) {
  1374			printk(KERN_ERR "vga16fb: unable to register framebuffer\n");
  1375			ret = -EINVAL;
  1376			goto err_check_var;
  1377		}
  1378	
  1379		fb_info(info, "%s frame buffer device\n", info->fix.id);
  1380		platform_set_drvdata(dev, info);
  1381	
  1382		return 0;
  1383	
  1384	 err_check_var:
  1385		fb_dealloc_cmap(&info->cmap);
  1386	 err_alloc_cmap:
  1387		iounmap(info->screen_base);
  1388	 err_ioremap:
  1389		framebuffer_release(info);
  1390	 err_fb_alloc:
  1391		return ret;
  1392	}
  1393	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 22458 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-04-22 15:42 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-22 15:42 [jirislaby:devel 127/132] drivers/video/fbdev/vga16fb.c:1324:29: sparse: sparse: incorrect type in assignment (different address spaces) kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.