linux/drivers/input/keyboard
Dmitry Torokhov 0d87c7228a Input: adp5588-keypad - fix NULL dereference in adp5588_gpio_add()
The kpad structure is assigned to i2c client via i2s_set_clientdata()
at the end of adp5588_probe(), but in adp5588_gpio_add() we tried to
access it (via dev_get_drvdata! which is not nice at all) causing an
oops.

Let's pass pointer to kpad directly into adp5588_gpio_add() and
adp5588_gpio_remove() to avoid accessing driver data before it is
set up.

Also split out building of gpiomap into a separate function to
clear the logic.

Reported-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-08-02 18:34:07 -07:00
..
aaed2000_kbd.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
adp5520-keys.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
adp5588-keys.c Input: adp5588-keypad - fix NULL dereference in adp5588_gpio_add() 2010-08-02 18:34:07 -07:00
amikbd.c m68k: amiga - Keyboard platform device conversion 2010-05-26 19:51:09 +02:00
atakbd.c m68k: Return -ENODEV if no device is found 2008-07-20 17:24:38 -07:00
atkbd.c Input: atkbd - release previously reserved keycodes 248 - 254 2010-02-26 00:23:59 -08:00
bf54x-keys.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
davinci_keyscan.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ep93xx_keypad.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
gpio_keys.c Input: gpio-keys - add gpiolib debounce support 2010-06-28 11:01:10 -07:00
hil_kbd.c Input: combine hil_kbd and hil_ptr drivers 2009-08-09 13:27:27 -07:00
hilkbd.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
hpps2atkbd.h
imx_keypad.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
jornada680_kbd.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
jornada720_kbd.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
Kconfig Input: samsung-keypad - Add samsung keypad driver 2010-07-21 00:49:06 -07:00
lkkbd.c Input: lkkbd - change formatting style to match the rest of the kernel 2009-10-13 23:58:20 -07:00
lm8323.c Merge commit 'v2.6.35-rc3' into next 2010-06-30 15:07:09 -07:00
locomokbd.c [ARM] locomo: avoid unnecessary cascaded keyboard IRQ 2010-03-02 07:40:49 +08:00
Makefile Input: samsung-keypad - Add samsung keypad driver 2010-07-21 00:49:06 -07:00
maple_keyb.c sh: maple: Support block reads and writes. 2009-02-27 16:07:32 +09:00
matrix_keypad.c Input: matrix_keypad - add support for clustered irq 2010-06-10 12:33:59 -07:00
max7359_keypad.c i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
mcs_touchkey.c Input: mcs - Add MCS touchkey driver 2010-07-04 01:23:26 -07:00
newtonkbd.c get rid of input BIT* duplicate defines 2007-10-19 11:53:42 -07:00
omap-keypad.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
opencores-kbd.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pxa27x_keypad.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pxa930_rotary.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
qt2160.c i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
samsung-keypad.c Input: samsung-keypad - Add samsung keypad driver 2010-07-21 00:49:06 -07:00
sh_keysc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
stowaway.c get rid of input BIT* duplicate defines 2007-10-19 11:53:42 -07:00
sunkbd.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
tca6416-keypad.c i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
twl4030_keypad.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
w90p910_keypad.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
xtkbd.c Input: remove CVS keywords 2008-05-20 12:17:39 -04:00