linux/drivers/input/keyboard
Damien Riegel 8f75bc3377 Input: tca8418 - enable interrupt after it has been requested
Currently, enabling keypad interrupts is one of the first operations
done on the keypad, even before the interrupt is requested, so there is
a small time window where the keypad can fire interrupts but the driver
is not yet ready to handle them. It's fine for level interrupts because
they will be handled anyway, but not so much for edge ones.

This commit modifies and moves the function in charge of configuring the
keypad. Enabling interrupts is now the last thing done on the keypad,
and after the interrupt has been requested by the driver.

Writing to the config register was also used to determine if the device
was indeed present on the bus or not, this has been replaced by reading
the lock/event count register to keep the same functionality.

Signed-off-by: Damien Riegel <damien.riegel@savoirfairelinux.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2017-10-19 16:50:20 -07:00
..
adc-keys.c Input: keyboard - drop calls to platform_set_drvdata and i2c_set_clientdata 2017-01-21 23:51:49 -08:00
adp5520-keys.c Input: keyboard - drop unnecessary calls to input_set_drvdata 2017-01-22 17:22:25 -08:00
adp5588-keys.c input: adp5588-keys: use gpiochip data pointer 2016-04-26 15:33:44 +02:00
adp5589-keys.c input: adp5589-keys: use gpiochip data pointer 2016-03-30 10:54:33 +02:00
amikbd.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-12-17 10:06:02 -08:00
atakbd.c Input: atari - enable the 102nd key for German keyboards 2015-01-18 00:10:28 -08:00
atkbd.c Input: iatkbd - constify serio_device_id 2017-08-18 17:14:19 -07:00
bcm-keypad.c Input: matrix-keypad - switch to using generic device properties 2017-01-31 11:31:48 -08:00
bf54x-keys.c Input: keyboard - drop unnecessary calls to input_set_drvdata 2017-01-22 17:22:25 -08:00
cap11xx.c Input: keyboard - drop calls to platform_set_drvdata and i2c_set_clientdata 2017-01-21 23:51:49 -08:00
clps711x-keypad.c input: clps711x-keypad: Changing the compatibility string to match with the smallest supported chip 2016-07-06 17:38:18 +02:00
cros_ec_keyb.c Input: cros_ec_keyb - remove extraneous 'const' 2017-05-11 17:41:01 -07:00
davinci_keyscan.c Input: keyboard - use local variables consistently 2017-01-21 23:51:54 -08:00
dlink-dir685-touchkeys.c Input: add D-Link DIR-685 touchkeys driver 2017-06-05 15:35:32 -07:00
ep93xx_keypad.c input: keyboard: drop owner assignment from platform_drivers 2014-10-20 16:20:39 +02:00
goldfish_events.c Input: goldfish_events - enable ACPI-based enumeration for goldfish events 2016-03-02 09:39:00 -08:00
gpio_keys_polled.c This is the bulk of GPIO changes for the v4.11 cycle 2017-02-23 08:46:04 -08:00
gpio_keys.c Merge branch 'bind_unbind' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core into next 2017-07-24 16:51:18 -07:00
hil_kbd.c Input: hil_kbd - constify serio_device_id 2017-08-18 17:14:20 -07:00
hilkbd.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
hpps2atkbd.h
imx_keypad.c Input: imx_keypad - remove obsolete comment 2015-09-05 11:49:33 -07:00
ipaq-micro-keys.c Input: driver for microcontroller keys on the iPaq h3xxx 2015-03-06 11:25:31 -08:00
jornada680_kbd.c Input: keyboard - drop calls to platform_set_drvdata and i2c_set_clientdata 2017-01-21 23:51:49 -08:00
jornada720_kbd.c Input: jornada720_kbd - remove unneeded mach/hardware.h include 2016-09-10 10:47:47 -07:00
Kconfig Input: add D-Link DIR-685 touchkeys driver 2017-06-05 15:35:32 -07:00
lkkbd.c Input: lkkbd - constify serio_device_id 2017-08-18 17:14:21 -07:00
lm8323.c Input: lm8323 - move header file out of I2C realm 2017-05-22 17:23:46 -07:00
lm8333.c Input: drop owner assignment from i2c_driver 2015-07-17 16:57:00 -07:00
locomokbd.c Input: locomokbd - use setup_timer 2017-04-10 20:41:40 -07:00
lpc32xx-keys.c Input: matrix-keypad - switch to using generic device properties 2017-01-31 11:31:48 -08:00
Makefile Input: add D-Link DIR-685 touchkeys driver 2017-06-05 15:35:32 -07:00
maple_keyb.c Input: keyboard - drop unnecessary calls to input_set_drvdata 2017-01-22 17:22:25 -08:00
matrix_keypad.c Input: matrix_keypad - add option to drive inactive columns 2017-03-29 00:25:01 -07:00
max7359_keypad.c Input: keyboard - drop calls to platform_set_drvdata and i2c_set_clientdata 2017-01-21 23:51:49 -08:00
mcs_touchkey.c Input: mcs - move header file out of I2C realm 2017-05-22 17:26:57 -07:00
mpr121_touchkey.c Input: keyboard - use local variables consistently 2017-01-21 23:51:54 -08:00
newtonkbd.c Input: newtonkbd - constify serio_device_id 2017-08-18 17:14:58 -07:00
nomadik-ske-keypad.c Input: nomadik-ske-keypad - fix a trivial typo 2015-10-22 23:31:22 -07:00
nspire-keypad.c Input: keyboard - drop calls to platform_set_drvdata and i2c_set_clientdata 2017-01-21 23:51:49 -08:00
omap4-keypad.c Input: omap-keypad - fix error handling code 2017-04-10 20:51:49 -07:00
omap-keypad.c Input: omap-keypad - remove set_col_gpio_val() and get_row_gpio_val() 2016-04-05 10:17:19 -07:00
opencores-kbd.c Input: keyboard - drop unnecessary calls to input_set_drvdata 2017-01-22 17:22:25 -08:00
pmic8xxx-keypad.c Input: matrix-keypad - switch to using generic device properties 2017-01-31 11:31:48 -08:00
pxa27x_keypad.c Input: pxa27x_keypad - handle return value of clk_prepare_enable 2017-08-31 11:57:35 -07:00
pxa930_rotary.c input: keyboard: drop owner assignment from platform_drivers 2014-10-20 16:20:39 +02:00
qt1070.c Input: qt1070 - add OF device ID table 2017-03-23 14:46:33 -07:00
qt2160.c Input: drop owner assignment from i2c_driver 2015-07-17 16:57:00 -07:00
samsung-keypad.c Input: keyboard - drop unnecessary calls to device_init_wakeup 2017-01-21 23:53:19 -08:00
sh_keysc.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
snvs_pwrkey.c Input: snvs_pwrkey - drop input_free_device call if input_register_device fails 2016-09-26 20:01:59 -07:00
spear-keyboard.c Input: keyboard - drop unnecessary calls to device_init_wakeup 2017-01-21 23:53:19 -08:00
st-keyscan.c Input: matrix-keypad - switch to using generic device properties 2017-01-31 11:31:48 -08:00
stmpe-keypad.c Input: matrix-keypad - switch to using generic device properties 2017-01-31 11:31:48 -08:00
stowaway.c Input: stowaway - constify serio_device_id 2017-08-18 17:15:00 -07:00
sun4i-lradc-keys.c Input: keyboard - drop calls to platform_set_drvdata and i2c_set_clientdata 2017-01-21 23:51:49 -08:00
sunkbd.c Input: sunkbd - constify serio_device_id 2017-08-18 17:15:04 -07:00
tc3589x-keypad.c Input: tc3589x-keypad - remove stray ')' 2016-05-25 17:37:15 -07:00
tca6416-keypad.c Input: use dev_get_platdata() 2013-12-06 02:06:29 -08:00
tca8418_keypad.c Input: tca8418 - enable interrupt after it has been requested 2017-10-19 16:50:20 -07:00
tegra-kbc.c Input: tegra-kbc - handle return value of clk_prepare_enable 2017-08-31 11:57:27 -07:00
tm2-touchkey.c Input: tm2-touchkey - use LEN_ON as boolean value instead of LED_FULL 2017-06-01 22:08:05 -07:00
twl4030_keypad.c Input: matrix-keypad - switch to using generic device properties 2017-01-31 11:31:48 -08:00
w90p910_keypad.c input: keyboard: drop owner assignment from platform_drivers 2014-10-20 16:20:39 +02:00
xtkbd.c Input: xtkbd - constify serio_device_id 2017-08-18 17:15:07 -07:00