[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK8P3a1v2GanneaFKpXWjWLt1YzibJ9Bh7vUcd_SH-4jGN_1+A@mail.gmail.com>
Date: Wed, 28 Feb 2018 15:44:18 +0100
From: Arnd Bergmann <arnd@...db.de>
To: Baolin Wang <baolin.wang@...aro.org>
Cc: Dmitry Torokhov <dmitry.torokhov@...il.com>,
Rob Herring <robh+dt@...nel.org>,
Mark Rutland <mark.rutland@....com>,
gregkh <gregkh@...uxfoundation.org>, lumotuwe@...il.com,
Arvind Yadav <arvind.yadav.cs@...il.com>, josephl@...dia.com,
kstewart@...uxfoundation.org,
Philippe Ombredanne <pombredanne@...b.com>,
Thomas Gleixner <tglx@...utronix.de>,
"open list:HID CORE LAYER" <linux-input@...r.kernel.org>,
DTML <devicetree@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Mark Brown <broonie@...nel.org>,
Linus Walleij <linus.walleij@...aro.org>
Subject: Re: [PATCH v3] Input: gpio_keys: Add level trigger support for GPIO keys
On Wed, Feb 28, 2018 at 1:44 PM, Baolin Wang <baolin.wang@...aro.org> wrote:
> On some platforms (such as Spreadtrum platform), the GPIO keys can only
> be triggered by level type. So this patch introduces one property to
> indicate if the GPIO trigger type is level trigger or edge trigger.
>
> Signed-off-by: Baolin Wang <baolin.wang@...aro.org>
> ---
> Changes since v2:
> - Use 'interrupt' property to indicate the irq type.
>
> Changes since v1:
> - Diable the GPIO irq until reversing the GPIO level type.
I've looked at your patch in more detail now, and given it a bit more thought.
I wonder if you could move that logic into your gpiochip/irqchip driver instead.
It seems that what you do in the gpio-keys driver is to emulate edge triggered
behavior on a level triggered irqchip.
If you put the same logic into the gpio driver, you could simply make it
pretend to support an edge trigger on both edges and call into the interrupt
handler whenever the state changes.
Arnd
Powered by blists - more mailing lists