RE: [PATCH v5 3/3] dt-bindings: input: Update dtbinding for adp5588

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Conor,

Thank you for your feedback.
> -----Original Message-----
> From: Conor Dooley <conor@xxxxxxxxxx>
> Sent: Wednesday, July 3, 2024 4:20 PM
> To: Agarwal, Utsav <Utsav.Agarwal@xxxxxxxxxx>
> Cc: Hennerich, Michael <Michael.Hennerich@xxxxxxxxxx>; Dmitry Torokhov
> <dmitry.torokhov@xxxxxxxxx>; Rob Herring <robh@xxxxxxxxxx>; Krzysztof
> Kozlowski <krzk+dt@xxxxxxxxxx>; Conor Dooley <conor+dt@xxxxxxxxxx>; Sa,
> Nuno <Nuno.Sa@xxxxxxxxxx>; linux-input@xxxxxxxxxxxxxxx;
> devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Artamonovs,
> Arturs <Arturs.Artamonovs@xxxxxxxxxx>; Bimpikas, Vasileios
> <Vasileios.Bimpikas@xxxxxxxxxx>; Gaskell, Oliver
> <Oliver.Gaskell@xxxxxxxxxx>
> Subject: Re: [PATCH v5 3/3] dt-bindings: input: Update dtbinding for adp5588
> 
> 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.
> 

Ah, I can see the issue, thank you for pointing it out - I will be correcting that.

> > +  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.

In case when the device is not in keypad mode, i.e, is purely using gpio - it doesn't trigger the interrupt.
Due to this, I had restricted the same to keypad mode only(as a requirement). This was mentioned 
here:
https://lore.kernel.org/all/d4661ddc1d253678fd62be4c7e19eb0cff4174f6.camel@xxxxxxxxx/

Moreover, this was also included in one of the earlier feedback comments that I had received:
https://lore.kernel.org/all/1fc545709ad2aee0b70a8d1c561516d94cb6fb1e.camel@xxxxxxxxx/

Thanks,
Utsav 





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux