Re: [PATCH] pinctrl: amd: Honor IRQ trigger type requested by the caller

From: Linus Walleij
Date: Tue Jul 07 2020 - 08:50:15 EST


On Fri, Jun 26, 2020 at 11:10 PM Furquan Shaikh <furquan@xxxxxxxxxx> wrote:

> This change drops the override in `amd_gpio_irq_set_type()` that
> ignores the IRQ trigger type settings from the caller. The device
> driver (caller) is in a better position to identify the right trigger
> type for the device based on the usage as well as the information
> exposed by the BIOS. There are instances where the device driver might
> want to configure the trigger type differently in different modes. An
> example of this is gpio-keys driver which configures IRQ type as
> trigger on both edges (to identify assert and deassert events) when in
> S0 and reconfigures the trigger type using the information provided by
> the BIOS when going into suspend to ensure that the wake happens on
> the required edge.
>
> This override in `amd_gpio_irq_set_type()` prevents the caller from
> being able to reconfigure trigger type once it is set either based on
> ACPI information or the type used by the first caller for IRQ on a
> given GPIO line.
>
> Without this change, pen-insert gpio key (used by garaged stylus on a
> Chromebook) works fine in S0 (i.e. insert and eject events are
> correctly identified), however, BIOS configuration for wake on only
> pen eject i.e. only-rising edge or only-falling edge is not honored.
>
> With this change, it was verified that pen-insert gpio key behavior is
> correct in both S0 and for wakeup from S3.
>
> Signed-off-by: Furquan Shaikh <furquan@xxxxxxxxxx>

Patch applied.

Yours,
Linus Walleij