aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-09-14 20:56:51 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-09-14 20:56:51 -0400
commit133309a89e7430f907ebe85e78906ee12c311727 (patch)
treedaa96e6e82b63c0ef1538dcbb455d13595a1c83d /arch
parent5489375d481c8456c8259b48e107d03b05309d1d (diff)
parentfc8e1ead9314cf0e0f1922e661428b93d3a50d88 (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: (52 commits) Input: bcm5974 - silence uninitialized variables warnings Input: wistron_btns - add keymap for AOpen 1557 Input: psmouse - use boolean type Input: i8042 - use platform_driver_probe Input: i8042 - use boolean type where it makes sense Input: i8042 - try disabling and re-enabling AUX port at close Input: pxa27x_keypad - allow modifying keymap from userspace Input: sunkbd - fix formatting Input: i8042 - bypass AUX IRQ delivery test on laptops Input: wacom_w8001 - simplify querying logic Input: atkbd - allow setting force-release bitmap via sysfs Input: w90p910_keypad - move a dereference below a NULL test Input: add twl4030_keypad driver Input: matrix-keypad - add function to build device keymap Input: tosakbd - fix cleaning up KEY_STROBEs after error Input: joydev - validate axis/button maps before clobbering current ones Input: xpad - add USB ID for the drumkit controller from Rock Band Input: w90p910_keypad - rename driver name to match platform Input: add new driver for Sentelic Finger Sensing Pad Input: psmouse - allow defining read-only attributes ...
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-pxa/include/mach/pxa27x_keypad.h7
-rw-r--r--arch/arm/mach-w90x900/include/mach/w90p910_keypad.h15
-rw-r--r--arch/blackfin/include/asm/bfin_rotary.h39
3 files changed, 58 insertions, 3 deletions
diff --git a/arch/arm/mach-pxa/include/mach/pxa27x_keypad.h b/arch/arm/mach-pxa/include/mach/pxa27x_keypad.h
index d5a48a96dea7..7b4eadc6df3a 100644
--- a/arch/arm/mach-pxa/include/mach/pxa27x_keypad.h
+++ b/arch/arm/mach-pxa/include/mach/pxa27x_keypad.h
@@ -2,9 +2,12 @@
2#define __ASM_ARCH_PXA27x_KEYPAD_H 2#define __ASM_ARCH_PXA27x_KEYPAD_H
3 3
4#include <linux/input.h> 4#include <linux/input.h>
5#include <linux/input/matrix_keypad.h>
5 6
6#define MAX_MATRIX_KEY_ROWS (8) 7#define MAX_MATRIX_KEY_ROWS (8)
7#define MAX_MATRIX_KEY_COLS (8) 8#define MAX_MATRIX_KEY_COLS (8)
9#define MATRIX_ROW_SHIFT (3)
10#define MAX_DIRECT_KEY_NUM (8)
8 11
9/* pxa3xx keypad platform specific parameters 12/* pxa3xx keypad platform specific parameters
10 * 13 *
@@ -33,7 +36,7 @@ struct pxa27x_keypad_platform_data {
33 36
34 /* direct keys */ 37 /* direct keys */
35 int direct_key_num; 38 int direct_key_num;
36 unsigned int direct_key_map[8]; 39 unsigned int direct_key_map[MAX_DIRECT_KEY_NUM];
37 40
38 /* rotary encoders 0 */ 41 /* rotary encoders 0 */
39 int enable_rotary0; 42 int enable_rotary0;
@@ -51,8 +54,6 @@ struct pxa27x_keypad_platform_data {
51 unsigned int debounce_interval; 54 unsigned int debounce_interval;
52}; 55};
53 56
54#define KEY(row, col, val) (((row) << 28) | ((col) << 24) | (val))
55
56extern void pxa_set_keypad_info(struct pxa27x_keypad_platform_data *info); 57extern void pxa_set_keypad_info(struct pxa27x_keypad_platform_data *info);
57 58
58#endif /* __ASM_ARCH_PXA27x_KEYPAD_H */ 59#endif /* __ASM_ARCH_PXA27x_KEYPAD_H */
diff --git a/arch/arm/mach-w90x900/include/mach/w90p910_keypad.h b/arch/arm/mach-w90x900/include/mach/w90p910_keypad.h
new file mode 100644
index 000000000000..556778e8ddaa
--- /dev/null
+++ b/arch/arm/mach-w90x900/include/mach/w90p910_keypad.h
@@ -0,0 +1,15 @@
1#ifndef __ASM_ARCH_W90P910_KEYPAD_H
2#define __ASM_ARCH_W90P910_KEYPAD_H
3
4#include <linux/input/matrix_keypad.h>
5
6extern void mfp_set_groupi(struct device *dev);
7
8struct w90p910_keypad_platform_data {
9 const struct matrix_keymap_data *keymap_data;
10
11 unsigned int prescale;
12 unsigned int debounce;
13};
14
15#endif /* __ASM_ARCH_W90P910_KEYPAD_H */
diff --git a/arch/blackfin/include/asm/bfin_rotary.h b/arch/blackfin/include/asm/bfin_rotary.h
new file mode 100644
index 000000000000..425ece64fd5e
--- /dev/null
+++ b/arch/blackfin/include/asm/bfin_rotary.h
@@ -0,0 +1,39 @@
1/*
2 * board initialization should put one of these structures into platform_data
3 * and place the bfin-rotary onto platform_bus named "bfin-rotary".
4 */
5
6#ifndef _BFIN_ROTARY_H
7#define _BFIN_ROTARY_H
8
9/* mode bitmasks */
10#define ROT_QUAD_ENC CNTMODE_QUADENC /* quadrature/grey code encoder mode */
11#define ROT_BIN_ENC CNTMODE_BINENC /* binary encoder mode */
12#define ROT_UD_CNT CNTMODE_UDCNT /* rotary counter mode */
13#define ROT_DIR_CNT CNTMODE_DIRCNT /* direction counter mode */
14
15#define ROT_DEBE DEBE /* Debounce Enable */
16
17#define ROT_CDGINV CDGINV /* CDG Pin Polarity Invert */
18#define ROT_CUDINV CUDINV /* CUD Pin Polarity Invert */
19#define ROT_CZMINV CZMINV /* CZM Pin Polarity Invert */
20
21struct bfin_rotary_platform_data {
22 /* set rotary UP KEY_### or BTN_### in case you prefer
23 * bfin-rotary to send EV_KEY otherwise set 0
24 */
25 unsigned int rotary_up_key;
26 /* set rotary DOWN KEY_### or BTN_### in case you prefer
27 * bfin-rotary to send EV_KEY otherwise set 0
28 */
29 unsigned int rotary_down_key;
30 /* set rotary BUTTON KEY_### or BTN_### */
31 unsigned int rotary_button_key;
32 /* set rotary Relative Axis REL_### in case you prefer
33 * bfin-rotary to send EV_REL otherwise set 0
34 */
35 unsigned int rotary_rel_code;
36 unsigned short debounce; /* 0..17 */
37 unsigned short mode;
38};
39#endif