mbox series

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

Message ID 20230403124707.102986-1-javier.carrasco@wolfvision.net
Headers show
Series Input: st1232: wakeup in Suspend to idle | expand

Message

Javier Carrasco April 3, 2023, 12: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 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(-)

Comments

Javier Carrasco April 18, 2023, 4:12 a.m. UTC | #1
On 03.04.23 14:47, Javier Carrasco wrote:
> 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(-)
> 

Hi, I submitted this series 2 weeks ago and given that I did not get any 
feedback yet, I would like to make sure that the patches arrived in the 
right lists and if so, that they are "queued for review" and I just have 
to wait, which would be indeed alright.

Thanks and best regards.
Javier Carrasco May 10, 2023, 8:42 a.m. UTC | #2
Gentle ping.

On 03.04.23 14:47, Javier Carrasco wrote:
> 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(-)
>