Re: [PATCH 1/2] regulator: dt-bindings: gpio-regulator: Fix {gpios-,}states limits

From: Rob Herring
Date: Thu Feb 01 2024 - 17:13:56 EST


On Thu, Feb 01, 2024 at 04:58:41PM +0100, Geert Uytterhoeven wrote:
> make dtbs_check:
>
> arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dtb: regulator-vccq-sdhi0: Unevaluated properties are not allowed ('gpios-states', 'states' were unexpected)
> from schema $id: http://devicetree.org/schemas/regulator/gpio-regulator.yaml#

Unevaluated properties warning here is not interesting. If a property
fails validation, then it is considered unevaluated. It's that warning
which is interesting:

arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dtb: regulator-vccq-sdhi0: gpios-states:0: [1] is too short
from schema $id: http://devicetree.org/schemas/regulator/gpio-regulator.yaml#

>
> The number of items in "gpios-states" must match the number of items in
> "gpios", so their limits should be identical.
>
> The number of items in "states" must lie within the range from zero up
> to 2^{number of gpios}.
>
> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
> ---
> The second issue did not cause any dtbs_check errors?

I'm not seeing 'states' fail, but it looks like you did? Is that the
issue you mean? Looks like in the matrix case, we're now setting
minItems if unspecified.

> ---
> .../devicetree/bindings/regulator/gpio-regulator.yaml | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/regulator/gpio-regulator.yaml b/Documentation/devicetree/bindings/regulator/gpio-regulator.yaml
> index f4c1f36e52e9c3d8..1cecf8faee5dc374 100644
> --- a/Documentation/devicetree/bindings/regulator/gpio-regulator.yaml
> +++ b/Documentation/devicetree/bindings/regulator/gpio-regulator.yaml
> @@ -47,6 +47,7 @@ properties:
> 1: HIGH
> Default is LOW if nothing else is specified.
> $ref: /schemas/types.yaml#/definitions/uint32-array
> + minItems: 1
> maxItems: 8
> items:
> enum: [0, 1]
> @@ -57,7 +58,8 @@ properties:
> regulator and matching GPIO configurations to achieve them. If there are
> no states in the "states" array, use a fixed regulator instead.
> $ref: /schemas/types.yaml#/definitions/uint32-matrix
> - maxItems: 8
> + minItems: 0
> + maxItems: 256
> items:
> items:
> - description: Voltage in microvolts
> --
> 2.34.1
>