2022-09-02 19:24:33

by Andrew Halaney

[permalink] [raw]
Subject: [PATCH 1/3] regulator: dt-bindings: qcom,rpmh: Use additionalProperties

Right now, running make dt_binding_check results in this snippet:

/mnt/extrassd/git/linux-next/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml: 'additionalProperties' is a required property
hint: A schema without a "$ref" to another schema must define all properties and use "additionalProperties"
from schema $id: http://devicetree.org/meta-schemas/base.yaml#
SCHEMA Documentation/devicetree/bindings/processed-schema.json
<snip..>
/mnt/extrassd/git/linux-next/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml: ignoring, error in schema:

Which results in the schema not being properly evaluated. Swap out
unevaluatedProperties which doesn't seem to be doing anything for
additionalProperties.

Signed-off-by: Andrew Halaney <[email protected]>
---
.../devicetree/bindings/regulator/qcom,rpmh-regulator.yaml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
index 9a36bee750af..b3fd60b21610 100644
--- a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
+++ b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
@@ -106,6 +106,8 @@ patternProperties:
$ref: "regulator.yaml#"
description: smps/ldo regulator nodes(s).

+additionalProperties: false
+
required:
- compatible
- qcom,pmic-id
@@ -351,8 +353,6 @@ allOf:
"^vdd-l2[01]-supply$": true
"^vdd-s[1-8]-supply$": true

-unevaluatedProperties: false
-
examples:
- |
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
--
2.37.2


2022-09-02 21:36:54

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH 1/3] regulator: dt-bindings: qcom,rpmh: Use additionalProperties

On Fri, 02 Sep 2022 13:51:46 -0500, Andrew Halaney wrote:
> Right now, running make dt_binding_check results in this snippet:
>
> /mnt/extrassd/git/linux-next/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml: 'additionalProperties' is a required property
> hint: A schema without a "$ref" to another schema must define all properties and use "additionalProperties"
> from schema $id: http://devicetree.org/meta-schemas/base.yaml#
> SCHEMA Documentation/devicetree/bindings/processed-schema.json
> <snip..>
> /mnt/extrassd/git/linux-next/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml: ignoring, error in schema:
>
> Which results in the schema not being properly evaluated. Swap out
> unevaluatedProperties which doesn't seem to be doing anything for
> additionalProperties.
>
> Signed-off-by: Andrew Halaney <[email protected]>
> ---
> .../devicetree/bindings/regulator/qcom,rpmh-regulator.yaml | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>

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:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.example.dtb: pm8998-rpmh-regulators: 'vdd-l7-l12-l14-l15-supply' does not match any of the regexes: '^(smps|ldo|lvs)[0-9]+$', 'pinctrl-[0-9]+'
From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/

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.

2022-09-05 17:03:38

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/3] regulator: dt-bindings: qcom,rpmh: Use additionalProperties

On 05/09/2022 18:45, Krzysztof Kozlowski wrote:
> On 02/09/2022 20:51, Andrew Halaney wrote:
>> Right now, running make dt_binding_check results in this snippet:
>>
>> /mnt/extrassd/git/linux-next/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml: 'additionalProperties' is a required property
>> hint: A schema without a "$ref" to another schema must define all properties and use "additionalProperties"
>> from schema $id: http://devicetree.org/meta-schemas/base.yaml#
>> SCHEMA Documentation/devicetree/bindings/processed-schema.json
>> <snip..>
>> /mnt/extrassd/git/linux-next/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml: ignoring, error in schema:
>>
>> Which results in the schema not being properly evaluated. Swap out
>> unevaluatedProperties which doesn't seem to be doing anything for
>> additionalProperties.
>
> unevaluatedProperties were required due to usage of defs-allOf
> (ba5d99609a5e ("regulator: dt-bindings: qcom,rpmh: document supplies per
> variant")
> ).
>
> Are you sure that it works correctly with additionalProperties?
>
> Judging by errors it doesn't....

What's more - I cannot reproduce that error (latest released dtschema)...

Best regards,
Krzysztof

2022-09-05 17:03:38

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/3] regulator: dt-bindings: qcom,rpmh: Use additionalProperties

On 02/09/2022 20:51, Andrew Halaney wrote:
> Right now, running make dt_binding_check results in this snippet:
>
> /mnt/extrassd/git/linux-next/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml: 'additionalProperties' is a required property
> hint: A schema without a "$ref" to another schema must define all properties and use "additionalProperties"
> from schema $id: http://devicetree.org/meta-schemas/base.yaml#
> SCHEMA Documentation/devicetree/bindings/processed-schema.json
> <snip..>
> /mnt/extrassd/git/linux-next/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml: ignoring, error in schema:
>
> Which results in the schema not being properly evaluated. Swap out
> unevaluatedProperties which doesn't seem to be doing anything for
> additionalProperties.

unevaluatedProperties were required due to usage of defs-allOf
(ba5d99609a5e ("regulator: dt-bindings: qcom,rpmh: document supplies per
variant")
).

Are you sure that it works correctly with additionalProperties?

Judging by errors it doesn't....

>
> Signed-off-by: Andrew Halaney <[email protected]>
> ---
> .../devicetree/bindings/regulator/qcom,rpmh-regulator.yaml | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
> index 9a36bee750af..b3fd60b21610 100644
> --- a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
> +++ b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
> @@ -106,6 +106,8 @@ patternProperties:
> $ref: "regulator.yaml#"
> description: smps/ldo regulator nodes(s).
>
> +additionalProperties: false
> +

Don't move the location. The proper one is above examples.

Best regards,
Krzysztof

2022-09-06 16:13:03

by Andrew Halaney

[permalink] [raw]
Subject: Re: [PATCH 1/3] regulator: dt-bindings: qcom,rpmh: Use additionalProperties

On Mon, Sep 05, 2022 at 06:53:23PM +0200, Krzysztof Kozlowski wrote:
> On 05/09/2022 18:45, Krzysztof Kozlowski wrote:
> > On 02/09/2022 20:51, Andrew Halaney wrote:
> >> Right now, running make dt_binding_check results in this snippet:
> >>
> >> /mnt/extrassd/git/linux-next/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml: 'additionalProperties' is a required property
> >> hint: A schema without a "$ref" to another schema must define all properties and use "additionalProperties"
> >> from schema $id: http://devicetree.org/meta-schemas/base.yaml#
> >> SCHEMA Documentation/devicetree/bindings/processed-schema.json
> >> <snip..>
> >> /mnt/extrassd/git/linux-next/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml: ignoring, error in schema:
> >>
> >> Which results in the schema not being properly evaluated. Swap out
> >> unevaluatedProperties which doesn't seem to be doing anything for
> >> additionalProperties.
> >
> > unevaluatedProperties were required due to usage of defs-allOf
> > (ba5d99609a5e ("regulator: dt-bindings: qcom,rpmh: document supplies per
> > variant")
> > ).
> >
> > Are you sure that it works correctly with additionalProperties?
> >
> > Judging by errors it doesn't....
>
> What's more - I cannot reproduce that error (latest released dtschema)...
>

Ugh, I thought maybe I had ran into something here that was only in
linux-next, but no. I've had my environment borked the whole time I was
working on this series. So sorry about that.

I'll send a v2 once I rework things with my environment working
properly. Your comments here make sense to me -- unevaluatedProperties
makes sense here based on what I see in the example binding... so this
patch and the next will get dropped entirely.

Thanks,
Andrew