Re: [PATCH] dt-bindings: input: Convert gpio-keys bindings to schema

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

 



On Thu, Jan 23, 2020 at 4:25 PM Dmitry Torokhov
<dmitry.torokhov@xxxxxxxxx> wrote:
>
> Hi Rob,
>
> On Thu, Jan 23, 2020 at 03:42:22PM -0600, Rob Herring wrote:
> > Convert the gpio-keys and gpio-keys-polled bindings to a DT schema. As
> > both bindings are almost the same, combine them into a single schema.
> >
> > The binding said 'interrupts' was required, but testing on dts files
> > showed that it isn't required.
> >
> > 'linux,input-value' was only documented for gpio-keys-polled, but there
> > doesn't seem to be any reason for it to be specific to that.
>
> Actually, there is: with gpio-keys-polled we take a "snapshot" of the
> entire device state, so we know when to generate a 0 event (the example
> we have a device with several GPIOs with values assigned 1, 2, 3, 4, 5..
> values, when one of the gpios is active we generate event with given
> value, when all are inactive we generate 0 event). This does not work
> for interrupt-only driven device.

Okay, it wasn't clear to me reading the binding doc. I'll make it conditional.


> > +      properties:
> > +        gpios:
> > +          maxItems: 1

> > +
> > +        interrupts:
> > +          maxItems: 1
>
> We support "interrupt-only" mode where we do not have GPIO, so for
> "gpio-keys" we need either interrupts or gpios or both, and for polled
> we must have gpios (and I guess we simply ignore interrupts if they are
> specified).
>
> Does this binding manages to enforce this?

Yes, this hunk does that:

+      anyOf:
+        - required:
+            - interrupts
+        - required:
+            - gpios

Rob



[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