2020-03-27 22:45:58

by Rob Herring

[permalink] [raw]
Subject: [PATCH] dt-bindings: iio: Fix adi,ltc2983 uint64-matrix schema constraints

'minItems' and 'maxItems' apply at the same level as 'items' schemas as
the keywords apply to arrays. What's currently defined is a 3
dimensional matrix with the outer size being undefined. To fix this,
minItems/maxItems needs to be moved up a level.

With this fixed, the example fails validation. For matrix types, the dts
syntax must use brackets (<>) matching the schema definition. In this
case, the inner array size is 2 elements, so let's add the correct
bracketing.

Fixes: 3986a14870cb ("dt-bindings: iio: Add ltc2983 documentation")
Cc: "Nuno Sá" <[email protected]>
Cc: Jonathan Cameron <[email protected]>
Cc: Hartmut Knaack <[email protected]>
Cc: Lars-Peter Clausen <[email protected]>
Cc: Peter Meerwald-Stadler <[email protected]>
Cc: [email protected]
Signed-off-by: Rob Herring <[email protected]>
---
I'll take this via the DT tree as I have another change this will
conflict.

Rob

.../bindings/iio/temperature/adi,ltc2983.yaml | 38 +++++++++----------
1 file changed, 18 insertions(+), 20 deletions(-)

diff --git a/Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml b/Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml
index acc030c1b20e..8fb46de6641d 100644
--- a/Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml
+++ b/Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml
@@ -123,12 +123,11 @@ patternProperties:
sign.
allOf:
- $ref: /schemas/types.yaml#/definitions/uint64-matrix
+ minItems: 3
+ maxItems: 64
items:
- minItems: 3
- maxItems: 64
- items:
- minItems: 2
- maxItems: 2
+ minItems: 2
+ maxItems: 2

"^diode@":
type: object
@@ -328,12 +327,11 @@ patternProperties:
78 and 79.
allOf:
- $ref: /schemas/types.yaml#/definitions/uint64-matrix
+ minItems: 3
+ maxItems: 64
items:
- minItems: 3
- maxItems: 64
- items:
- minItems: 2
- maxItems: 2
+ minItems: 2
+ maxItems: 2

adi,custom-steinhart:
description:
@@ -465,16 +463,16 @@ examples:
adi,sensor-type = <9>; //custom thermocouple
adi,single-ended;
adi,custom-thermocouple = /bits/ 64
- <(-50220000) 0
- (-30200000) 99100000
- (-5300000) 135400000
- 0 273150000
- 40200000 361200000
- 55300000 522100000
- 88300000 720300000
- 132200000 811200000
- 188700000 922500000
- 460400000 1000000000>; //10 pairs
+ <(-50220000) 0>,
+ <(-30200000) 99100000>,
+ <(-5300000) 135400000>,
+ <0 273150000>,
+ <40200000 361200000>,
+ <55300000 522100000>,
+ <88300000 720300000>,
+ <132200000 811200000>,
+ <188700000 922500000>,
+ <460400000 1000000000>; //10 pairs
};

};
--
2.20.1


2020-03-28 09:47:53

by Nuno Sa

[permalink] [raw]
Subject: RE: [PATCH] dt-bindings: iio: Fix adi,ltc2983 uint64-matrix schema constraints



