soc: qcom: smem: Support reserved-memory description
authorBjorn Andersson <bjorn.andersson@linaro.org>
Thu, 30 Sep 2021 18:21:10 +0000 (11:21 -0700)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Fri, 15 Oct 2021 00:57:16 +0000 (19:57 -0500)
commitb5af64fceb04dc298c5e69c517b4d83893ff060b
tree8933eefef54a9c2da21aa69fdb8887074c34e6c2
parent7a99e87e2e6bce689d77185c1a127b777b2b20f4
soc: qcom: smem: Support reserved-memory description

Practically all modern Qualcomm platforms has a single reserved-memory
region for SMEM. So rather than having to describe SMEM in the form of a
node with a reference to a reserved-memory node, allow the SMEM device
to be instantiated directly from the reserved-memory node.

The current means of falling back to dereferencing the "memory-region"
is kept as a fallback, if it's determined that the SMEM node is a
reserved-memory node.

The "qcom,smem" compatible is added to the reserved_mem_matches list, to
allow the reserved-memory device to be probed.

In order to retain the readability of the code, the resolution of
resources is split from the actual ioremapping.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Link: https://lore.kernel.org/r/20210930182111.57353-4-bjorn.andersson@linaro.org
drivers/of/platform.c
drivers/soc/qcom/smem.c