firmware: arm_scmi: Fix sparse warnings in OPTEE transport driver
authorSudeep Holla <sudeep.holla@arm.com>
Mon, 4 Apr 2022 10:24:19 +0000 (11:24 +0100)
committerSudeep Holla <sudeep.holla@arm.com>
Mon, 4 Apr 2022 22:06:37 +0000 (23:06 +0100)
commitbf36619a5463fbe6d3ecde37bb13680b532a253b
treecb3575eec308d29e92a379976ee970c34ff4b9ea
parentf1ad601d1f4a8f5dac69706d641f3a88beccc488
firmware: arm_scmi: Fix sparse warnings in OPTEE transport driver

The sparse checker complains about converting pointers between address
spaces.  We correctly stored an __iomem pointer in struct scmi_optee_channel,
but discarded the __iomem when returning it from get_channel_shm, causing one
warning. Then we passed the non-__iomem pointer return from get_channel_shm
at two other places, where an __iomem pointer is expected, causing couple of
other warnings

Add the appropriate __iomem annotations at all places where it is missing.

optee.c:414:20: warning: incorrect type in return expression (different address spaces)
optee.c:414:20:    expected struct scmi_shared_mem *
optee.c:414:20:    got struct scmi_shared_mem [noderef] __iomem *shmem
optee.c:426:26: warning: incorrect type in argument 1 (different address spaces)
optee.c:426:26:    expected struct scmi_shared_mem [noderef] __iomem *shmem
optee.c:426:26:    got struct scmi_shared_mem *shmem
optee.c:441:30: warning: incorrect type in argument 1 (different address spaces)
optee.c:441:30:    expected struct scmi_shared_mem [noderef] __iomem *shmem
optee.c:441:30:    got struct scmi_shared_mem *shmem

Link: https://lore.kernel.org/r/20220404102419.1159705-1-sudeep.holla@arm.com
Cc: Etienne Carriere <etienne.carriere@linaro.org>
Cc: Cristian Marussi <cristian.marussi@arm.com>
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
drivers/firmware/arm_scmi/optee.c