On Wed, Jul 03, 2024 at 11:58:16AM +0100, Utsav Agarwal via B4 Relay wrote: > From: Utsav Agarwal <utsav.agarwal@xxxxxxxxxx> > > Updating dt bindings for adp5588. Since the device can now function in a > purely gpio mode, the following keypad specific properties are now made > optional: > - interrupts > - keypad,num-rows > - keypad,num-columns > - linux,keymap > > However since the above properties are required to be specified when > configuring the device as a keypad, dependencies have been added > such that specifying either one would require the remaining as well. > > Signed-off-by: Utsav Agarwal <utsav.agarwal@xxxxxxxxxx> > --- > .../devicetree/bindings/input/adi,adp5588.yaml | 33 ++++++++++++++++++---- > 1 file changed, 28 insertions(+), 5 deletions(-) > > diff --git a/Documentation/devicetree/bindings/input/adi,adp5588.yaml b/Documentation/devicetree/bindings/input/adi,adp5588.yaml > index 26ea66834ae2..6c06464f822b 100644 > --- a/Documentation/devicetree/bindings/input/adi,adp5588.yaml > +++ b/Documentation/devicetree/bindings/input/adi,adp5588.yaml > @@ -49,7 +49,10 @@ properties: > interrupt-controller: > description: > This property applies if either keypad,num-rows lower than 8 or > - keypad,num-columns lower than 10. > + keypad,num-columns lower than 10. This property does not apply if > + keypad,num-rows or keypad,num-columns are not specified since the > + device then acts as gpio only, during which interrupts are not > + utilized. > > '#interrupt-cells': > const: 2 > @@ -65,13 +68,15 @@ properties: > minItems: 1 > maxItems: 2 > > +dependencies: > + keypad,num-rows: ["keypad,num-columns"] > + keypad,num-cols: ["keypad,num-rows"] > + linux,keymap: ["keypad,num-rows"] Is what you've got here sufficient? Adding "keypad,num-rows" won't mandate "linux,keymap" which I think is wrong. I think all 3 entries here need to contain both of the other two. > + interrupts: ["linux,keymap"] I still don't understand why interrupts are only allowed when the keymap is present. I'd cover the interrupts with something like if: required: - linux,keymap then: required: - interrupts so that interrupts can be used while not in keypad mode. Unless of course there's something (unmentioned in this patch) that prevents that. Thanks, Conor. > + > required: > - compatible > - reg > - - interrupts > - - keypad,num-rows > - - keypad,num-columns > - - linux,keymap > > unevaluatedProperties: false > > @@ -108,4 +113,22 @@ examples: > >; > }; > }; > + > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + #include <dt-bindings/input/input.h> > + #include <dt-bindings/gpio/gpio.h> > + > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + gpio@34 { > + compatible = "adi,adp5588"; > + reg = <0x34>; > + > + #gpio-cells = <2>; > + gpio-controller; > + }; > + }; > + > ... > > -- > 2.34.1 > >
Attachment:
signature.asc
Description: PGP signature