diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-07-22 14:46:15 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-07-22 14:46:15 -0400 |
| commit | 27efd7e2e6d052e543425dba172d96f42704ef65 (patch) | |
| tree | b3c4bbb867b194750586cacff26c8455051ea259 | |
| parent | 84d4db0e22965334ae8272f324d31fb4657465aa (diff) | |
| parent | 3619b8fead04ab9de643712e757ef6b5f79fd1ab (diff) | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: synaptics - relax capability ID checks on newer hardware
Input: twl40300-keypad - fix handling of "all ground" rows
Input: gamecon - reference correct pad in gc_psx_command()
Input: gamecon - reference correct input device in NES mode
Input: w90p910_keypad - change platfrom driver name to 'nuc900-kpi'
Input: i8042 - add Gigabyte Spring Peak to dmi_noloop_table
Input: qt2160 - rename kconfig symbol name
| -rw-r--r-- | arch/arm/mach-omap2/board-rx51-peripherals.c | 17 | ||||
| -rw-r--r-- | drivers/input/joystick/gamecon.c | 5 | ||||
| -rw-r--r-- | drivers/input/keyboard/Kconfig | 2 | ||||
| -rw-r--r-- | drivers/input/keyboard/twl4030_keypad.c | 17 | ||||
| -rw-r--r-- | drivers/input/keyboard/w90p910_keypad.c | 2 | ||||
| -rw-r--r-- | drivers/input/mouse/synaptics.c | 7 | ||||
| -rw-r--r-- | drivers/input/mouse/synaptics.h | 3 | ||||
| -rw-r--r-- | drivers/input/serio/i8042-x86ia64io.h | 7 |
8 files changed, 44 insertions, 16 deletions
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c index abdf321c2d41..c5555ca13d00 100644 --- a/arch/arm/mach-omap2/board-rx51-peripherals.c +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c | |||
| @@ -175,6 +175,10 @@ static void __init rx51_add_gpio_keys(void) | |||
| 175 | #endif /* CONFIG_KEYBOARD_GPIO || CONFIG_KEYBOARD_GPIO_MODULE */ | 175 | #endif /* CONFIG_KEYBOARD_GPIO || CONFIG_KEYBOARD_GPIO_MODULE */ |
| 176 | 176 | ||
| 177 | static int board_keymap[] = { | 177 | static int board_keymap[] = { |
| 178 | /* | ||
| 179 | * Note that KEY(x, 8, KEY_XXX) entries represent "entrire row | ||
| 180 | * connected to the ground" matrix state. | ||
| 181 | */ | ||
| 178 | KEY(0, 0, KEY_Q), | 182 | KEY(0, 0, KEY_Q), |
| 179 | KEY(0, 1, KEY_O), | 183 | KEY(0, 1, KEY_O), |
| 180 | KEY(0, 2, KEY_P), | 184 | KEY(0, 2, KEY_P), |
| @@ -182,6 +186,7 @@ static int board_keymap[] = { | |||
| 182 | KEY(0, 4, KEY_BACKSPACE), | 186 | KEY(0, 4, KEY_BACKSPACE), |
| 183 | KEY(0, 6, KEY_A), | 187 | KEY(0, 6, KEY_A), |
| 184 | KEY(0, 7, KEY_S), | 188 | KEY(0, 7, KEY_S), |
| 189 | |||
| 185 | KEY(1, 0, KEY_W), | 190 | KEY(1, 0, KEY_W), |
| 186 | KEY(1, 1, KEY_D), | 191 | KEY(1, 1, KEY_D), |
| 187 | KEY(1, 2, KEY_F), | 192 | KEY(1, 2, KEY_F), |
| @@ -190,6 +195,7 @@ static int board_keymap[] = { | |||
| 190 | KEY(1, 5, KEY_J), | 195 | KEY(1, 5, KEY_J), |
| 191 | KEY(1, 6, KEY_K), | 196 | KEY(1, 6, KEY_K), |
| 192 | KEY(1, 7, KEY_L), | 197 | KEY(1, 7, KEY_L), |
| 198 | |||
| 193 | KEY(2, 0, KEY_E), | 199 | KEY(2, 0, KEY_E), |
| 194 | KEY(2, 1, KEY_DOT), | 200 | KEY(2, 1, KEY_DOT), |
| 195 | KEY(2, 2, KEY_UP), | 201 | KEY(2, 2, KEY_UP), |
| @@ -197,6 +203,8 @@ static int board_keymap[] = { | |||
| 197 | KEY(2, 5, KEY_Z), | 203 | KEY(2, 5, KEY_Z), |
| 198 | KEY(2, 6, KEY_X), | 204 | KEY(2, 6, KEY_X), |
| 199 | KEY(2, 7, KEY_C), | 205 | KEY(2, 7, KEY_C), |
| 206 | KEY(2, 8, KEY_F9), | ||
| 207 | |||
| 200 | KEY(3, 0, KEY_R), | 208 | KEY(3, 0, KEY_R), |
| 201 | KEY(3, 1, KEY_V), | 209 | KEY(3, 1, KEY_V), |
| 202 | KEY(3, 2, KEY_B), | 210 | KEY(3, 2, KEY_B), |
| @@ -205,20 +213,23 @@ static int board_keymap[] = { | |||
| 205 | KEY(3, 5, KEY_SPACE), | 213 | KEY(3, 5, KEY_SPACE), |
| 206 | KEY(3, 6, KEY_SPACE), | 214 | KEY(3, 6, KEY_SPACE), |
| 207 | KEY(3, 7, KEY_LEFT), | 215 | KEY(3, 7, KEY_LEFT), |
| 216 | |||
| 208 | KEY(4, 0, KEY_T), | 217 | KEY(4, 0, KEY_T), |
| 209 | KEY(4, 1, KEY_DOWN), | 218 | KEY(4, 1, KEY_DOWN), |
| 210 | KEY(4, 2, KEY_RIGHT), | 219 | KEY(4, 2, KEY_RIGHT), |
| 211 | KEY(4, 4, KEY_LEFTCTRL), | 220 | KEY(4, 4, KEY_LEFTCTRL), |
| 212 | KEY(4, 5, KEY_RIGHTALT), | 221 | KEY(4, 5, KEY_RIGHTALT), |
| 213 | KEY(4, 6, KEY_LEFTSHIFT), | 222 | KEY(4, 6, KEY_LEFTSHIFT), |
| 223 | KEY(4, 8, KEY_10), | ||
| 224 | |||
| 214 | KEY(5, 0, KEY_Y), | 225 | KEY(5, 0, KEY_Y), |
| 226 | KEY(5, 8, KEY_11), | ||
| 227 | |||
| 215 | KEY(6, 0, KEY_U), | 228 | KEY(6, 0, KEY_U), |
| 229 | |||
| 216 | KEY(7, 0, KEY_I), | 230 | KEY(7, 0, KEY_I), |
| 217 | KEY(7, 1, KEY_F7), | 231 | KEY(7, 1, KEY_F7), |
| 218 | KEY(7, 2, KEY_F8), | 232 | KEY(7, 2, KEY_F8), |
| 219 | KEY(0xff, 2, KEY_F9), | ||
| 220 | KEY(0xff, 4, KEY_F10), | ||
| 221 | KEY(0xff, 5, KEY_F11), | ||
| 222 | }; | 233 | }; |
| 223 | 234 | ||
| 224 | static struct matrix_keymap_data board_map_data = { | 235 | static struct matrix_keymap_data board_map_data = { |
diff --git a/drivers/input/joystick/gamecon.c b/drivers/input/joystick/gamecon.c index fbd62abb66f9..0ffaf2c77a19 100644 --- a/drivers/input/joystick/gamecon.c +++ b/drivers/input/joystick/gamecon.c | |||
| @@ -89,7 +89,6 @@ struct gc_pad { | |||
| 89 | struct gc { | 89 | struct gc { |
| 90 | struct pardevice *pd; | 90 | struct pardevice *pd; |
| 91 | struct gc_pad pads[GC_MAX_DEVICES]; | 91 | struct gc_pad pads[GC_MAX_DEVICES]; |
| 92 | struct input_dev *dev[GC_MAX_DEVICES]; | ||
| 93 | struct timer_list timer; | 92 | struct timer_list timer; |
| 94 | int pad_count[GC_MAX]; | 93 | int pad_count[GC_MAX]; |
| 95 | int used; | 94 | int used; |
| @@ -387,7 +386,7 @@ static void gc_nes_process_packet(struct gc *gc) | |||
| 387 | for (i = 0; i < GC_MAX_DEVICES; i++) { | 386 | for (i = 0; i < GC_MAX_DEVICES; i++) { |
| 388 | 387 | ||
| 389 | pad = &gc->pads[i]; | 388 | pad = &gc->pads[i]; |
| 390 | dev = gc->dev[i]; | 389 | dev = pad->dev; |
| 391 | s = gc_status_bit[i]; | 390 | s = gc_status_bit[i]; |
| 392 | 391 | ||
| 393 | switch (pad->type) { | 392 | switch (pad->type) { |
| @@ -579,7 +578,7 @@ static void gc_psx_command(struct gc *gc, int b, unsigned char *data) | |||
| 579 | read = parport_read_status(port) ^ 0x80; | 578 | read = parport_read_status(port) ^ 0x80; |
| 580 | 579 | ||
| 581 | for (j = 0; j < GC_MAX_DEVICES; j++) { | 580 | for (j = 0; j < GC_MAX_DEVICES; j++) { |
| 582 | struct gc_pad *pad = &gc->pads[i]; | 581 | struct gc_pad *pad = &gc->pads[j]; |
| 583 | 582 | ||
| 584 | if (pad->type == GC_PSX || pad->type == GC_DDR) | 583 | if (pad->type == GC_PSX || pad->type == GC_DDR) |
| 585 | data[j] |= (read & gc_status_bit[j]) ? (1 << i) : 0; | 584 | data[j] |= (read & gc_status_bit[j]) ? (1 << i) : 0; |
diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig index 3525f533e186..1ba25145b333 100644 --- a/drivers/input/keyboard/Kconfig +++ b/drivers/input/keyboard/Kconfig | |||
| @@ -124,7 +124,7 @@ config KEYBOARD_ATKBD_RDI_KEYCODES | |||
| 124 | right-hand column will be interpreted as the key shown in the | 124 | right-hand column will be interpreted as the key shown in the |
| 125 | left-hand column. | 125 | left-hand column. |
| 126 | 126 | ||
| 127 | config QT2160 | 127 | config KEYBOARD_QT2160 |
| 128 | tristate "Atmel AT42QT2160 Touch Sensor Chip" | 128 | tristate "Atmel AT42QT2160 Touch Sensor Chip" |
| 129 | depends on I2C && EXPERIMENTAL | 129 | depends on I2C && EXPERIMENTAL |
| 130 | help | 130 | help |
diff --git a/drivers/input/keyboard/twl4030_keypad.c b/drivers/input/keyboard/twl4030_keypad.c index 7aa59e07b689..fb16b5e5ea13 100644 --- a/drivers/input/keyboard/twl4030_keypad.c +++ b/drivers/input/keyboard/twl4030_keypad.c | |||
| @@ -51,8 +51,12 @@ | |||
| 51 | */ | 51 | */ |
| 52 | #define TWL4030_MAX_ROWS 8 /* TWL4030 hard limit */ | 52 | #define TWL4030_MAX_ROWS 8 /* TWL4030 hard limit */ |
| 53 | #define TWL4030_MAX_COLS 8 | 53 | #define TWL4030_MAX_COLS 8 |
| 54 | #define TWL4030_ROW_SHIFT 3 | 54 | /* |
| 55 | #define TWL4030_KEYMAP_SIZE (TWL4030_MAX_ROWS * TWL4030_MAX_COLS) | 55 | * Note that we add space for an extra column so that we can handle |
| 56 | * row lines connected to the gnd (see twl4030_col_xlate()). | ||
| 57 | */ | ||
| 58 | #define TWL4030_ROW_SHIFT 4 | ||
| 59 | #define TWL4030_KEYMAP_SIZE (TWL4030_MAX_ROWS << TWL4030_ROW_SHIFT) | ||
| 56 | 60 | ||
| 57 | struct twl4030_keypad { | 61 | struct twl4030_keypad { |
| 58 | unsigned short keymap[TWL4030_KEYMAP_SIZE]; | 62 | unsigned short keymap[TWL4030_KEYMAP_SIZE]; |
| @@ -182,7 +186,7 @@ static int twl4030_read_kp_matrix_state(struct twl4030_keypad *kp, u16 *state) | |||
| 182 | return ret; | 186 | return ret; |
| 183 | } | 187 | } |
| 184 | 188 | ||
| 185 | static int twl4030_is_in_ghost_state(struct twl4030_keypad *kp, u16 *key_state) | 189 | static bool twl4030_is_in_ghost_state(struct twl4030_keypad *kp, u16 *key_state) |
| 186 | { | 190 | { |
| 187 | int i; | 191 | int i; |
| 188 | u16 check = 0; | 192 | u16 check = 0; |
| @@ -191,12 +195,12 @@ static int twl4030_is_in_ghost_state(struct twl4030_keypad *kp, u16 *key_state) | |||
| 191 | u16 col = key_state[i]; | 195 | u16 col = key_state[i]; |
| 192 | 196 | ||
| 193 | if ((col & check) && hweight16(col) > 1) | 197 | if ((col & check) && hweight16(col) > 1) |
| 194 | return 1; | 198 | return true; |
| 195 | 199 | ||
| 196 | check |= col; | 200 | check |= col; |
