Re: [PATCH v2 1/2] dt-bindings: regulator: Add DA9121

From: Vincent Whitchurch
Date: Thu Nov 05 2020 - 04:39:30 EST


On Wed, Nov 04, 2020 at 07:57:55PM +0100, Rob Herring wrote:
> On Tue, 03 Nov 2020 11:00:20 +0100, Vincent Whitchurch wrote:
> > Add bindings for the Dialog Semiconductor DA9121 voltage regulator.
> >
> > Signed-off-by: Vincent Whitchurch <vincent.whitchurch@xxxxxxxx>
> > ---
> > .../bindings/regulator/dlg,da9121.yaml | 47 +++++++++++++++++++
> > 1 file changed, 47 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/regulator/dlg,da9121.yaml
> >
>
> My bot found errors running 'make dt_binding_check' on your patch:
>
> yamllint warnings/errors:
>
> dtschema/dtc warnings/errors:
> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/regulator/dlg,da9121.yaml: 'additionalProperties' is a required property
> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/regulator/dlg,da9121.yaml: ignoring, error in schema:
> warning: no schema found in file: ./Documentation/devicetree/bindings/regulator/dlg,da9121.yaml
>
> See https://patchwork.ozlabs.org/patch/1392753

OK, thanks. I'll fix it by changing the unevaluatedProperties to an
additionalProperties (since the $ref has moved).

I think I should also move the unevaluatedProperties to the buck1 level
instead of removing it completely, because I see a bunch of other
regulator bindings doing it, but the checks don't complain about that
being missing and I can't see that making any difference for the
validation.

For example, I was hoping that this:

buck1:
description:
Initial data for the Buck1 regulator.
$ref: "regulator.yaml#"
type: object
unevaluatedProperties: false

would complain about something like:

buck1 {
not-a-real-property;
regulator-min-microvolt = <680000>;
regulator-max-microvolt = <820000>;
};

but it doesn't, so I don't quite understand what "unevaluatedProperties:
false" prevents.

>
> The base for the patch is generally the last rc1. Any dependencies
> should be noted.
>
> 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

Not sure if it's just something wrong in my setup, but I had dtschema
installed from master a while ago, and the above command didn't upgrade
it for me. I had to explicitly upgrade it with the full URL again to
get the latest version:

pip3 install --upgrade git+https://github.com/devicetree-org/dt-schema.git@master