From mboxrd@z Thu Jan 1 00:00:00 1970 From: mylene.josserand@bootlin.com (=?UTF-8?q?Myl=C3=A8ne=20Josserand?=) Date: Wed, 18 Jul 2018 20:27:18 +0200 Subject: [PATCH v3 2/3] Input: edt-ft5x06 - Set wake/reset values on resume/suspend In-Reply-To: <20180718182719.29663-1-mylene.josserand@bootlin.com> References: <20180718182719.29663-1-mylene.josserand@bootlin.com> Message-ID: <20180718182719.29663-3-mylene.josserand@bootlin.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On resume and suspend, set the value of wake and reset gpios to be sure that we are in a know state after suspending/resuming. Signed-off-by: Myl?ne Josserand --- drivers/input/touchscreen/edt-ft5x06.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/input/touchscreen/edt-ft5x06.c b/drivers/input/touchscreen/edt-ft5x06.c index aa94494b06b5..b013d97006e6 100644 --- a/drivers/input/touchscreen/edt-ft5x06.c +++ b/drivers/input/touchscreen/edt-ft5x06.c @@ -1143,6 +1143,12 @@ static int __maybe_unused edt_ft5x06_ts_suspend(struct device *dev) if (device_may_wakeup(dev)) enable_irq_wake(client->irq); + if (tsdata->wake_gpio) + gpiod_set_value(tsdata->wake_gpio, 0); + + if (tsdata->reset_gpio) + gpiod_set_value(tsdata->reset_gpio, 1); + regulator_disable(tsdata->vcc); return 0; @@ -1157,6 +1163,12 @@ static int __maybe_unused edt_ft5x06_ts_resume(struct device *dev) if (device_may_wakeup(dev)) disable_irq_wake(client->irq); + if (tsdata->wake_gpio) + gpiod_set_value(tsdata->wake_gpio, 1); + + if (tsdata->reset_gpio) + gpiod_set_value(tsdata->reset_gpio, 0); + ret = regulator_enable(tsdata->vcc); if (ret < 0) { dev_err(dev, "failed to enable vcc: %d\n", ret); -- 2.11.0