aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/touchscreen
diff options
context:
space:
mode:
authorRichard Röjfors <richard.rojfors.ext@mocean-labs.com>2009-08-04 22:34:10 -0700
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2009-08-04 22:35:49 -0700
commitcf5f439b48f82c230dcd81d0061e00664cbb6d39 (patch)
tree3fb4c4854b1191ede62007a6616921ce4be2e1bd /drivers/input/touchscreen
parentInput: tsc2007 - make get_pendown_state platform callback optional (diff)
downloadlinux-dev-cf5f439b48f82c230dcd81d0061e00664cbb6d39.tar.xz
linux-dev-cf5f439b48f82c230dcd81d0061e00664cbb6d39.zip
Input: tsc2007 - check if I2C communication works during probe
Check the result when sending the power down command to the controller. Signed-off-by: Richard Röjfors <richard.rojfors.ext@mocean-labs.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input/touchscreen')
-rw-r--r--drivers/input/touchscreen/tsc2007.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/input/touchscreen/tsc2007.c b/drivers/input/touchscreen/tsc2007.c
index 3714d19f1027..7ef0d1420d3c 100644
--- a/drivers/input/touchscreen/tsc2007.c
+++ b/drivers/input/touchscreen/tsc2007.c
@@ -319,15 +319,17 @@ static int __devinit tsc2007_probe(struct i2c_client *client,
goto err_free_mem;
}
+ /* Prepare for touch readings - power down ADC and enable PENIRQ */
+ err = tsc2007_xfer(ts, PWRDOWN);
+ if (err < 0)
+ goto err_free_irq;
+
err = input_register_device(input_dev);
if (err)
goto err_free_irq;
i2c_set_clientdata(client, ts);
- /* Prepare for touch readings - power down ADC and enable PENIRQ */
- tsc2007_xfer(ts, PWRDOWN);
-
return 0;
err_free_irq: