Re: [PATCH 1/3] dt-bindings: soc: smem: Make indirection optional

From: Stephan Gerhold
Date: Tue Sep 28 2021 - 06:25:16 EST


On Mon, Sep 27, 2021 at 09:45:44PM -0700, Bjorn Andersson wrote:
> In the olden days the Qualcomm shared memory (SMEM) region consisted of
> multiple chunks of memory, so SMEM was described as a standalone node
> with references to its various memory regions.
>
> But practically all modern Qualcomm platforms has a single reserved memory
> region used for SMEM. So rather than having to use two nodes to describe
> the one SMEM region, update the binding to allow the reserved-memory
> region alone to describe SMEM.
>
> The olden format is preserved as valid, as this is widely used already.
>
> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
> ---
> .../bindings/soc/qcom/qcom,smem.yaml | 34 ++++++++++++++++---
> 1 file changed, 30 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,smem.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,smem.yaml
> index f7e17713b3d8..4149cf2b66be 100644
> --- a/Documentation/devicetree/bindings/soc/qcom/qcom,smem.yaml
> +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,smem.yaml
> [...]
> @@ -43,6 +55,20 @@ examples:
> #size-cells = <1>;
> ranges;
>
> + smem@fa00000 {

I think this is a good opportunity to make a decision which node name
should be used here. :)

You use smem@ here but mentioned before that you think using the generic
memory@ would be better [1]. And you use memory@ in PATCH 3/3:

- smem_mem: memory@86000000 {
+ memory@86000000 {
+ compatible = "qcom,smem";
reg = <0x0 0x86000000 0 0x200000>;
no-map;
+ hwlocks = <&tcsr_mutex 3>;
};

However, if you would use memory@ as example in this DT schema,
Rob's bot would complain with the same error that I mentioned earlier [2]:

soc/qcom/qcom,smem.example.dt.yaml: memory@fa00000: 'device_type' is a required property
From schema: dtschema/schemas/memory.yaml

We should either fix the error when using memory@ or start using some
different node name (Stephen Boyd suggested shared-memory@ for example).
Otherwise we'll just keep introducing more and more dtbs_check errors
for the Qualcomm device trees.

Thanks,
Stephan

[1]: https://lore.kernel.org/linux-arm-msm/YUo0suaIugOco1Vu@xxxxxxxxxxx/
[2]: https://lore.kernel.org/linux-arm-msm/YUo2ZzQktf2iSec%2F@xxxxxxxxxxx/