[PATCH 0/2] Input: st1232: wakeup in Suspend to idle

From: Javier Carrasco
Date: Mon Apr 03 2023 - 08:58:08 EST


The st1232 touchscreen provides an interrupt line that can be configured
as a wakeup source, and currently it is possible to use this mechanism in
"Suspend to RAM" and "Hibernate" power states.

Unfortunately, that does not work in "Suspend to idle" (freeze) because
the device driver disables the interrupts in its suspend callback.
Given that the interrupt handling prior to entering the mentioned power
state modes is managed by the power subsystem, the irq enabling/disabling
can be removed from the touchscreen driver, allowing the device to work
as a wakeup source in "Suspend to idle".

Given that the st1232 device driver does not reflect its wakeup events
in sysfs, this series also adds pm_wakeup_event to the interrupt
handler.

These changes have been successfully tested with an ST1624-N32C and a
Rockchip-based platform.

Javier Carrasco (2):
Input: st1232 - remove enable/disable irq in resume/suspend callbacks
Input: st1232 - add wake up event counting

drivers/input/touchscreen/st1232.c | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)

--
2.37.2