Re: [PATCH v12 4/5] Input: goodix - fix reset sequence

From: Bastien Nocera
Date: Thu Oct 27 2016 - 10:19:49 EST


On Sat, 2016-09-10 at 20:57 +0300, Irina Tirdea wrote:
> According to the Goodix datasheet, the reset sequence will leave
> the reset line set to output high. To end the selection of the I2C
> address, we just need to set the input line to low for at least
> 50 ms and then set it to input floating (already implemented by
> goodix_int_sync).
>
> Remove setting the reset line to input from the reset sequence,
> since that is not reflected in the datasheet.
>
> This is based on Goodix datasheets for GT911 and GT9271 and on Goodix
> driver gt9xx.c for Android (publicly available in Android kernel
> trees for various devices).
>
> Suggested-by: Troy Kisky <troy.kisky@xxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx>

Code looks fine. Again, would be nice to know on which devices this was
tested.

> ---
> Âdrivers/input/touchscreen/goodix.c | 4 ----
> Â1 file changed, 4 deletions(-)
>
> diff --git a/drivers/input/touchscreen/goodix.c
> b/drivers/input/touchscreen/goodix.c
> index 182ff9c..6fba804 100644
> --- a/drivers/input/touchscreen/goodix.c
> +++ b/drivers/input/touchscreen/goodix.c
> @@ -454,10 +454,6 @@ static int goodix_reset(struct goodix_ts_data
> *ts)
> Â usleep_range(6000, 10000); /* T4: > 5ms */
> Â
> Â /* end select I2C slave addr */
> - error = gpiod_direction_input(ts->gpiod_rst);
> - if (error)
> - return error;
> -
> Â error = goodix_int_sync(ts);
> Â if (error)
> Â return error;