android_kernel_oneplus_msm8998/drivers/input
Anson Huang 7fe5f7cd31 Input: imx_keypad - make sure keyboard can always wake up system
[ Upstream commit ce9a53eb3dbca89e7ad86673d94ab886e9bea704 ]

There are several scenarios that keyboard can NOT wake up system
from suspend, e.g., if a keyboard is depressed between system
device suspend phase and device noirq suspend phase, the keyboard
ISR will be called and both keyboard depress and release interrupts
will be disabled, then keyboard will no longer be able to wake up
system. Another scenario would be, if a keyboard is kept depressed,
and then system goes into suspend, the expected behavior would be
when keyboard is released, system will be waked up, but current
implementation can NOT achieve that, because both depress and release
interrupts are disabled in ISR, and the event check is still in
progress.

To fix these issues, need to make sure keyboard's depress or release
interrupt is enabled after noirq device suspend phase, this patch
moves the suspend/resume callback to noirq suspend/resume phase, and
enable the corresponding interrupt according to current keyboard status.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-07-21 09:07:07 +02:00
..
gameport x86/asm/tsc: Rename native_read_tsc() to rdtsc() 2015-07-06 15:23:28 +02:00
joystick Input: xpad - add support for SteelSeries Stratus Duo 2019-02-06 19:43:04 +01:00
keyboard Input: imx_keypad - make sure keyboard can always wake up system 2019-07-21 09:07:07 +02:00
misc Input: uinput - add compat ioctl number translation for UI_*_FF_UPLOAD 2019-07-10 09:56:31 +02:00
mouse Input: elantech - enable middle button support on 2 ThinkPads 2019-07-21 09:07:06 +02:00
serio Input: i8042 - add Lenovo LaVie Z to the i8042 reset list 2018-08-06 16:24:29 +02:00
tablet Input: wacom_serial4 - add support for Wacom ArtPad II tablet 2019-03-23 08:44:28 +01:00
touchscreen Input: atmel_mxt_ts - only use first T9 instance 2018-09-19 22:48:58 +02:00
apm-power.c
evbug.c
evdev.c Input: evdev - fix bug in checking duplicate clock change request 2015-10-31 10:35:02 -07:00
ff-core.c Input: document and check on implicitly defined FF_MAX_EFFECTS 2015-10-16 15:32:16 -07:00
ff-memless.c [media] fixp-arith: replace sin/cos table by a better precision one 2015-03-02 14:50:06 -03:00
input-compat.c
input-compat.h
input-leds.c Input: leds - fix out of bound access 2018-05-16 10:06:48 +02:00
input-mt.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2015-04-14 18:25:15 -07:00
input-polldev.c
input.c Input: improve autorepeat initialization 2015-10-13 23:30:31 -07:00
joydev.c Input: joydev - fix possible ERR_PTR() dereferencing 2015-10-06 16:38:40 -07:00
Kconfig Input: export LEDs as class devices in sysfs 2015-06-11 18:18:11 -07:00
Makefile Input: export LEDs as class devices in sysfs 2015-06-11 18:18:11 -07:00
matrix-keymap.c
mousedev.c Input: mousedev - fix implicit conversion warning 2018-04-08 11:51:57 +02:00
sparse-keymap.c