> -----Original Message-----
> From: Rob Herring <[email protected]>
> Sent: Freitag, 27. März 2020 23:45
> To: [email protected]
> Cc: [email protected]; Sa, Nuno <[email protected]>;
> Jonathan Cameron <[email protected]>; Hartmut Knaack <[email protected]>;
> Lars-Peter Clausen <[email protected]>; Peter Meerwald-Stadler
> <[email protected]>; [email protected]
> Subject: [PATCH] dt-bindings: iio: Fix adi,ltc2983 uint64-matrix schema
> constraints
>
>
> 'minItems' and 'maxItems' apply at the same level as 'items' schemas as
> the keywords apply to arrays. What's currently defined is a 3
> dimensional matrix with the outer size being undefined. To fix this,
> minItems/maxItems needs to be moved up a level.
>
> With this fixed, the example fails validation. For matrix types, the dts
> syntax must use brackets (<>) matching the schema definition. In this
> case, the inner array size is 2 elements, so let's add the correct
> bracketing.
>
> Fixes: 3986a14870cb ("dt-bindings: iio: Add ltc2983 documentation")
> Cc: "Nuno Sá" <[email protected]>
> Cc: Jonathan Cameron <[email protected]>
> Cc: Hartmut Knaack <[email protected]>
> Cc: Lars-Peter Clausen <[email protected]>
> Cc: Peter Meerwald-Stadler <[email protected]>
> Cc: [email protected]
> Signed-off-by: Rob Herring <[email protected]>
> ---
> I'll take this via the DT tree as I have another change this will
> conflict.
>
> Rob
>
> .../bindings/iio/temperature/adi,ltc2983.yaml | 38 +++++++++----------
> 1 file changed, 18 insertions(+), 20 deletions(-)
>
> diff --git
> a/Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml
> b/Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml
> index acc030c1b20e..8fb46de6641d 100644
> --- a/Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml
> +++ b/Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml
> @@ -123,12 +123,11 @@ patternProperties:
> sign.
> allOf:
> - $ref: /schemas/types.yaml#/definitions/uint64-matrix
> + minItems: 3
> + maxItems: 64
> items:
> - minItems: 3
> - maxItems: 64
> - items:
> - minItems: 2
> - maxItems: 2
> + minItems: 2
> + maxItems: 2
>
> "^diode@":
> type: object
> @@ -328,12 +327,11 @@ patternProperties:
> 78 and 79.
> allOf:
> - $ref: /schemas/types.yaml#/definitions/uint64-matrix
> + minItems: 3
> + maxItems: 64
> items:
> - minItems: 3
> - maxItems: 64
> - items:
> - minItems: 2
> - maxItems: 2
> + minItems: 2
> + maxItems: 2
>
> adi,custom-steinhart:
> description:
> @@ -465,16 +463,16 @@ examples:
> adi,sensor-type = <9>; //custom thermocouple
> adi,single-ended;
> adi,custom-thermocouple = /bits/ 64
> - <(-50220000) 0
> - (-30200000) 99100000
> - (-5300000) 135400000
> - 0 273150000
> - 40200000 361200000
> - 55300000 522100000
> - 88300000 720300000
> - 132200000 811200000
> - 188700000 922500000
> - 460400000 1000000000>; //10 pairs
> + <(-50220000) 0>,
> + <(-30200000) 99100000>,
> + <(-5300000) 135400000>,
> + <0 273150000>,
> + <40200000 361200000>,
> + <55300000 522100000>,
> + <88300000 720300000>,
> + <132200000 811200000>,
> + <188700000 922500000>,
> + <460400000 1000000000>; //10 pairs
> };
>
> };
> --

Acked-by: Nuno Sá <[email protected]>

Thanks,
- Nuno Sá

2020-03-28 17:48:22

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: iio: Fix adi,ltc2983 uint64-matrix schema constraints

> >
> >
> > 'minItems' and 'maxItems' apply at the same level as 'items' schemas as
> > the keywords apply to arrays. What's currently defined is a 3
> > dimensional matrix with the outer size being undefined. To fix this,
> > minItems/maxItems needs to be moved up a level.
> >
> > With this fixed, the example fails validation. For matrix types, the dts
> > syntax must use brackets (<>) matching the schema definition. In this
> > case, the inner array size is 2 elements, so let's add the correct
> > bracketing.
> >
> > Fixes: 3986a14870cb ("dt-bindings: iio: Add ltc2983 documentation")
> > Cc: "Nuno Sá" <[email protected]>
> > Cc: Jonathan Cameron <[email protected]>
> > Cc: Hartmut Knaack <[email protected]>
> > Cc: Lars-Peter Clausen <[email protected]>
> > Cc: Peter Meerwald-Stadler <[email protected]>
> > Cc: [email protected]
> > Signed-off-by: Rob Herring <[email protected]>
> > ---
> > I'll take this via the DT tree as I have another change this will
> > conflict.
> >
> > Rob

> Acked-by: Nuno Sá <[email protected]>
Acked-by: Jonathan Cameron <[email protected]>

thanks,

Jonathan
>
> Thanks,
> - Nuno Sá
>