Message ID | 20211228142549.1275412-3-michael@walle.cc (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | nvmem: add ethernet address offset support | expand |
On Tue, 28 Dec 2021 15:25:43 +0100, Michael Walle wrote: > Just add a simple list of the supported devices which need a nvmem > transformations. > > Also, since the compatible string is prepended to the actual nvmem > compatible string, we need to match using "contains" instead of an exact > match. > > Signed-off-by: Michael Walle <michael@walle.cc> > --- > .../devicetree/bindings/mtd/mtd.yaml | 7 +-- > .../bindings/nvmem/nvmem-transformations.yaml | 46 +++++++++++++++++++ > 2 files changed, 50 insertions(+), 3 deletions(-) > create mode 100644 Documentation/devicetree/bindings/nvmem/nvmem-transformations.yaml > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: ./Documentation/devicetree/bindings/nvmem/nvmem-transformations.yaml:19:9: [warning] wrong indentation: expected 10 but found 8 (indentation) ./Documentation/devicetree/bindings/nvmem/nvmem-transformations.yaml:20:11: [warning] wrong indentation: expected 12 but found 10 (indentation) dtschema/dtc warnings/errors: doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/patch/1573687 This check can fail if there are any dependencies. The base for a patch series is generally the most recent rc1. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit.
On Tue, Dec 28, 2021 at 03:25:43PM +0100, Michael Walle wrote: > Just add a simple list of the supported devices which need a nvmem > transformations. > > Also, since the compatible string is prepended to the actual nvmem > compatible string, we need to match using "contains" instead of an exact > match. > > Signed-off-by: Michael Walle <michael@walle.cc> > --- > .../devicetree/bindings/mtd/mtd.yaml | 7 +-- > .../bindings/nvmem/nvmem-transformations.yaml | 46 +++++++++++++++++++ > 2 files changed, 50 insertions(+), 3 deletions(-) > create mode 100644 Documentation/devicetree/bindings/nvmem/nvmem-transformations.yaml > > diff --git a/Documentation/devicetree/bindings/mtd/mtd.yaml b/Documentation/devicetree/bindings/mtd/mtd.yaml > index 376b679cfc70..0291e439b6a6 100644 > --- a/Documentation/devicetree/bindings/mtd/mtd.yaml > +++ b/Documentation/devicetree/bindings/mtd/mtd.yaml > @@ -33,9 +33,10 @@ patternProperties: > > properties: > compatible: > - enum: > - - user-otp > - - factory-otp > + contains: > + enum: > + - user-otp > + - factory-otp If the addition is only compatible strings, then I would just add them here. Otherwise this needs to be structured a bit differently. More on that below. > > required: > - compatible > diff --git a/Documentation/devicetree/bindings/nvmem/nvmem-transformations.yaml b/Documentation/devicetree/bindings/nvmem/nvmem-transformations.yaml > new file mode 100644 > index 000000000000..8c8d85fd6d27 > --- /dev/null > +++ b/Documentation/devicetree/bindings/nvmem/nvmem-transformations.yaml > @@ -0,0 +1,46 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/nvmem/nvmem-transformations.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: NVMEM transformations Device Tree Bindings > + > +maintainers: > + - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > + > +description: | > + This is a list NVMEM devices which need transformations. > + > +properties: > + compatible: > + oneOf: > + - items: > + - enum: > + - kontron,sl28-vpd > + - const: user-otp > + - const: user-otp This will be applied to any node containing 'user-otp'. You need a custom 'select' to avoid that. > + > +required: > + - compatible > + > +additionalProperties: true True is only allowed for common schema intended to be included (i.e. a $ref) by other schemas. IOW, ones that are incomplete on their own. So you need to reference mtd.yaml and make this 'unevaluatedProperties: false'. > + > +examples: > + - | > + otp-1 { > + compatible = "kontron,sl28-vpd", "user-otp"; > + #address-cells = <1>; > + #size-cells = <1>; > + > + serial@2 { > + reg = <2 15>; > + }; > + > + base_mac_address: base-mac-address@17 { > + #nvmem-cell-cells = <1>; > + reg = <17 6>; > + }; > + }; > + > +... > -- > 2.30.2 > >
Am 2022-01-04 16:03, schrieb Rob Herring: > On Tue, Dec 28, 2021 at 03:25:43PM +0100, Michael Walle wrote: >> Just add a simple list of the supported devices which need a nvmem >> transformations. >> >> Also, since the compatible string is prepended to the actual nvmem >> compatible string, we need to match using "contains" instead of an >> exact >> match. >> >> Signed-off-by: Michael Walle <michael@walle.cc> >> --- >> .../devicetree/bindings/mtd/mtd.yaml | 7 +-- >> .../bindings/nvmem/nvmem-transformations.yaml | 46 >> +++++++++++++++++++ >> 2 files changed, 50 insertions(+), 3 deletions(-) >> create mode 100644 >> Documentation/devicetree/bindings/nvmem/nvmem-transformations.yaml >> >> diff --git a/Documentation/devicetree/bindings/mtd/mtd.yaml >> b/Documentation/devicetree/bindings/mtd/mtd.yaml >> index 376b679cfc70..0291e439b6a6 100644 >> --- a/Documentation/devicetree/bindings/mtd/mtd.yaml >> +++ b/Documentation/devicetree/bindings/mtd/mtd.yaml >> @@ -33,9 +33,10 @@ patternProperties: >> >> properties: >> compatible: >> - enum: >> - - user-otp >> - - factory-otp >> + contains: >> + enum: >> + - user-otp >> + - factory-otp > > If the addition is only compatible strings, then I would just add them > here. Otherwise this needs to be structured a bit differently. More on > that below. I wanted to avoid having these compatible strings "cluttered" all around the various files. Esp. having a specific compatible string in a generic mtd.yaml. But if everyone is fine with that, I'll just move it here. >> >> required: >> - compatible >> diff --git >> a/Documentation/devicetree/bindings/nvmem/nvmem-transformations.yaml >> b/Documentation/devicetree/bindings/nvmem/nvmem-transformations.yaml >> new file mode 100644 >> index 000000000000..8c8d85fd6d27 >> --- /dev/null >> +++ >> b/Documentation/devicetree/bindings/nvmem/nvmem-transformations.yaml >> @@ -0,0 +1,46 @@ >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/nvmem/nvmem-transformations.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: NVMEM transformations Device Tree Bindings >> + >> +maintainers: >> + - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> >> + >> +description: | >> + This is a list NVMEM devices which need transformations. >> + >> +properties: >> + compatible: >> + oneOf: >> + - items: >> + - enum: >> + - kontron,sl28-vpd >> + - const: user-otp >> + - const: user-otp > > This will be applied to any node containing 'user-otp'. You need a > custom 'select' to avoid that. Out of curiosity, you mean something like: select: compatible: contains: enum: - kontron,sl28-vpd
On Wed, Jan 5, 2022 at 2:25 AM Michael Walle <michael@walle.cc> wrote: > > Am 2022-01-04 16:03, schrieb Rob Herring: > > On Tue, Dec 28, 2021 at 03:25:43PM +0100, Michael Walle wrote: > >> Just add a simple list of the supported devices which need a nvmem > >> transformations. > >> > >> Also, since the compatible string is prepended to the actual nvmem > >> compatible string, we need to match using "contains" instead of an > >> exact > >> match. > >> > >> Signed-off-by: Michael Walle <michael@walle.cc> > >> --- > >> .../devicetree/bindings/mtd/mtd.yaml | 7 +-- > >> .../bindings/nvmem/nvmem-transformations.yaml | 46 > >> +++++++++++++++++++ > >> 2 files changed, 50 insertions(+), 3 deletions(-) > >> create mode 100644 > >> Documentation/devicetree/bindings/nvmem/nvmem-transformations.yaml > >> > >> diff --git a/Documentation/devicetree/bindings/mtd/mtd.yaml > >> b/Documentation/devicetree/bindings/mtd/mtd.yaml > >> index 376b679cfc70..0291e439b6a6 100644 > >> --- a/Documentation/devicetree/bindings/mtd/mtd.yaml > >> +++ b/Documentation/devicetree/bindings/mtd/mtd.yaml > >> @@ -33,9 +33,10 @@ patternProperties: > >> > >> properties: > >> compatible: > >> - enum: > >> - - user-otp > >> - - factory-otp > >> + contains: > >> + enum: > >> + - user-otp > >> + - factory-otp > > > > If the addition is only compatible strings, then I would just add them > > here. Otherwise this needs to be structured a bit differently. More on > > that below. > > I wanted to avoid having these compatible strings "cluttered" all around > the various files. Esp. having a specific compatible string in a generic > mtd.yaml. But if everyone is fine with that, I'll just move it here. > > >> > >> required: > >> - compatible > >> diff --git > >> a/Documentation/devicetree/bindings/nvmem/nvmem-transformations.yaml > >> b/Documentation/devicetree/bindings/nvmem/nvmem-transformations.yaml > >> new file mode 100644 > >> index 000000000000..8c8d85fd6d27 > >> --- /dev/null > >> +++ > >> b/Documentation/devicetree/bindings/nvmem/nvmem-transformations.yaml > >> @@ -0,0 +1,46 @@ > >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > >> +%YAML 1.2 > >> +--- > >> +$id: http://devicetree.org/schemas/nvmem/nvmem-transformations.yaml# > >> +$schema: http://devicetree.org/meta-schemas/core.yaml# > >> + > >> +title: NVMEM transformations Device Tree Bindings > >> + > >> +maintainers: > >> + - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > >> + > >> +description: | > >> + This is a list NVMEM devices which need transformations. > >> + > >> +properties: > >> + compatible: > >> + oneOf: > >> + - items: > >> + - enum: > >> + - kontron,sl28-vpd > >> + - const: user-otp > >> + - const: user-otp > > > > This will be applied to any node containing 'user-otp'. You need a > > custom 'select' to avoid that. > > Out of curiosity, you mean something like: > > select: > compatible: > contains: > enum: > - kontron,sl28-vpd Yes, that's correct. Rob
diff --git a/Documentation/devicetree/bindings/mtd/mtd.yaml b/Documentation/devicetree/bindings/mtd/mtd.yaml index 376b679cfc70..0291e439b6a6 100644 --- a/Documentation/devicetree/bindings/mtd/mtd.yaml +++ b/Documentation/devicetree/bindings/mtd/mtd.yaml @@ -33,9 +33,10 @@ patternProperties: properties: compatible: - enum: - - user-otp - - factory-otp + contains: + enum: + - user-otp + - factory-otp required: - compatible diff --git a/Documentation/devicetree/bindings/nvmem/nvmem-transformations.yaml b/Documentation/devicetree/bindings/nvmem/nvmem-transformations.yaml new file mode 100644 index 000000000000..8c8d85fd6d27 --- /dev/null +++ b/Documentation/devicetree/bindings/nvmem/nvmem-transformations.yaml @@ -0,0 +1,46 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/nvmem/nvmem-transformations.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: NVMEM transformations Device Tree Bindings + +maintainers: + - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> + +description: | + This is a list NVMEM devices which need transformations. + +properties: + compatible: + oneOf: + - items: + - enum: + - kontron,sl28-vpd + - const: user-otp + - const: user-otp + +required: + - compatible + +additionalProperties: true + +examples: + - | + otp-1 { + compatible = "kontron,sl28-vpd", "user-otp"; + #address-cells = <1>; + #size-cells = <1>; + + serial@2 { + reg = <2 15>; + }; + + base_mac_address: base-mac-address@17 { + #nvmem-cell-cells = <1>; + reg = <17 6>; + }; + }; + +...
Just add a simple list of the supported devices which need a nvmem transformations. Also, since the compatible string is prepended to the actual nvmem compatible string, we need to match using "contains" instead of an exact match. Signed-off-by: Michael Walle <michael@walle.cc> --- .../devicetree/bindings/mtd/mtd.yaml | 7 +-- .../bindings/nvmem/nvmem-transformations.yaml | 46 +++++++++++++++++++ 2 files changed, 50 insertions(+), 3 deletions(-) create mode 100644 Documentation/devicetree/bindings/nvmem/nvmem-transformations.yaml