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