Re: [PATCH] dt-bindings: opp: switch inner and outer min/maxItems rules for opp-hz

From: Rob Herring
Date: Tue Jan 02 2024 - 18:58:28 EST


On Sat, Dec 30, 2023 at 03:17:21PM +0100, Krzysztof Kozlowski wrote:
> On 29/12/2023 20:10, David Heidelberg wrote:
> > Fixes issue as:
> > ```
>
> Drop, it's not RST, but commit msg.
>
> > arch/arm64/boot/dts/qcom/sdm845-oneplus-enchilada.dtb: opp-table: opp-200000000:opp-hz:0: [200000000, 0, 0, 150000000, 0, 0, 0, 0, 300000000] is too long
> > ```
> >
> > Fixes: 3cb16ad69bef ("dt-bindings: opp: accept array of frequencies")
> >
> > Signed-off-by: David Heidelberg <david@xxxxxxx>
> > ---
> > Documentation/devicetree/bindings/opp/opp-v2-base.yaml | 5 ++---
> > 1 file changed, 2 insertions(+), 3 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/opp/opp-v2-base.yaml b/Documentation/devicetree/bindings/opp/opp-v2-base.yaml
> > index e2f8f7af3cf4..86d3aa0eb435 100644
> > --- a/Documentation/devicetree/bindings/opp/opp-v2-base.yaml
> > +++ b/Documentation/devicetree/bindings/opp/opp-v2-base.yaml
> > @@ -55,10 +55,9 @@ patternProperties:
> > to relate the values to their clocks or the order in which the clocks
> > need to be configured and that is left for the implementation
> > specific binding.
> > - minItems: 1
> > - maxItems: 32
> > items:
> > - maxItems: 1
> > + minItems: 1
> > + maxItems: 32
>
> This does not look like correct fix. The original code looked fine -
> only one item is allowed in each sub-element (array).

This one is special being 64-bit values so we have an exception in
property-units.yaml. The constraints here don't get used in decoding the
dtb and the default way of 1 outer element is used.

It doesn't look like opp-hz needs to be a matrix as it is really just an
array. Perhaps it should just be changed to an array type.
Alternatively, adding 'items: { maxItems: 1 }' to the definition in
property-units.yaml fixes the issue as well.

Though we can fix this, I'm looking into if we have other cases where we
need this to work as-is. There's probably some room for improvement in
how matrix dimensions are handled.

Rob