Message ID | 20200413164440.1138178-3-iskren.chernev@gmail.com |
---|---|
State | New |
Headers | show |
Series | [1/3] regulator: max77826: Add max77826 regulator driver | expand |
On Mon, Apr 13, 2020 at 07:44:39PM +0300, Iskren Chernev wrote: > Add device tree binding information for max77826 regulator driver. > Example bindings for max77826 are added. > > Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com> > --- > .../bindings/regulator/maxim,max77826.yaml | 70 +++++++++++++++++++ > 1 file changed, 70 insertions(+) > create mode 100644 Documentation/devicetree/bindings/regulator/maxim,max77826.yaml > > diff --git a/Documentation/devicetree/bindings/regulator/maxim,max77826.yaml b/Documentation/devicetree/bindings/regulator/maxim,max77826.yaml > new file mode 100644 > index 000000000000..3cd449a746b0 > --- /dev/null > +++ b/Documentation/devicetree/bindings/regulator/maxim,max77826.yaml > @@ -0,0 +1,70 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/regulator/maxim,max77826.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Maxim Integrated MAX77826 PMIC > + > +maintainers: > + - Iskren Chernev <iskren.chernev@gmail.com> > + > +properties: > + $nodename: > + pattern: "pmic@[0-9a-f]{1,2}" > + compatible: > + enum: > + - maxim,max77826-regulator > + > + reg: > + maxItems: 1 > + > + regulators: > + type: object > + allOf: > + - $ref: regulator.yaml# > + description: | > + list of regulators provided by this controller, must be named > + after their hardware counterparts LDO[1-15], BUCK and BUCKBOOST > + > + patternProperties: > + "^LDO([1-9]|1[0-5])$": > + type: object > + allOf: > + - $ref: regulator.yaml# > + > + "^BUCK|BUCKBOOST$": > + type: object > + allOf: > + - $ref: regulator.yaml# > + > + additionalProperties: false You are defining a property called 'additionalProperties'. This one should be dropped because additionalProperties doesn't work with a $ref. > + additionalProperties: false > + > +required: > + - compatible > + - reg > + - regulators > + > +additionalProperties: false > + > +examples: > + - | > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + pmic@69 { > + compatible = "maxim,max77826-regulator"; > + reg = <0x69>; > + > + regulators { > + LDO2 { > + regulator-name = "ldo2"; > + regulator-min-microvolt = <650000>; > + regulator-max-microvolt = <3587500>; > + }; > + }; > + }; > + }; > +... > -- > 2.26.0 >
On Thu, Apr 23, 2020 at 7:59 AM Iskren Chernev <iskren.chernev@gmail.com> wrote: > > > On 4/20/20 11:55 PM, Rob Herring wrote: > > On Mon, Apr 13, 2020 at 07:44:39PM +0300, Iskren Chernev wrote: > >> + patternProperties: > >> + "^LDO([1-9]|1[0-5])$": > >> + type: object > >> + allOf: > >> + - $ref: regulator.yaml# > >> + > >> + "^BUCK|BUCKBOOST$": > >> + type: object > >> + allOf: > >> + - $ref: regulator.yaml# > >> + > >> + additionalProperties: false > > > > You are defining a property called 'additionalProperties'. This one > > should be dropped because additionalProperties doesn't work with a $ref. > > > > I got the idea from mps,mpq7920.yaml. It has additionalProperties in the > exact same places that I do. Also bd718(28|37|47).yaml seem to use > additionalProperties inside patternProperties. Shall I modify it as well? Indeed. mps,mp5416.yaml too. I'll fix all of these and few non-regulator ones so I can get them into rc3. > I couldn't find the core schema for this yaml: > http://devicetree.org/meta-schemas/core.yaml (gives 404). Is there a way > to verify the validity of the yaml? Running 'make dt_binding_check'. The url is just convention and while files could be there they aren't. They are all contained in the dtschema module[1]. However, in this case the meta-schema fails to check for this. It is technically valid as it is saying you can't have a DT property called 'additionalProperties'. I've written a check now which should disallow listing any DT property names which are json-schema vocabulary. Once the failures get fixed I'll add it to the meta-schema. > Also, this patch is already merged in linux-next. I guess I shall submit > a new patch with the fixes standalone? Yes, should be on top of this one. Thanks, Rob [1] https://github.com/devicetree-org/dt-schema
diff --git a/Documentation/devicetree/bindings/regulator/maxim,max77826.yaml b/Documentation/devicetree/bindings/regulator/maxim,max77826.yaml new file mode 100644 index 000000000000..3cd449a746b0 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/maxim,max77826.yaml @@ -0,0 +1,70 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/regulator/maxim,max77826.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Maxim Integrated MAX77826 PMIC + +maintainers: + - Iskren Chernev <iskren.chernev@gmail.com> + +properties: + $nodename: + pattern: "pmic@[0-9a-f]{1,2}" + compatible: + enum: + - maxim,max77826-regulator + + reg: + maxItems: 1 + + regulators: + type: object + allOf: + - $ref: regulator.yaml# + description: | + list of regulators provided by this controller, must be named + after their hardware counterparts LDO[1-15], BUCK and BUCKBOOST + + patternProperties: + "^LDO([1-9]|1[0-5])$": + type: object + allOf: + - $ref: regulator.yaml# + + "^BUCK|BUCKBOOST$": + type: object + allOf: + - $ref: regulator.yaml# + + additionalProperties: false + additionalProperties: false + +required: + - compatible + - reg + - regulators + +additionalProperties: false + +examples: + - | + i2c { + #address-cells = <1>; + #size-cells = <0>; + + pmic@69 { + compatible = "maxim,max77826-regulator"; + reg = <0x69>; + + regulators { + LDO2 { + regulator-name = "ldo2"; + regulator-min-microvolt = <650000>; + regulator-max-microvolt = <3587500>; + }; + }; + }; + }; +...
Add device tree binding information for max77826 regulator driver. Example bindings for max77826 are added. Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com> --- .../bindings/regulator/maxim,max77826.yaml | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 Documentation/devicetree/bindings/regulator/maxim,max77826.yaml