Re: [PATCH v4] Input: tsc2007 - enable cansleep pendown GPIO

From: Dmitry Torokhov
Date: Sun Apr 02 2023 - 01:51:18 EST


Hi Benjamin,

On Thu, Mar 30, 2023 at 09:10:37PM +0200, Benjamin Bara wrote:
> From: Benjamin Bara <benjamin.bara@xxxxxxxxxxx>
>
> When a hard IRQ is triggered, the soft IRQ, which decides if an actual
> pen down happened, should always be triggered. This enables the usage of
> "can_sleep" GPIO chips as "pen down" GPIO, as the value is not read
> during the hard IRQ anymore. This might be the case if the GPIO chip is
> an expander behind i2c.
>
> Signed-off-by: Benjamin Bara <benjamin.bara@xxxxxxxxxxx>
> Signed-off-by: Richard Leitner <richard.leitner@xxxxxxxxxxx>
> ---
> Hi!
>
> I found a different approach to my problem:
> If the primary IRQ handler is set to NULL, the default primary IRQ
> handler simply triggers a soft IRQ handler wake up. As the hard IRQ is
> only triggered when a pen down is detected, the gpiod_get_value() inside
> tsc2007_is_pen_down() always returns true and therefore can be
> neglected.

Don't you need to switch to gpio_get_valued_cansleep() in
tsc2007_is_pen_down() to actually allow sleeping gpios?

Thanks.

--
Dmitry