drivers/video/fbdev/pvr2fb.c:788:26: sparse: expected void
From: kernel test robot
Date: Thu Oct 29 2020 - 10:44:39 EST
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 23859ae44402f4d935b9ee548135dd1e65e2cbf4
commit: 80591e61a0f7e88deaada69844e4a31280c4a38f kbuild: tell sparse about the $ARCH
date: 12 months ago
:::::: branch date: 3 hours ago
:::::: commit date: 12 months ago
config: xtensa-randconfig-s031-20201029 (attached as .config)
compiler: xtensa-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-56-gc09e8239-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=80591e61a0f7e88deaada69844e4a31280c4a38f
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 80591e61a0f7e88deaada69844e4a31280c4a38f
# 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=xtensa
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/pvr2fb.c:336:17: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:336:17: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:338:31: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:345:17: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:347:17: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:349:17: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:540:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:541:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:560:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:569:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:573:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:574:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:579:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:580:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:581:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:584:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:585:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:588:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:591:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:595:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:595:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:596:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:600:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:612:19: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:614:17: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:616:17: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:788:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *__s @@ got char [noderef] <asn:2> *screen_base @@
>> drivers/video/fbdev/pvr2fb.c:788:26: sparse: expected void *__s
drivers/video/fbdev/pvr2fb.c:788:26: sparse: got char [noderef] <asn:2> *screen_base
drivers/video/fbdev/pvr2fb.c:820:15: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:1057:11: sparse: sparse: Using plain integer as NULL pointer
drivers/video/fbdev/pvr2fb.c:233:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:233:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:240:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c:240:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/pvr2fb.c: note: in included file (through include/linux/io.h, include/linux/irq.h, include/asm-generic/hardirq.h, ...):
arch/xtensa/include/asm/io.h:40:25: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] <asn:2> * @@ got void * @@
arch/xtensa/include/asm/io.h:40:25: sparse: expected void [noderef] <asn:2> *
arch/xtensa/include/asm/io.h:40:25: sparse: got void *
arch/xtensa/include/asm/io.h:40:25: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] <asn:2> * @@ got void * @@
arch/xtensa/include/asm/io.h:40:25: sparse: expected void [noderef] <asn:2> *
arch/xtensa/include/asm/io.h:40:25: sparse: got void *
vim +788 drivers/video/fbdev/pvr2fb.c
0f5a5712ad1e3b drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-06-07 749
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 750 /**
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 751 * pvr2fb_common_init
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 752 *
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 753 * Common init code for the PVR2 chips.
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 754 *
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 755 * This mostly takes care of the common aspects of the fb setup and
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 756 * registration. It's expected that the board-specific init code has
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 757 * already setup pvr2_fix with something meaningful at this point.
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 758 *
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 759 * Device info reporting is also done here, as well as picking a sane
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 760 * default from the modedb. For board-specific modelines, simply define
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 761 * a per-board modedb.
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 762 *
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 763 * Also worth noting is that the cable and video output types are likely
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 764 * always going to be VGA for the PCI-based PVR2 boards, but we leave this
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 765 * in for flexibility anyways. Who knows, maybe someone has tv-out on a
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 766 * PCI-based version of these things ;-)
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 767 */
0f5a5712ad1e3b drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-06-07 768 static int __maybe_unused pvr2fb_common_init(void)
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 769 {
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 770 struct pvr2fb_par *par = currentpar;
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 771 unsigned long modememused, rev;
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 772
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 773 fb_info->screen_base = ioremap_nocache(pvr2_fix.smem_start,
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 774 pvr2_fix.smem_len);
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 775
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 776 if (!fb_info->screen_base) {
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 777 printk(KERN_ERR "pvr2fb: Failed to remap smem space\n");
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 778 goto out_err;
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 779 }
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 780
0f5a5712ad1e3b drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-06-07 781 par->mmio_base = ioremap_nocache(pvr2_fix.mmio_start,
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 782 pvr2_fix.mmio_len);
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 783 if (!par->mmio_base) {
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 784 printk(KERN_ERR "pvr2fb: Failed to remap mmio space\n");
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 785 goto out_err;
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 786 }
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 787
d2b06a8b17f96b drivers/video/pvr2fb.c Paul Mundt 2006-09-27 @788 fb_memset(fb_info->screen_base, 0, pvr2_fix.smem_len);
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 789
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 790 pvr2_fix.ypanstep = nopan ? 0 : 1;
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 791 pvr2_fix.ywrapstep = nowrap ? 0 : 1;
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 792
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 793 fb_info->fbops = &pvr2fb_ops;
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 794 fb_info->fix = pvr2_fix;
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 795 fb_info->par = currentpar;
9cd1c67434544b drivers/video/pvr2fb.c Antonino A. Daplas 2007-08-10 796 fb_info->pseudo_palette = currentpar->palette;
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 797 fb_info->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 798
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 799 if (video_output == VO_VGA)
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 800 defmode = DEFMODE_VGA;
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 801
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 802 if (!mode_option)
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 803 mode_option = "640x480@60";
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 804
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 805 if (!fb_find_mode(&fb_info->var, fb_info, mode_option, pvr2_modedb,
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 806 NUM_TOTAL_MODES, &pvr2_modedb[defmode], 16))
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 807 fb_info->var = pvr2_var;
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 808
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 809 fb_alloc_cmap(&fb_info->cmap, 256, 0);
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 810
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 811 if (register_framebuffer(fb_info) < 0)
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 812 goto out_err;
306c869c237a66 drivers/video/pvr2fb.c Adrian McMenamin 2007-08-10 813 /*Must write PIXDEPTH to register before anything is displayed - so force init */
306c869c237a66 drivers/video/pvr2fb.c Adrian McMenamin 2007-08-10 814 pvr2_init_display(fb_info);
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 815
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 816 modememused = get_line_length(fb_info->var.xres_virtual,
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 817 fb_info->var.bits_per_pixel);
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 818 modememused *= fb_info->var.yres_virtual;
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 819
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 820 rev = fb_readl(par->mmio_base + 0x04);
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 821
31b6780c15a4e3 drivers/video/pvr2fb.c Joe Perches 2013-09-19 822 fb_info(fb_info, "%s (rev %ld.%ld) frame buffer device, using %ldk/%ldk of video memory\n",
31b6780c15a4e3 drivers/video/pvr2fb.c Joe Perches 2013-09-19 823 fb_info->fix.id, (rev >> 4) & 0x0f, rev & 0x0f,
31b6780c15a4e3 drivers/video/pvr2fb.c Joe Perches 2013-09-19 824 modememused >> 10,
31b6780c15a4e3 drivers/video/pvr2fb.c Joe Perches 2013-09-19 825 (unsigned long)(fb_info->fix.smem_len >> 10));
31b6780c15a4e3 drivers/video/pvr2fb.c Joe Perches 2013-09-19 826 fb_info(fb_info, "Mode %dx%d-%d pitch = %ld cable: %s video output: %s\n",
31b6780c15a4e3 drivers/video/pvr2fb.c Joe Perches 2013-09-19 827 fb_info->var.xres, fb_info->var.yres,
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 828 fb_info->var.bits_per_pixel,
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 829 get_line_length(fb_info->var.xres, fb_info->var.bits_per_pixel),
0f5a5712ad1e3b drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-06-07 830 pvr2_get_param_name(cables, cable_type, 3),
0f5a5712ad1e3b drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-06-07 831 pvr2_get_param_name(outputs, video_output, 3));
^1da177e4c3f41 drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 832
:::::: The code at line 788 was first introduced by commit
:::::: d2b06a8b17f96b75fa1e8e7765cb900c99fd80fb video: Update pvr2fb for sq API changes.
:::::: TO: Paul Mundt <lethal@xxxxxxxxxxxx>
:::::: CC: Paul Mundt <lethal@xxxxxxxxxxxx>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip