Re: [PATCH v3 01/15] dt-bindings: clock: split qcom,gcc.yaml to common and specific schema

From: Ansuel Smith
Date: Tue Feb 01 2022 - 16:53:37 EST


On Mon, Jan 31, 2022 at 05:11:44PM -0600, Bjorn Andersson wrote:
> On Fri 21 Jan 15:03 CST 2022, Ansuel Smith wrote:
>
> > Split qcom,gcc.yaml to common and specific schema to use it as a
> > template for schema that needs to use the gcc bindings and require
> > to add additional bindings.
> >
>
> Nice!
>
> > Signed-off-by: Ansuel Smith <ansuelsmth@xxxxxxxxx>
> > ---
> > .../bindings/clock/qcom,gcc-common.yaml | 42 +++++++++++++++++++
> > .../devicetree/bindings/clock/qcom,gcc.yaml | 25 ++---------
> > 2 files changed, 46 insertions(+), 21 deletions(-)
> > create mode 100644 Documentation/devicetree/bindings/clock/qcom,gcc-common.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-common.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-common.yaml
> > new file mode 100644
> > index 000000000000..ea1dd94d8bf1
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/clock/qcom,gcc-common.yaml
>
> It seems reasonable to expect that qcom,gcc.yaml should be split out in
> a number of trivial qcom,gcc-platform.yaml files to define input clock
> etc. So how about using qcom,gcc.yaml for the common properties and for
> now rename the existing file to something like qcom,gcc-others.yaml
> ?
>

Ok, just to make sure.
gcc-common.yaml -> gcc.yaml (the template)
gcc.yaml -> gcc-others.yaml (the generic gcc schema)

Correct?

> > @@ -0,0 +1,42 @@
> > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/clock/qcom,gcc-common.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Qualcomm Global Clock & Reset Controller Binding Common Bindings
> > +
> > +maintainers:
> > + - Stephen Boyd <sboyd@xxxxxxxxxx>
> > + - Taniya Das <tdas@xxxxxxxxxxxxxx>
> > +
> > +description: |
>
> No need to preserve the formatting here, so the pipe can go.
>
> Regards,
> Bjorn
>
> > + Common bindings for Qualcomm global clock control module which supports
> > + the clocks, resets and power domains.
> > +
> > +properties:
> > + '#clock-cells':
> > + const: 1
> > +
> > + '#reset-cells':
> > + const: 1
> > +
> > + '#power-domain-cells':
> > + const: 1
> > +
> > + reg:
> > + maxItems: 1
> > +
> > + protected-clocks:
> > + description:
> > + Protected clock specifier list as per common clock binding.
> > +
> > +required:
> > + - reg
> > + - '#clock-cells'
> > + - '#reset-cells'
> > + - '#power-domain-cells'
> > +
> > +additionalProperties: true
> > +
> > +...
> > diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc.yaml
> > index f66d703bd913..73e3ff4979c6 100644
> > --- a/Documentation/devicetree/bindings/clock/qcom,gcc.yaml
> > +++ b/Documentation/devicetree/bindings/clock/qcom,gcc.yaml
> > @@ -34,6 +34,9 @@ description: |
> > - dt-bindings/reset/qcom,gcc-mdm9615.h
> > - dt-bindings/clock/qcom,gcc-sdm660.h (qcom,gcc-sdm630 and qcom,gcc-sdm660)
> >
> > +allOf:
> > + - $ref: "qcom,gcc-common.yaml#"
> > +
> > properties:
> > compatible:
> > enum:
> > @@ -55,30 +58,10 @@ properties:
> > - qcom,gcc-sdm630
> > - qcom,gcc-sdm660
> >
> > - '#clock-cells':
> > - const: 1
> > -
> > - '#reset-cells':
> > - const: 1
> > -
> > - '#power-domain-cells':
> > - const: 1
> > -
> > - reg:
> > - maxItems: 1
> > -
> > - protected-clocks:
> > - description:
> > - Protected clock specifier list as per common clock binding.
> > -
> > required:
> > - compatible
> > - - reg
> > - - '#clock-cells'
> > - - '#reset-cells'
> > - - '#power-domain-cells'
> >
> > -additionalProperties: false
> > +unevaluatedProperties: false
> >
> > examples:
> > # Example for GCC for MSM8960:
> > --
> > 2.33.1
> >

--
Ansuel