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

From: Rob Herring
Date: Tue Sep 28 2021 - 13:34:52 EST


On Tue, Sep 28, 2021 at 5:22 AM Stephan Gerhold <stephan@xxxxxxxxxxx> wrote:
>
> 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. :)

reserved-memory node names are kind of a mess, so I haven't tried for
any standard... It needs to be solved globally.

>
> 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.

A different node name. A node name should only have 1 meaning and
'memory' is already defined.

The main issue here is what to name nodes with only a size and no address.

Rob