Re: [PATCH v2 1/8] firmware: arm_scmi: Introduce setup_shmem_iomap

From: Cristian Marussi
Date: Fri Jul 26 2024 - 11:19:12 EST


On Sat, Jul 13, 2024 at 03:44:38AM +0800, kernel test robot wrote:
> Hi Cristian,
>
> kernel test robot noticed the following build warnings:
>
> [auto build test WARNING on soc/for-next]
> [also build test WARNING on next-20240712]
> [cannot apply to linus/master v6.10-rc7]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch#_base_tree_information]
>
> url: https://github.com/intel-lab-lkp/linux/commits/Cristian-Marussi/firmware-arm_scmi-Introduce-setup_shmem_iomap/20240711-062033
> base: https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git for-next
> patch link: https://lore.kernel.org/r/20240710173153.4060457-2-cristian.marussi%40arm.com
> patch subject: [PATCH v2 1/8] firmware: arm_scmi: Introduce setup_shmem_iomap
> config: arm64-randconfig-r132-20240712 (https://download.01.org/0day-ci/archive/20240713/202407130355.IWguWKJm-lkp@xxxxxxxxx/config)
> compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
> reproduce: (https://download.01.org/0day-ci/archive/20240713/202407130355.IWguWKJm-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/202407130355.IWguWKJm-lkp@xxxxxxxxx/
>
> sparse warnings: (new ones prefixed by >>)
> >> drivers/firmware/arm_scmi/shmem.c:153:31: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] __iomem * @@ got void * @@
> drivers/firmware/arm_scmi/shmem.c:153:31: sparse: expected void [noderef] __iomem *
> drivers/firmware/arm_scmi/shmem.c:153:31: sparse: got void *
> drivers/firmware/arm_scmi/shmem.c:156:31: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] __iomem * @@ got void * @@
> drivers/firmware/arm_scmi/shmem.c:156:31: sparse: expected void [noderef] __iomem *
> drivers/firmware/arm_scmi/shmem.c:156:31: sparse: got void *
> drivers/firmware/arm_scmi/shmem.c:165:31: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] __iomem * @@ got void * @@
> drivers/firmware/arm_scmi/shmem.c:165:31: sparse: expected void [noderef] __iomem *
> drivers/firmware/arm_scmi/shmem.c:165:31: sparse: got void *
> drivers/firmware/arm_scmi/shmem.c:172:31: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] __iomem * @@ got void * @@
> drivers/firmware/arm_scmi/shmem.c:172:31: sparse: expected void [noderef] __iomem *
> drivers/firmware/arm_scmi/shmem.c:172:31: sparse: got void *
>
> vim +153 drivers/firmware/arm_scmi/shmem.c
>
> 138
> 139 void __iomem *setup_shmem_iomap(struct scmi_chan_info *cinfo,
> 140 struct device *dev, bool tx,
> 141 struct resource *res)
> 142 {
> 143 struct device_node *shmem __free(device_node);
> 144 const char *desc = tx ? "Tx" : "Rx";
> 145 int ret, idx = tx ? 0 : 1;
> 146 struct device *cdev = cinfo->dev;
> 147 struct resource lres = {};
> 148 resource_size_t size;
> 149 void __iomem *addr;
> 150
> 151 shmem = of_parse_phandle(cdev->of_node, "shmem", idx);
> 152 if (!shmem)
> > 153 return ERR_PTR(-ENODEV);
>

Will be fixed in V3 using IOMEM_ERR_PTR()

Thanks,
Cristian