linux/drivers/input
Andrey Gelman 34fff37b64 Input: ads7846 - correct the value got from SPI
commit 879f2fea8a upstream.

According to the touch controller spec, SPI return a 16 bit value, only 12
bits are valid, they are bit[14-3].

The value of MISO and MOSI can be configured when SPI is in idle mode.
Currently this touch driver assumes the SPI bus sets the MOSI and MISO in
low level when SPI bus is in idle mode. So the bit[15] of the value got
from SPI bus is always 0. But when SPI bus congfigures the MOSI and MISO in
high level during the SPI idle mode, the bit[15] of the value get from SPI
is always 1. If bit[15] is not masked, we may get the wrong value.

Mask the invalid bit to make sure the correct value gets returned.
Regardless of the SPI bus idle configuration.

Signed-off-by: Andrey Gelman <andrey.gelman@compulab.co.il>
Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
History 2017-10-12 15:28:16 +01:00
..
gameport Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
joystick Input: iforce - validate number of endpoints before using them 2017-07-18 18:40:16 +01:00
keyboard Input: tegra-kbc - fix inverted reset logic 2016-11-20 01:17:16 +00:00
misc Input: twl4030-pwrbutton - use correct device for irq request 2017-08-26 02:14:42 +01:00
mouse Input: elantech - add Fujitsu Lifebook E546/E557 to force crc_enabled 2017-09-15 18:30:05 +01:00
serio Input: i8042 - fix crash at boot time 2017-10-12 15:28:05 +01:00
tablet Input: kbtab - validate number of endpoints before using them 2017-07-18 18:40:17 +01:00
touchscreen Input: ads7846 - correct the value got from SPI 2017-10-12 15:28:16 +01:00
apm-power.c Input: random formatting fixes 2012-08-21 22:29:49 -07:00
evbug.c Input: use pr_fmt and pr_<level> 2010-11-30 23:10:26 -08:00
evdev.c Input: evdev - do not report errors form flush() 2015-09-29 16:44:46 +01:00
ff-core.c Input: random formatting fixes 2012-08-21 22:29:49 -07:00
ff-memless.c Input: random formatting fixes 2012-08-21 22:29:49 -07:00
input-compat.c compat: Use COMPAT_USE_64BIT_TIME in the input subsystem 2012-02-20 12:48:47 -08:00
input-compat.h compat: Use COMPAT_USE_64BIT_TIME in the input subsystem 2012-02-20 12:48:47 -08:00
input-mt.c Input: MT - handle semi-mt devices in core 2013-04-07 21:02:32 -07:00
input-polldev.c Input: implement managed polled input devices 2014-05-14 16:40:04 -07:00
input.c Input: fix defuzzing logic 2014-07-20 13:17:42 -07:00
joydev.c Input: fix use-after-free introduced with dynamic minor changes 2012-10-22 08:50:37 +03:00
Kconfig Input: mousedev - allow disabling even without CONFIG_EXPERT 2013-10-31 08:46:07 -07:00
Makefile Input: matrix-keymap - uninline and prepare for device tree support 2012-05-10 22:38:47 -07:00
matrix-keymap.c input: Export matrix_keypad_parse_of_params() 2013-04-19 00:31:13 +02:00
mousedev.c Input: mousedev - fix race when creating mixed device 2014-03-29 14:44:23 -07:00
sparse-keymap.c treewide: Fix typo in Documentation/DocBook 2014-02-19 14:58:17 +01:00