Re: [PATCH v4 2/3] Input: edt-ft5x06 - Set wake/reset values on resume/suspend

From: Dmitry Torokhov
Date: Wed Jul 25 2018 - 20:52:35 EST


Hi MylÃne,

On Wed, Jul 25, 2018 at 09:34:09AM +0200, MylÃne Josserand wrote:
> 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 <mylene.josserand@xxxxxxxxxxx>
> ---
> 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 dcde719094f7..dad2f1f8bf89 100644
> --- a/drivers/input/touchscreen/edt-ft5x06.c
> +++ b/drivers/input/touchscreen/edt-ft5x06.c
> @@ -1158,6 +1158,12 @@ static int __maybe_unused edt_ft5x06_ts_suspend(struct device *dev)
> else
> regulator_disable(tsdata->vcc);
>
> + if (tsdata->wake_gpio)
> + gpiod_set_value(tsdata->wake_gpio, 0);
> +
> + if (tsdata->reset_gpio)
> + gpiod_set_value(tsdata->reset_gpio, 1);

OndÅej mentioned in previous review that if you power off the controller
it will not be able to wake up the system, and you had to move call to
regulator_disable() into "else" branch of check whether the controller
is a wakeup device. Guess what happens if you unconditionally put the
device into reset state?

Thanks.

--
Dmitry