drivers/scsi/megaraid.c:4470:26: sparse: sparse: incorrect type in argument 1 (different address spaces)

From: kernel test robot
Date: Mon Sep 19 2022 - 12:45:05 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 521a547ced6477c54b4b0cc206000406c221b4d6
commit: d803336abdbc1bfacdb32b2cf9f4fdbee072b8ee ARM: mm: kill unused runtime hook arch_iounmap()
date: 3 months ago
config: arm-randconfig-s042-20220919 (https://download.01.org/0day-ci/archive/20220920/202209200047.cnJE8pPV-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=d803336abdbc1bfacdb32b2cf9f4fdbee072b8ee
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout d803336abdbc1bfacdb32b2cf9f4fdbee072b8ee
# 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 SHELL=/bin/bash arch/arm/mach-omap2/ drivers/scsi/ kernel/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

sparse warnings: (new ones prefixed by >>)
>> drivers/scsi/megaraid.c:4470:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *io_addr @@ got void * @@
drivers/scsi/megaraid.c:4470:26: sparse: expected void volatile [noderef] __iomem *io_addr
drivers/scsi/megaraid.c:4470:26: sparse: got void *
drivers/scsi/megaraid.c:4529:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *io_addr @@ got void * @@
drivers/scsi/megaraid.c:4529:26: sparse: expected void volatile [noderef] __iomem *io_addr
drivers/scsi/megaraid.c:4529:26: sparse: got void *

vim +4470 drivers/scsi/megaraid.c

^1da177e4c3f41 Linus Torvalds 2005-04-16 4443
^1da177e4c3f41 Linus Torvalds 2005-04-16 4444 pci_set_drvdata(pdev, host);
^1da177e4c3f41 Linus Torvalds 2005-04-16 4445
^1da177e4c3f41 Linus Torvalds 2005-04-16 4446 mega_create_proc_entry(hba_count, mega_proc_dir_entry);
^1da177e4c3f41 Linus Torvalds 2005-04-16 4447
^1da177e4c3f41 Linus Torvalds 2005-04-16 4448 error = scsi_add_host(host, &pdev->dev);
^1da177e4c3f41 Linus Torvalds 2005-04-16 4449 if (error)
^1da177e4c3f41 Linus Torvalds 2005-04-16 4450 goto out_free_mbox;
^1da177e4c3f41 Linus Torvalds 2005-04-16 4451
^1da177e4c3f41 Linus Torvalds 2005-04-16 4452 scsi_scan_host(host);
^1da177e4c3f41 Linus Torvalds 2005-04-16 4453 hba_count++;
^1da177e4c3f41 Linus Torvalds 2005-04-16 4454 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 4455
^1da177e4c3f41 Linus Torvalds 2005-04-16 4456 out_free_mbox:
ec090ef8cd1c23 Suraj Upadhyay 2020-07-29 4457 dma_free_coherent(&adapter->dev->dev, sizeof(mbox64_t),
^1da177e4c3f41 Linus Torvalds 2005-04-16 4458 adapter->una_mbox64, adapter->una_mbox64_dma);
^1da177e4c3f41 Linus Torvalds 2005-04-16 4459 out_free_irq:
^1da177e4c3f41 Linus Torvalds 2005-04-16 4460 free_irq(adapter->host->irq, adapter);
^1da177e4c3f41 Linus Torvalds 2005-04-16 4461 out_free_scb_list:
^1da177e4c3f41 Linus Torvalds 2005-04-16 4462 kfree(adapter->scb_list);
^1da177e4c3f41 Linus Torvalds 2005-04-16 4463 out_free_cmd_buffer:
ec090ef8cd1c23 Suraj Upadhyay 2020-07-29 4464 dma_free_coherent(&adapter->dev->dev, MEGA_BUFFER_SIZE,
^1da177e4c3f41 Linus Torvalds 2005-04-16 4465 adapter->mega_buffer, adapter->buf_dma_handle);
^1da177e4c3f41 Linus Torvalds 2005-04-16 4466 out_host_put:
^1da177e4c3f41 Linus Torvalds 2005-04-16 4467 scsi_host_put(host);
^1da177e4c3f41 Linus Torvalds 2005-04-16 4468 out_iounmap:
^1da177e4c3f41 Linus Torvalds 2005-04-16 4469 if (flag & BOARD_MEMMAP)
^1da177e4c3f41 Linus Torvalds 2005-04-16 @4470 iounmap((void *)mega_baseport);
^1da177e4c3f41 Linus Torvalds 2005-04-16 4471 out_release_region:
^1da177e4c3f41 Linus Torvalds 2005-04-16 4472 if (flag & BOARD_MEMMAP)
^1da177e4c3f41 Linus Torvalds 2005-04-16 4473 release_mem_region(tbase, 128);
^1da177e4c3f41 Linus Torvalds 2005-04-16 4474 else
^1da177e4c3f41 Linus Torvalds 2005-04-16 4475 release_region(mega_baseport, 16);
^1da177e4c3f41 Linus Torvalds 2005-04-16 4476 out_disable_device:
^1da177e4c3f41 Linus Torvalds 2005-04-16 4477 pci_disable_device(pdev);
^1da177e4c3f41 Linus Torvalds 2005-04-16 4478 out:
^1da177e4c3f41 Linus Torvalds 2005-04-16 4479 return error;
^1da177e4c3f41 Linus Torvalds 2005-04-16 4480 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 4481

:::::: The code at line 4470 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
https://01.org/lkp