linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [Patch 1/1] Input: edt-ft5x06 - disable irq handling during suspend
@ 2019-06-21 18:51 Benoit Parrot
  2019-06-22 10:37 ` Andy Shevchenko
  0 siblings, 1 reply; 7+ messages in thread
From: Benoit Parrot @ 2019-06-21 18:51 UTC (permalink / raw)
  To: Dmitry Torokhov
  Cc: Henrik Rydberg, Marco Felsch, Andy Shevchenko, linux-input,
	linux-kernel, Benoit Parrot

As a wakeup source when the system is in suspend there is little point
trying to access a register across the i2c bus as it is probably still
inactive. We need to prevent the irq handler from being called during
suspend.

Without this modification upon wakeup you would see the following kernel
error:

[ 118.733717] PM: Wakeup source GPIO0
[ 118.751933] edt_ft5x06 1-0038: Unable to fetch data, error: -13

Signed-off-by: Benoit Parrot <bparrot@ti.com>
---
 drivers/input/touchscreen/edt-ft5x06.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/input/touchscreen/edt-ft5x06.c b/drivers/input/touchscreen/edt-ft5x06.c
index c639ebce914c..c885bfe783a4 100644
--- a/drivers/input/touchscreen/edt-ft5x06.c
+++ b/drivers/input/touchscreen/edt-ft5x06.c
@@ -1200,8 +1200,10 @@ static int __maybe_unused edt_ft5x06_ts_suspend(struct device *dev)
 {
 	struct i2c_client *client = to_i2c_client(dev);
 
-	if (device_may_wakeup(dev))
+	if (device_may_wakeup(dev)) {
 		enable_irq_wake(client->irq);
+		disable_irq(client->irq);
+	}
 
 	return 0;
 }
@@ -1210,8 +1212,10 @@ static int __maybe_unused edt_ft5x06_ts_resume(struct device *dev)
 {
 	struct i2c_client *client = to_i2c_client(dev);
 
-	if (device_may_wakeup(dev))
+	if (device_may_wakeup(dev)) {
 		disable_irq_wake(client->irq);
+		enable_irq(client->irq);
+	}
 
 	return 0;
 }
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-07-01 20:08 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-21 18:51 [Patch 1/1] Input: edt-ft5x06 - disable irq handling during suspend Benoit Parrot
2019-06-22 10:37 ` Andy Shevchenko
2019-06-23  5:59   ` Dmitry Torokhov
2019-06-24 12:24     ` Benoit Parrot
2019-07-01  7:32       ` Dmitry Torokhov
2019-07-01 20:08         ` Benoit Parrot
2019-06-24 12:21   ` Benoit Parrot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).