aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/keyboard
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-27 17:47:31 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-27 17:47:31 -0400
commit3e0777b8fa96f7073ed5d13d3bc1d573b766bef9 (patch)
tree3849e8457dd8f038ab7da025c708e275b43ea9c1 /drivers/input/keyboard
parenta94130e00038ebeb2f66901a4a4a9e05a03051c1 (diff)
parente5119885f00874453e837e3407014b73de2f4741 (diff)
Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/dtor/input.git manually
Some manual fixups required due to clashes with the PF_FREEZE cleanups.
Diffstat (limited to 'drivers/input/keyboard')
-rw-r--r--drivers/input/keyboard/atkbd.c6
-rw-r--r--drivers/input/keyboard/corgikbd.c6
-rw-r--r--drivers/input/keyboard/lkkbd.c8
-rw-r--r--drivers/input/keyboard/locomokbd.c28
-rw-r--r--drivers/input/keyboard/maple_keyb.c22
5 files changed, 26 insertions, 44 deletions
diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c
index 82fad9a23ace..4d4985b59abf 100644
--- a/drivers/input/keyboard/atkbd.c
+++ b/drivers/input/keyboard/atkbd.c
@@ -227,7 +227,7 @@ static ssize_t atkbd_do_set_##_name(struct device *d, struct device_attribute *a
227{ \ 227{ \
228 return atkbd_attr_set_helper(d, b, s, atkbd_set_##_name); \ 228 return atkbd_attr_set_helper(d, b, s, atkbd_set_##_name); \
229} \ 229} \
230static struct device_attribute atkbd_attr_##_name = \ 230static struct device_attribute atkbd_attr_##_name = \
231 __ATTR(_name, S_IWUSR | S_IRUGO, atkbd_do_show_##_name, atkbd_do_set_##_name); 231 __ATTR(_name, S_IWUSR | S_IRUGO, atkbd_do_show_##_name, atkbd_do_set_##_name);
232 232
233ATKBD_DEFINE_ATTR(extra); 233ATKBD_DEFINE_ATTR(extra);
@@ -388,7 +388,7 @@ static irqreturn_t atkbd_interrupt(struct serio *serio, unsigned char data,
388 value = atkbd->release ? 0 : 388 value = atkbd->release ? 0 :
389 (1 + (!atkbd->softrepeat && test_bit(atkbd->keycode[code], atkbd->dev.key))); 389 (1 + (!atkbd->softrepeat && test_bit(atkbd->keycode[code], atkbd->dev.key)));
390 390
391 switch (value) { /* Workaround Toshiba laptop multiple keypress */ 391 switch (value) { /* Workaround Toshiba laptop multiple keypress */
392 case 0: 392 case 0:
393 atkbd->last = 0; 393 atkbd->last = 0;
394 break; 394 break;
@@ -894,7 +894,7 @@ static int atkbd_reconnect(struct serio *serio)
894 if (atkbd->write) { 894 if (atkbd->write) {
895 param[0] = (test_bit(LED_SCROLLL, atkbd->dev.led) ? 1 : 0) 895 param[0] = (test_bit(LED_SCROLLL, atkbd->dev.led) ? 1 : 0)
896 | (test_bit(LED_NUML, atkbd->dev.led) ? 2 : 0) 896 | (test_bit(LED_NUML, atkbd->dev.led) ? 2 : 0)
897 | (test_bit(LED_CAPSL, atkbd->dev.led) ? 4 : 0); 897 | (test_bit(LED_CAPSL, atkbd->dev.led) ? 4 : 0);
898 898
899 if (atkbd_probe(atkbd)) 899 if (atkbd_probe(atkbd))
900 return -1; 900 return -1;
diff --git a/drivers/input/keyboard/corgikbd.c b/drivers/input/keyboard/corgikbd.c
index 0f1220a0ceb5..a8551711e8d6 100644
--- a/drivers/input/keyboard/corgikbd.c
+++ b/drivers/input/keyboard/corgikbd.c
@@ -39,6 +39,7 @@
39#define CORGI_KEY_CALENDER KEY_F1 39#define CORGI_KEY_CALENDER KEY_F1
40#define CORGI_KEY_ADDRESS KEY_F2 40#define CORGI_KEY_ADDRESS KEY_F2
41#define CORGI_KEY_FN KEY_F3 41#define CORGI_KEY_FN KEY_F3
42#define CORGI_KEY_CANCEL KEY_F4
42#define CORGI_KEY_OFF KEY_SUSPEND 43#define CORGI_KEY_OFF KEY_SUSPEND
43#define CORGI_KEY_EXOK KEY_F5 44#define CORGI_KEY_EXOK KEY_F5
44#define CORGI_KEY_EXCANCEL KEY_F6 45#define CORGI_KEY_EXCANCEL KEY_F6
@@ -46,6 +47,7 @@
46#define CORGI_KEY_EXJOGUP KEY_F8 47#define CORGI_KEY_EXJOGUP KEY_F8
47#define CORGI_KEY_JAP1 KEY_LEFTCTRL 48#define CORGI_KEY_JAP1 KEY_LEFTCTRL
48#define CORGI_KEY_JAP2 KEY_LEFTALT 49#define CORGI_KEY_JAP2 KEY_LEFTALT
50#define CORGI_KEY_MAIL KEY_F10
49#define CORGI_KEY_OK KEY_F11 51#define CORGI_KEY_OK KEY_F11
50#define CORGI_KEY_MENU KEY_F12 52#define CORGI_KEY_MENU KEY_F12
51#define CORGI_HINGE_0 KEY_KP0 53#define CORGI_HINGE_0 KEY_KP0
@@ -59,8 +61,8 @@ static unsigned char corgikbd_keycode[NR_SCANCODES] = {
59 KEY_TAB, KEY_Q, KEY_E, KEY_T, KEY_G, KEY_U, KEY_J, KEY_K, 0, 0, 0, 0, 0, 0, 0, 0, /* 33-48 */ 61 KEY_TAB, KEY_Q, KEY_E, KEY_T, KEY_G, KEY_U, KEY_J, KEY_K, 0, 0, 0, 0, 0, 0, 0, 0, /* 33-48 */
60 CORGI_KEY_CALENDER, KEY_W, KEY_S, KEY_F, KEY_V, KEY_H, KEY_M, KEY_L, 0, KEY_RIGHTSHIFT, 0, 0, 0, 0, 0, 0, /* 49-64 */ 62 CORGI_KEY_CALENDER, KEY_W, KEY_S, KEY_F, KEY_V, KEY_H, KEY_M, KEY_L, 0, KEY_RIGHTSHIFT, 0, 0, 0, 0, 0, 0, /* 49-64 */
61 CORGI_KEY_ADDRESS, KEY_A, KEY_D, KEY_C, KEY_B, KEY_N, KEY_DOT, 0, KEY_ENTER, 0, KEY_LEFTSHIFT, 0, 0, 0, 0, 0, /* 65-80 */ 63 CORGI_KEY_ADDRESS, KEY_A, KEY_D, KEY_C, KEY_B, KEY_N, KEY_DOT, 0, KEY_ENTER, 0, KEY_LEFTSHIFT, 0, 0, 0, 0, 0, /* 65-80 */
62 KEY_MAIL, KEY_Z, KEY_X, KEY_MINUS, KEY_SPACE, KEY_COMMA, 0, KEY_UP, 0, 0, 0, CORGI_KEY_FN, 0, 0, 0, 0, /* 81-96 */ 64 CORGI_KEY_MAIL, KEY_Z, KEY_X, KEY_MINUS, KEY_SPACE, KEY_COMMA, 0, KEY_UP, 0, 0, 0, CORGI_KEY_FN, 0, 0, 0, 0, /* 81-96 */
63 KEY_SYSRQ, CORGI_KEY_JAP1, CORGI_KEY_JAP2, KEY_CANCEL, CORGI_KEY_OK, CORGI_KEY_MENU, KEY_LEFT, KEY_DOWN, KEY_RIGHT, 0, 0, 0, 0, 0, 0, 0, /* 97-112 */ 65 KEY_SYSRQ, CORGI_KEY_JAP1, CORGI_KEY_JAP2, CORGI_KEY_CANCEL, CORGI_KEY_OK, CORGI_KEY_MENU, KEY_LEFT, KEY_DOWN, KEY_RIGHT, 0, 0, 0, 0, 0, 0, 0, /* 97-112 */
64 CORGI_KEY_OFF, CORGI_KEY_EXOK, CORGI_KEY_EXCANCEL, CORGI_KEY_EXJOGDOWN, CORGI_KEY_EXJOGUP, 0, 0, 0, 0, 0, 0, 0, /* 113-124 */ 66 CORGI_KEY_OFF, CORGI_KEY_EXOK, CORGI_KEY_EXCANCEL, CORGI_KEY_EXJOGDOWN, CORGI_KEY_EXJOGUP, 0, 0, 0, 0, 0, 0, 0, /* 113-124 */
65 CORGI_HINGE_0, CORGI_HINGE_1, CORGI_HINGE_2 /* 125-127 */ 67 CORGI_HINGE_0, CORGI_HINGE_1, CORGI_HINGE_2 /* 125-127 */
66}; 68};
diff --git a/drivers/input/keyboard/lkkbd.c b/drivers/input/keyboard/lkkbd.c
index 2694ff2b5beb..098963c7cdd6 100644
--- a/drivers/input/keyboard/lkkbd.c
+++ b/drivers/input/keyboard/lkkbd.c
@@ -15,10 +15,10 @@
15 * information given below, I will _not_ be liable! 15 * information given below, I will _not_ be liable!
16 * 16 *
17 * RJ10 pinout: To DE9: Or DB25: 17 * RJ10 pinout: To DE9: Or DB25:
18 * 1 - RxD <----> Pin 3 (TxD) <-> Pin 2 (TxD) 18 * 1 - RxD <----> Pin 3 (TxD) <-> Pin 2 (TxD)
19 * 2 - GND <----> Pin 5 (GND) <-> Pin 7 (GND) 19 * 2 - GND <----> Pin 5 (GND) <-> Pin 7 (GND)
20 * 4 - TxD <----> Pin 2 (RxD) <-> Pin 3 (RxD) 20 * 4 - TxD <----> Pin 2 (RxD) <-> Pin 3 (RxD)
21 * 3 - +12V (from HDD drive connector), DON'T connect to DE9 or DB25!!! 21 * 3 - +12V (from HDD drive connector), DON'T connect to DE9 or DB25!!!
22 * 22 *
23 * Pin numbers for DE9 and DB25 are noted on the plug (quite small:). For 23 * Pin numbers for DE9 and DB25 are noted on the plug (quite small:). For
24 * RJ10, it's like this: 24 * RJ10, it's like this:
diff --git a/drivers/input/keyboard/locomokbd.c b/drivers/input/keyboard/locomokbd.c
index d3e9dd6a13cd..8935290256b3 100644
--- a/drivers/input/keyboard/locomokbd.c
+++ b/drivers/input/keyboard/locomokbd.c
@@ -42,7 +42,7 @@ MODULE_AUTHOR("John Lenz <lenz@cs.wisc.edu>");
42MODULE_DESCRIPTION("LoCoMo keyboard driver"); 42MODULE_DESCRIPTION("LoCoMo keyboard driver");
43MODULE_LICENSE("GPL"); 43MODULE_LICENSE("GPL");
44 44
45#define LOCOMOKBD_NUMKEYS 128 45#define LOCOMOKBD_NUMKEYS 128
46 46
47#define KEY_ACTIVITY KEY_F16 47#define KEY_ACTIVITY KEY_F16
48#define KEY_CONTACT KEY_F18 48#define KEY_CONTACT KEY_F18
@@ -61,7 +61,7 @@ static unsigned char locomokbd_keycode[LOCOMOKBD_NUMKEYS] = {
61 KEY_G, KEY_F, KEY_X, KEY_S, 0, 0, 0, 0, 0, 0, /* 90 - 99 */ 61 KEY_G, KEY_F, KEY_X, KEY_S, 0, 0, 0, 0, 0, 0, /* 90 - 99 */
62 0, 0, KEY_DOT, 0, KEY_COMMA, KEY_N, KEY_B, KEY_C, KEY_Z, KEY_A, /* 100 - 109 */ 62 0, 0, KEY_DOT, 0, KEY_COMMA, KEY_N, KEY_B, KEY_C, KEY_Z, KEY_A, /* 100 - 109 */
63 KEY_LEFTSHIFT, KEY_TAB, KEY_LEFTCTRL, 0, 0, 0, 0, 0, 0, 0, /* 110 - 119 */ 63 KEY_LEFTSHIFT, KEY_TAB, KEY_LEFTCTRL, 0, 0, 0, 0, 0, 0, 0, /* 110 - 119 */
64 KEY_M, KEY_SPACE, KEY_V, KEY_APOSTROPHE, KEY_SLASH, 0, 0, 0 /* 120 - 128 */ 64 KEY_M, KEY_SPACE, KEY_V, KEY_APOSTROPHE, KEY_SLASH, 0, 0, 0 /* 120 - 128 */
65}; 65};
66 66
67#define KB_ROWS 16 67#define KB_ROWS 16
@@ -82,7 +82,7 @@ struct locomokbd {
82 struct locomo_dev *ldev; 82 struct locomo_dev *ldev;
83 unsigned long base; 83 unsigned long base;
84 spinlock_t lock; 84 spinlock_t lock;
85 85
86 struct timer_list timer; 86 struct timer_list timer;
87}; 87};
88 88
@@ -95,7 +95,7 @@ static inline void locomokbd_charge_all(unsigned long membase)
95static inline void locomokbd_activate_all(unsigned long membase) 95static inline void locomokbd_activate_all(unsigned long membase)
96{ 96{
97 unsigned long r; 97 unsigned long r;
98 98
99 locomo_writel(0, membase + LOCOMO_KSC); 99 locomo_writel(0, membase + LOCOMO_KSC);
100 r = locomo_readl(membase + LOCOMO_KIC); 100 r = locomo_readl(membase + LOCOMO_KIC);
101 r &= 0xFEFF; 101 r &= 0xFEFF;
@@ -127,7 +127,7 @@ static inline void locomokbd_reset_col(unsigned long membase, int col)
127 */ 127 */
128 128
129/* Scan the hardware keyboard and push any changes up through the input layer */ 129/* Scan the hardware keyboard and push any changes up through the input layer */
130static void locomokbd_scankeyboard(struct locomokbd *locomokbd, struct pt_regs *regs) 130static void locomokbd_scankeyboard(struct locomokbd *locomokbd, struct pt_regs *regs)
131{ 131{
132 unsigned int row, col, rowd, scancode; 132 unsigned int row, col, rowd, scancode;
133 unsigned long flags; 133 unsigned long flags;
@@ -138,7 +138,7 @@ static void locomokbd_scankeyboard(struct locomokbd *locomokbd, struct pt_regs *
138 138
139 if (regs) 139 if (regs)
140 input_regs(&locomokbd->input, regs); 140 input_regs(&locomokbd->input, regs);
141 141
142 locomokbd_charge_all(membase); 142 locomokbd_charge_all(membase);
143 143
144 num_pressed = 0; 144 num_pressed = 0;
@@ -146,9 +146,9 @@ static void locomokbd_scankeyboard(struct locomokbd *locomokbd, struct pt_regs *
146 146
147 locomokbd_activate_col(membase, col); 147 locomokbd_activate_col(membase, col);
148 udelay(KB_DELAY); 148 udelay(KB_DELAY);
149 149
150 rowd = ~locomo_readl(membase + LOCOMO_KIB); 150 rowd = ~locomo_readl(membase + LOCOMO_KIB);
151 for (row = 0; row < KB_ROWS; row++ ) { 151 for (row = 0; row < KB_ROWS; row++) {
152 scancode = SCANCODE(col, row); 152 scancode = SCANCODE(col, row);
153 if (rowd & KB_ROWMASK(row)) { 153 if (rowd & KB_ROWMASK(row)) {
154 num_pressed += 1; 154 num_pressed += 1;
@@ -170,7 +170,7 @@ static void locomokbd_scankeyboard(struct locomokbd *locomokbd, struct pt_regs *
170 spin_unlock_irqrestore(&locomokbd->lock, flags); 170 spin_unlock_irqrestore(&locomokbd->lock, flags);
171} 171}
172 172
173/* 173/*
174 * LoCoMo keyboard interrupt handler. 174 * LoCoMo keyboard interrupt handler.
175 */ 175 */
176static irqreturn_t locomokbd_interrupt(int irq, void *dev_id, struct pt_regs *regs) 176static irqreturn_t locomokbd_interrupt(int irq, void *dev_id, struct pt_regs *regs)
@@ -205,8 +205,8 @@ static int locomokbd_probe(struct locomo_dev *dev)
205 memset(locomokbd, 0, sizeof(struct locomokbd)); 205 memset(locomokbd, 0, sizeof(struct locomokbd));
206 206
207 /* try and claim memory region */ 207 /* try and claim memory region */
208 if (!request_mem_region((unsigned long) dev->mapbase, 208 if (!request_mem_region((unsigned long) dev->mapbase,
209 dev->length, 209 dev->length,
210 LOCOMO_DRIVER_NAME(dev))) { 210 LOCOMO_DRIVER_NAME(dev))) {
211 ret = -EBUSY; 211 ret = -EBUSY;
212 printk(KERN_ERR "locomokbd: Can't acquire access to io memory for keyboard\n"); 212 printk(KERN_ERR "locomokbd: Can't acquire access to io memory for keyboard\n");
@@ -225,7 +225,7 @@ static int locomokbd_probe(struct locomo_dev *dev)
225 locomokbd->timer.data = (unsigned long) locomokbd; 225 locomokbd->timer.data = (unsigned long) locomokbd;
226 226
227 locomokbd->input.evbit[0] = BIT(EV_KEY) | BIT(EV_REP); 227 locomokbd->input.evbit[0] = BIT(EV_KEY) | BIT(EV_REP);
228 228
229 init_input_dev(&locomokbd->input); 229 init_input_dev(&locomokbd->input);
230 locomokbd->input.keycode = locomokbd->keycode; 230 locomokbd->input.keycode = locomokbd->keycode;
231 locomokbd->input.keycodesize = sizeof(unsigned char); 231 locomokbd->input.keycodesize = sizeof(unsigned char);
@@ -271,11 +271,11 @@ free:
271static int locomokbd_remove(struct locomo_dev *dev) 271static int locomokbd_remove(struct locomo_dev *dev)
272{ 272{
273 struct locomokbd *locomokbd = locomo_get_drvdata(dev); 273 struct locomokbd *locomokbd = locomo_get_drvdata(dev);
274 274
275 free_irq(dev->irq[0], locomokbd); 275 free_irq(dev->irq[0], locomokbd);
276 276
277 del_timer_sync(&locomokbd->timer); 277 del_timer_sync(&locomokbd->timer);
278 278
279 input_unregister_device(&locomokbd->input); 279 input_unregister_device(&locomokbd->input);
280 locomo_set_drvdata(dev, NULL); 280 locomo_set_drvdata(dev, NULL);
281 281
diff --git a/drivers/input/keyboard/maple_keyb.c b/drivers/input/keyboard/maple_keyb.c
index 859ed771ee0a..eecbde294f1f 100644
--- a/drivers/input/keyboard/maple_keyb.c
+++ b/drivers/input/keyboard/maple_keyb.c
@@ -1,6 +1,6 @@
1/* 1/*
2 * $Id: maple_keyb.c,v 1.4 2004/03/22 01:18:15 lethal Exp $ 2 * $Id: maple_keyb.c,v 1.4 2004/03/22 01:18:15 lethal Exp $
3 * SEGA Dreamcast keyboard driver 3 * SEGA Dreamcast keyboard driver
4 * Based on drivers/usb/usbkbd.c 4 * Based on drivers/usb/usbkbd.c
5 */ 5 */
6 6
@@ -40,7 +40,6 @@ struct dc_kbd {
40 struct input_dev dev; 40 struct input_dev dev;
41 unsigned char new[8]; 41 unsigned char new[8];
42 unsigned char old[8]; 42 unsigned char old[8];
43 int open;
44}; 43};
45 44
46 45
@@ -95,22 +94,6 @@ static void dc_kbd_callback(struct mapleq *mq)
95 } 94 }
96} 95}
97 96
98
99static int dc_kbd_open(struct input_dev *dev)
100{
101 struct dc_kbd *kbd = dev->private;
102 kbd->open++;
103 return 0;
104}
105
106
107static void dc_kbd_close(struct input_dev *dev)
108{
109 struct dc_kbd *kbd = dev->private;
110 kbd->open--;
111}
112
113
114static int dc_kbd_connect(struct maple_device *dev) 97static int dc_kbd_connect(struct maple_device *dev)
115{ 98{
116 int i; 99 int i;
@@ -133,9 +116,6 @@ static int dc_kbd_connect(struct maple_device *dev)
133 clear_bit(0, kbd->dev.keybit); 116 clear_bit(0, kbd->dev.keybit);
134 117
135 kbd->dev.private = kbd; 118 kbd->dev.private = kbd;
136 kbd->dev.open = dc_kbd_open;
137 kbd->dev.close = dc_kbd_close;
138 kbd->dev.event = NULL;
139 119
140 kbd->dev.name = dev->product_name; 120 kbd->dev.name = dev->product_name;
141 kbd->dev.id.bustype = BUS_MAPLE; 121 kbd->dev.id.bustype = BUS_MAPLE;