mbox series

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

Message ID 20230826-feature-st1232_freeze_wakeup-v2-0-29ae9f747137@wolfvision.net
Headers show
Series Input: st1232: wakeup in Suspend to idle | expand

Message

Javier Carrasco Sept. 15, 2023, 1:47 p.m. UTC
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 interrupts in its suspend callback
unconditionally.
Partially reverting the patch where this modification was made to
disable interrupts only if the device is not a wakeup source has proved
to solve the issue.

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.

Signed-off-by: Javier Carrasco <javier.carrasco@wolfvision.net>
---
Changes in v2:
- PATCH 1/2: enable/disable irq if the device is not a wakeup source.
- PATCH 2/2: remove unnecessary mutex locking/unlocking.
- Link to v1: https://lore.kernel.org/r/20230403124707.102986-2-javier.carrasco@wolfvision.net

---
Javier Carrasco (2):
      Input: st1232 - remove enable/disable irq if device may wake up
      Input: st1232 - add wake up event counting

 drivers/input/touchscreen/st1232.c | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)
---
base-commit: 0bb80ecc33a8fb5a682236443c1e740d5c917d1d
change-id: 20230826-feature-st1232_freeze_wakeup-c602968f2f76

Best regards,