drivers/video/fbdev/omap/lcdc.c:642:23: sparse: sparse: incorrect type in assignment (different address spaces)

From: kernel test robot
Date: Fri Mar 10 2023 - 06:46:42 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 44889ba56cbb3d51154660ccd15818bc77276696
commit: 804f7f19c2e2928aeb8eafef8379fe8b8d13f98b fbdev: omap: avoid using mach/*.h files
date: 11 months ago
config: arm-randconfig-s041-20230310 (https://download.01.org/0day-ci/archive/20230310/202303101931.gO4cNEu3-lkp@xxxxxxxxx/config)
compiler: arm-linux-gnueabi-gcc (GCC) 12.1.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.4-39-gce1a6720-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=804f7f19c2e2928aeb8eafef8379fe8b8d13f98b
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 804f7f19c2e2928aeb8eafef8379fe8b8d13f98b
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm SHELL=/bin/bash drivers/video/fbdev/omap/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Link: https://lore.kernel.org/oe-kbuild-all/202303101931.gO4cNEu3-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
>> drivers/video/fbdev/omap/lcdc.c:642:23: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *vaddr @@ got void *static [addressable] [assigned] [toplevel] vram_virt @@
drivers/video/fbdev/omap/lcdc.c:642:23: sparse: expected void [noderef] __iomem *vaddr
drivers/video/fbdev/omap/lcdc.c:642:23: sparse: got void *static [addressable] [assigned] [toplevel] vram_virt
--
>> drivers/video/fbdev/omap/omapfb_main.c:1027:11: sparse: sparse: cast removes address space '__iomem' of expression

vim +642 drivers/video/fbdev/omap/lcdc.c

569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 620
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 621 static int alloc_fbmem(struct omapfb_mem_region *region)
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 622 {
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 623 int bpp;
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 624 int frame_size;
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 625 struct lcd_panel *panel = lcdc.fbdev->panel;
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 626
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 627 bpp = panel->bpp;
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 628 if (bpp == 12)
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 629 bpp = 16;
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 630 frame_size = PAGE_ALIGN(panel->x_res * bpp / 8 * panel->y_res);
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 631 if (region->size > frame_size)
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 632 frame_size = region->size;
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 633 lcdc.vram_size = frame_size;
f6e45661f9be54 drivers/video/fbdev/omap/lcdc.c Luis R. Rodriguez 2016-01-22 634 lcdc.vram_virt = dma_alloc_wc(lcdc.fbdev->dev, lcdc.vram_size,
f6e45661f9be54 drivers/video/fbdev/omap/lcdc.c Luis R. Rodriguez 2016-01-22 635 &lcdc.vram_phys, GFP_KERNEL);
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 636 if (lcdc.vram_virt == NULL) {
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 637 dev_err(lcdc.fbdev->dev, "unable to allocate FB DMA memory\n");
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 638 return -ENOMEM;
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 639 }
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 640 region->size = frame_size;
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 641 region->paddr = lcdc.vram_phys;
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 @642 region->vaddr = lcdc.vram_virt;
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 643 region->alloc = 1;
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 644
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 645 memset(lcdc.vram_virt, 0, lcdc.vram_size);
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 646
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 647 return 0;
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 648 }
569755c706f0f9 drivers/video/omap/lcdc.c Imre Deak 2007-07-17 649

:::::: The code at line 642 was first introduced by commit
:::::: 569755c706f0f94409edd2ae60b9878cb420844f OMAP: add TI OMAP1 internal LCD controller

:::::: TO: Imre Deak <imre.deak@xxxxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests