On Tue, Jan 07, 2020 at 11:35:17AM +0100, Linus Walleij wrote: > On Sat, Dec 28, 2019 at 12:04 AM Hans de Goede <hdegoede@xxxxxxxxxx> wrote: > > > Suspending Goodix touchscreens requires changing the interrupt pin to > > output before sending them a power-down command. Followed by wiggling > > the interrupt pin to wake the device up, after which it is put back > > in input mode. > > > > On Bay Trail devices with a Goodix touchscreen direct-irq mode is used > > in combination with listing the pin as a normal GpioIo resource. > > > > This works fine, until the goodix driver gets rmmod-ed and then insmod-ed > > again. In this case byt_gpio_disable_free() calls > > byt_gpio_clear_triggering() which clears the IRQ flags and after that the > > (direct) IRQ no longer triggers. > > > > This commit fixes this by adding a check for the BYT_DIRECT_IRQ_EN flag > > to byt_gpio_clear_triggering(). > > > > Note that byt_gpio_clear_triggering() only gets called from > > byt_gpio_disable_free() for direct-irq enabled pins, as these are excluded > > from the irq_valid mask by byt_init_irq_valid_mask(). > > > > Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> > > Patch applied as non-critical fix for v5.6 with Mika's ACK. > (Tell me if it's critical.) Can we collect it in our tree (what we are consider a proper for this) and submit a PR? -- With Best Regards, Andy Shevchenko