drivers/remoteproc/rcar_rproc.c:28:12: sparse: sparse: incorrect type in assignment (different address spaces)

From: kernel test robot
Date: Sat Dec 09 2023 - 08:50:21 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f2e8a57ee9036c7d5443382b6c3c09b51a92ec7e
commit: 285892a74f1370a12249f765c6a4e3b16194852e remoteproc: Add Renesas rcar driver
date: 2 years ago
config: openrisc-randconfig-r131-20231102 (https://download.01.org/0day-ci/archive/20231209/202312092135.RU2Mc1xl-lkp@xxxxxxxxx/config)
compiler: or1k-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231209/202312092135.RU2Mc1xl-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312092135.RU2Mc1xl-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
>> drivers/remoteproc/rcar_rproc.c:28:12: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *va @@ got void [noderef] __iomem * @@
drivers/remoteproc/rcar_rproc.c:28:12: sparse: expected void *va
drivers/remoteproc/rcar_rproc.c:28:12: sparse: got void [noderef] __iomem *
drivers/remoteproc/rcar_rproc.c:45:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got void *va @@
drivers/remoteproc/rcar_rproc.c:45:20: sparse: expected void [noderef] __iomem *addr
drivers/remoteproc/rcar_rproc.c:45:20: sparse: got void *va

vim +28 drivers/remoteproc/rcar_rproc.c

20
21 static int rcar_rproc_mem_alloc(struct rproc *rproc,
22 struct rproc_mem_entry *mem)
23 {
24 struct device *dev = &rproc->dev;
25 void *va;
26
27 dev_dbg(dev, "map memory: %pa+%zx\n", &mem->dma, mem->len);
> 28 va = ioremap_wc(mem->dma, mem->len);
29 if (!va) {
30 dev_err(dev, "Unable to map memory region: %pa+%zx\n",
31 &mem->dma, mem->len);
32 return -ENOMEM;
33 }
34
35 /* Update memory entry va */
36 mem->va = va;
37
38 return 0;
39 }
40

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