On Wed, Dec 28, 2016 at 03:53:17PM +0100, H. Nikolaus Schaller wrote:
> 1. check if chip is really present and don't succeed if it isn't.
> 2. if it succeeds, power down the chip until accessed
> 
> Signed-off-by: H. Nikolaus Schaller <h...@goldelico.com>

Applied, thank you.

> ---
>  drivers/input/touchscreen/tsc2007.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/input/touchscreen/tsc2007.c 
> b/drivers/input/touchscreen/tsc2007.c
> index c1d9593..76b462b 100644
> --- a/drivers/input/touchscreen/tsc2007.c
> +++ b/drivers/input/touchscreen/tsc2007.c
> @@ -529,6 +529,14 @@ static int tsc2007_probe(struct i2c_client *client,
>  
>       tsc2007_stop(ts);
>  
> +     /* power down the chip (TSC2007_SETUP does not ACK on I2C) */
> +     err = tsc2007_xfer(ts, PWRDOWN);
> +     if (err < 0) {
> +             dev_err(&client->dev,
> +                     "Failed to setup chip: %d\n", err);
> +             return err;     /* usually, chip does not respond */
> +     }
> +
>       err = input_register_device(input_dev);
>       if (err) {
>               dev_err(&client->dev,
> -- 
> 2.7.3
> 

-- 
Dmitry

Reply via email to