drivers/scsi/pcmcia/nsp_cs.c:1683:34: sparse: sparse: incorrect type in argument 1 (different address spaces)

From: kernel test robot
Date: Wed May 31 2023 - 13:28:45 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 48b1320a674e1ff5de2fad8606bee38f724594dc
commit: c44f15c1c09481d50fd33478ebb5b8284f8f5edb arc: iounmap() arg is volatile
date: 8 months ago
config: arc-randconfig-s052-20230531 (https://download.01.org/0day-ci/archive/20230601/202306010129.QHfIJwq1-lkp@xxxxxxxxx/config)
compiler: arc-elf-gcc (GCC) 12.3.0
reproduce:
mkdir -p ~/bin
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=c44f15c1c09481d50fd33478ebb5b8284f8f5edb
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout c44f15c1c09481d50fd33478ebb5b8284f8f5edb
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.3.0 ~/bin/make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arc olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.3.0 ~/bin/make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arc SHELL=/bin/bash drivers/scsi/pcmcia/

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

sparse warnings: (new ones prefixed by >>)
>> drivers/scsi/pcmcia/nsp_cs.c:1683:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/scsi/pcmcia/nsp_cs.c:1683:34: sparse: expected void const volatile [noderef] __iomem *addr
drivers/scsi/pcmcia/nsp_cs.c:1683:34: sparse: got void *
drivers/scsi/pcmcia/nsp_cs.c: note: in included file:
drivers/scsi/pcmcia/nsp_io.h:231:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned long *ptr @@
drivers/scsi/pcmcia/nsp_io.h:231:24: sparse: expected void const volatile [noderef] __iomem *addr
drivers/scsi/pcmcia/nsp_io.h:231:24: sparse: got unsigned long *ptr
drivers/scsi/pcmcia/nsp_io.h:257:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned long *ptr @@
drivers/scsi/pcmcia/nsp_io.h:257:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/scsi/pcmcia/nsp_io.h:257:17: sparse: got unsigned long *ptr

vim +1683 drivers/scsi/pcmcia/nsp_cs.c

^1da177e4c3f415 Linus Torvalds 2005-04-16 1661
^1da177e4c3f415 Linus Torvalds 2005-04-16 1662
fba395eee7d3f34 Dominik Brodowski 2006-03-31 1663 static void nsp_cs_release(struct pcmcia_device *link)
^1da177e4c3f415 Linus Torvalds 2005-04-16 1664 {
^1da177e4c3f415 Linus Torvalds 2005-04-16 1665 scsi_info_t *info = link->priv;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1666 nsp_hw_data *data = NULL;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1667
^1da177e4c3f415 Linus Torvalds 2005-04-16 1668 if (info->host == NULL) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 1669 nsp_msg(KERN_DEBUG, "unexpected card release call.");
^1da177e4c3f415 Linus Torvalds 2005-04-16 1670 } else {
^1da177e4c3f415 Linus Torvalds 2005-04-16 1671 data = (nsp_hw_data *)info->host->hostdata;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1672 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1673
^1da177e4c3f415 Linus Torvalds 2005-04-16 1674 nsp_dbg(NSP_DEBUG_INIT, "link=0x%p", link);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1675
^1da177e4c3f415 Linus Torvalds 2005-04-16 1676 /* Unlink the device chain */
^1da177e4c3f415 Linus Torvalds 2005-04-16 1677 if (info->host != NULL) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 1678 scsi_remove_host(info->host);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1679 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1680
cdb138080b78146 Dominik Brodowski 2010-07-28 1681 if (resource_size(link->resource[2])) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 1682 if (data != NULL) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 @1683 iounmap((void *)(data->MmioAddress));
^1da177e4c3f415 Linus Torvalds 2005-04-16 1684 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1685 }
fba395eee7d3f34 Dominik Brodowski 2006-03-31 1686 pcmcia_disable_device(link);
5f2a71fcb799563 Dominik Brodowski 2006-01-15 1687
^1da177e4c3f415 Linus Torvalds 2005-04-16 1688 if (info->host != NULL) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 1689 scsi_host_put(info->host);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1690 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1691 } /* nsp_cs_release */
^1da177e4c3f415 Linus Torvalds 2005-04-16 1692

:::::: The code at line 1683 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://github.com/intel/lkp-tests/wiki