android_kernel_sony_sdm845/drivers/input/keyboard
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Anson Huang a31d4c8b2b 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:05:54 +02:00
..
adc-keys.c
adp5520-keys.c
adp5588-keys.c
adp5589-keys.c
amikbd.c
atakbd.c Input: atakbd - fix Atari CapsLock behaviour 2018-10-20 09:51:31 +02:00
atkbd.c
bcm-keypad.c
bf54x-keys.c
cap11xx.c Input: cap11xx - switch to using set_brightness_blocking() 2019-03-23 13:19:41 +01:00
clps711x-keypad.c
cros_ec_keyb.c
davinci_keyscan.c
ep93xx_keypad.c
goldfish_events.c
gpio_keys.c Input: gpio_keys - add support for GPIO descriptors 2017-04-12 12:41:19 +02:00
gpio_keys_polled.c
hil_kbd.c
hilkbd.c
hpps2atkbd.h
imx_keypad.c Input: imx_keypad - make sure keyboard can always wake up system 2019-07-21 09:05:54 +02:00
ipaq-micro-keys.c
jornada680_kbd.c
jornada720_kbd.c
Kconfig
lkkbd.c
lm8323.c
lm8333.c
locomokbd.c
lpc32xx-keys.c
Makefile
maple_keyb.c
matrix_keypad.c Input: matrix_keypad - use flush_delayed_work() 2019-03-23 13:19:41 +01:00
max7359_keypad.c
mcs_touchkey.c
mpr121_touchkey.c Input: mpr121 - set missing event capability 2017-11-15 15:53:16 +01:00
newtonkbd.c
nomadik-ske-keypad.c
nspire-keypad.c
omap-keypad.c
omap4-keypad.c Input: omap-keypad - fix idle configuration to not block SoC idle states 2019-01-13 10:03:48 +01:00
opencores-kbd.c
pmic8xxx-keypad.c
pxa27x_keypad.c
pxa930_rotary.c
qt1070.c Input: qt1070 - add OF device ID table 2018-03-22 09:17:42 +01:00
qt2160.c
samsung-keypad.c
sh_keysc.c
snvs_pwrkey.c Input: snvs_pwrkey - initialize necessary driver data before enabling IRQ 2019-05-08 07:19:12 +02:00
spear-keyboard.c
st-keyscan.c Input: st-keyscan - fix potential zalloc NULL dereference 2019-03-23 13:19:42 +01:00
stmpe-keypad.c
stowaway.c
sun4i-lradc-keys.c
sunkbd.c
tc3589x-keypad.c
tca6416-keypad.c
tca8418_keypad.c Input: tca8418_keypad - remove double read of key event register 2018-03-18 11:18:53 +01:00
tegra-kbc.c
twl4030_keypad.c
w90p910_keypad.c
xtkbd.c