On 2020-07-10 21:29, Krishna Reddy wrote:
Thanks Rob. One question on setting "minItems: ". Please see below.
+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - nvidia,tegra194-smmu
+ then:
+ properties:
+ reg:
+ minItems: 2
+ maxItems: 2
This doesn't work. The main part of the schema already said there's only
1 reg region. This part is ANDed with that, not an override. You need to add an else clause with 'maxItems: 1' and change the base schema to
{minItems: 1, maxItems: 2}.
As the earlier version of base schema doesn't have "minItems: " set, should it be set to 0 for backward compatibility? Or can it just be omitted setting in base schema as before?
We've always needed at least 1 "reg" specifier in practice, so I don't
think being backwards-compatible with broken DTs is a concern :)
Robin.
"else" part to set "maxItems: 1" and setting "maxItems: 2" in base schema is clear to me.
-KR