Input: ads7846 - always set last command to PWRDOWN
authorLuca Ellero <l.ellero@asem.it>
Thu, 26 Jan 2023 10:52:26 +0000 (11:52 +0100)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 30 Jan 2023 02:33:45 +0000 (18:33 -0800)
commit13f82ca3878db8284a70ef9711d7f710a31eb562
tree8b608d871cc9704bd8f9bdeaf0a2ee073454450c
parentd50584d783313c8b05b84d0b07a2142f1bde46dd
Input: ads7846 - always set last command to PWRDOWN

Controllers that report pressure (e.g. ADS7846) use 5 commands and the
correct sequence is READ_X, READ_Y, READ_Z1, READ_Z2, PWRDOWN.

Controllers that don't report pressure (e.g. ADS7845/ADS7843) use only 3
commands and the correct sequence should be READ_X, READ_Y, PWRDOWN. But
the sequence sent was incorrect: READ_X, READ_Y, READ_Z1.

Fix this by setting the third (and last) command to PWRDOWN.

Fixes: ffa458c1bd9b ("spi: ads7846 driver")
Signed-off-by: Luca Ellero <l.ellero@asem.it>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20230126105227.47648-3-l.ellero@asem.it
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/ads7846.c