linux/drivers/input
Sebastian Reichel ca1cd36cef Input: atmel_mxt_ts - fix reset-gpio for level based irqs
The current reset-gpio support triggers an interrupt storm on platforms
using the maxtouch with level based interrupt. The Motorola Droid 4,
which I used for some of the tests is not affected, since it uses a edge
based interrupt.

This change avoids the interrupt storm by enabling the device while its
interrupt is disabled. Afterwards we wait 100ms. This is important for
two reasons: The device is unresponsive for some time (~22ms for
mxt224E) and the CHG (interrupt) line is not working properly for 100ms.
We don't need to wait for any following interrupts, since the following
mxt_initialize() checks for bootloader mode anyways.

This fixes a boot issue on GE PPD (watchdog kills device due to
interrupt storm) and does not cause regression on Motorola Droid 4.

Fixes: f657b00df2 ("Input: atmel_mxt_ts - add support for reset line")
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Reviewed-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2018-05-24 09:56:47 -07:00
..
gameport
joystick Linux 4.17-rc6 2018-05-24 09:30:15 -07:00
keyboard Merge branch 'ib-chrome-platform-input-atmel-mx-ts-platform-removal' of git://git.kernel.org/pub/scm/linux/kernel/git/bleung/chrome-platform into next 2018-04-23 16:07:15 -07:00
misc Linux 4.17-rc6 2018-05-24 09:30:15 -07:00
mouse Linux 4.17-rc6 2018-05-24 09:30:15 -07:00
rmi4 Input: synaptics-rmi4 - fix an unchecked out of memory error path 2018-04-06 15:39:18 -07:00
serio Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2018-04-05 13:21:57 -07:00
tablet Input: pegasus_notetaker - do not rely on input_dev->users 2018-03-17 11:05:18 -07:00
touchscreen Input: atmel_mxt_ts - fix reset-gpio for level based irqs 2018-05-24 09:56:47 -07:00
apm-power.c
evbug.c
evdev.c Revert: Unify CLOCK_MONOTONIC and CLOCK_BOOTTIME 2018-04-26 14:53:32 +02:00
ff-core.c
ff-memless.c
input-compat.c
input-compat.h
input-leds.c Input: leds - fix out of bound access 2018-04-11 14:52:59 -07:00
input-mt.c
input-polldev.c
input.c Input: replace hard coded string with __func__ in pr_err() 2018-05-15 12:00:53 -07:00
joydev.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
Kconfig
Makefile
matrix-keymap.c
mousedev.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
sparse-keymap.c