On Thu, Jul 16, 2020 at 10:54 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote: > > On Fri, Jul 17, 2020 at 8:09 AM Rob Herring <robh@xxxxxxxxxx> wrote: > > > > On Tue, Jul 07, 2020 at 07:23:38PM +0900, Masahiro Yamada wrote: > > > As the description says, this property contains a pair of calibration > > > values. The number of items must be exactly 2. > > > > > > Add minItems to check a too short property. > > > > > > While I was here, I also added this property to the example because > > > this is the case in the real DT file, > > > arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi > > > > > > Also, fix the interrupt type (edge -> level) to align with the > > > real DT. > > > > > > Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> > > > --- > > > > > > .../bindings/thermal/socionext,uniphier-thermal.yaml | 4 +++- > > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > > > diff --git a/Documentation/devicetree/bindings/thermal/socionext,uniphier-thermal.yaml b/Documentation/devicetree/bindings/thermal/socionext,uniphier-thermal.yaml > > > index 553c9dcdaeeb..57ffd0c4c474 100644 > > > --- a/Documentation/devicetree/bindings/thermal/socionext,uniphier-thermal.yaml > > > +++ b/Documentation/devicetree/bindings/thermal/socionext,uniphier-thermal.yaml > > > @@ -29,6 +29,7 @@ properties: > > > > > > socionext,tmod-calibration: > > > $ref: /schemas/types.yaml#/definitions/uint32-array > > > + minItems: 2 > > > > The intent was if minItems is not defined, then the default is the same > > as maxItems. This is not the default for json-schema, so the tooling is > > supposed to add it. > > > This implication is unclear. > > maxItems should literally only define the max, and > we should stick to json-schema as much as possible, IMHO. Yes, but we already deviate a bit as the default json-schema behavior is a bit different than DT defaults. For example, with just: items: - const: a - const: b - const: c All of these pass validation: [] [ a ] [ a, b, c, 1, 2, true ] when we really only want [ a, b, c ] to pass (by default). So we add minItems, maxItems, and additionalItems if not specified. > It would be nice if json-schema had something like: > > numItems: 2 > > as a shorthand for > > minItems: 2 > maxItems: 2 Yes, I've been thinking the same thing. It wouldn't be unprecedented as they added 'const' to shorten 'enum: [ one_entry ]'. We can add our own keywords too, but I try to avoid that so far. The only ones we have are internal to dtschema (typeSize and phandle). Rob