On 02/11/2024 06:24, Heiko Schocher wrote: >>> reg: >>> maxItems: 1 >>> >>> + gpio-line-names: >>> + minItems: 1 >> >> I think gpio-line-names should always match the actual number of GPIOs >> for given device. Do you have here devices with 1 gpio? This could be >> further constrained in if:then sections. > > I have the device with "sx150x_16_pins", see drivers/pinctrl/pinctrl-sx150x.c > > I started with minItems, because I thought it is okay to allow > less names... (as I did in patch 3/3) but see now, that other drivers have > minItems = maxItems. > > So I think I should add to my patch the following part: Yes, but in top-level you keep widest constraints, so min 5 max 17. > > hs@threadripper:linux [aristainetos3-dts-v3] $ git diff > diff --git a/Documentation/devicetree/bindings/pinctrl/semtech,sx1501q.yaml > b/Documentation/devicetree/bindings/pinctrl/semtech,sx1501q.yaml > index fd0936545bb8..0872ee1c6fa6 100644 > --- a/Documentation/devicetree/bindings/pinctrl/semtech,sx1501q.yaml > +++ b/Documentation/devicetree/bindings/pinctrl/semtech,sx1501q.yaml > @@ -91,6 +91,45 @@ required: > > allOf: > - $ref: pinctrl.yaml# > + - if: > + properties: > + compatible: > + contains: > + enum: > + - semtech,sx1501q > + - semtech,sx1504q > + - semtech,sx1507q > + then: > + properties: > + gpio-line-names: > + minItems: 5 > + maxItems: 5 > + - if: > + properties: > + compatible: > + contains: > + enum: > + - semtech,sx1502q > + - semtech,sx1505q > + - semtech,sx1508q > + then: > + properties: > + gpio-line-names: > + minItems: 9 > + maxItems: 9 > + - if: > + properties: > + compatible: > + contains: > + enum: > + - semtech,sx1503q > + - semtech,sx1506q > + - semtech,sx1509q > + then: > + properties: > + gpio-line-names: > + minItems: 17 > + maxItems: 17 > - if: > not: > properties: Best regards, Krzysztof