diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2009-12-15 11:49:32 -0500 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2009-12-15 11:49:32 -0500 |
commit | 7547a3e8a43d31aaf91c2daf5f597e43212ccddf (patch) | |
tree | add99b58ac3b490f6ede666b9dbf2333d87e24fa /drivers/input | |
parent | 0f5e182dff576e6f3cd9b805834f18d11f2882aa (diff) | |
parent | 3ea6b3d0e6d0ffd91c0f8cadeb69b7133c038b32 (diff) |
Merge commit 'linus' into next
Diffstat (limited to 'drivers/input')
-rw-r--r-- | drivers/input/Kconfig | 1 | ||||
-rw-r--r-- | drivers/input/keyboard/Kconfig | 10 | ||||
-rw-r--r-- | drivers/input/keyboard/Makefile | 1 | ||||
-rw-r--r-- | drivers/input/keyboard/adp5520-keys.c | 220 | ||||
-rw-r--r-- | drivers/input/keyboard/omap-keypad.c | 6 | ||||
-rw-r--r-- | drivers/input/keyboard/sh_keysc.c | 2 | ||||
-rw-r--r-- | drivers/input/keyboard/twl4030_keypad.c | 6 | ||||
-rw-r--r-- | drivers/input/misc/hp_sdc_rtc.c | 2 | ||||
-rw-r--r-- | drivers/input/misc/pcf50633-input.c | 7 | ||||
-rw-r--r-- | drivers/input/misc/twl4030-pwrbutton.c | 4 | ||||
-rw-r--r-- | drivers/input/serio/hp_sdc.c | 2 | ||||
-rw-r--r-- | drivers/input/serio/hp_sdc_mlc.c | 2 | ||||
-rw-r--r-- | drivers/input/touchscreen/atmel-wm97xx.c | 2 | ||||
-rw-r--r-- | drivers/input/touchscreen/mainstone-wm97xx.c | 4 | ||||
-rw-r--r-- | drivers/input/touchscreen/zylonite-wm97xx.c | 2 | ||||
-rw-r--r-- | drivers/input/xen-kbdfront.c | 3 |
16 files changed, 253 insertions, 21 deletions
diff --git a/drivers/input/Kconfig b/drivers/input/Kconfig index 50af91ebd075..07c2cd43109c 100644 --- a/drivers/input/Kconfig +++ b/drivers/input/Kconfig | |||
@@ -165,6 +165,7 @@ config XEN_KBDDEV_FRONTEND | |||
165 | tristate "Xen virtual keyboard and mouse support" | 165 | tristate "Xen virtual keyboard and mouse support" |
166 | depends on XEN_FBDEV_FRONTEND | 166 | depends on XEN_FBDEV_FRONTEND |
167 | default y | 167 | default y |
168 | select XEN_XENBUS_FRONTEND | ||
168 | help | 169 | help |
169 | This driver implements the front-end of the Xen virtual | 170 | This driver implements the front-end of the Xen virtual |
170 | keyboard and mouse device driver. It communicates with a back-end | 171 | keyboard and mouse device driver. It communicates with a back-end |
diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig index 203b88a82b56..02c836e11813 100644 --- a/drivers/input/keyboard/Kconfig +++ b/drivers/input/keyboard/Kconfig | |||
@@ -24,6 +24,16 @@ config KEYBOARD_AAED2000 | |||
24 | To compile this driver as a module, choose M here: the | 24 | To compile this driver as a module, choose M here: the |
25 | module will be called aaed2000_kbd. | 25 | module will be called aaed2000_kbd. |
26 | 26 | ||
27 | config KEYBOARD_ADP5520 | ||
28 | tristate "Keypad Support for ADP5520 PMIC" | ||
29 | depends on PMIC_ADP5520 | ||
30 | help | ||
31 | This option enables support for the keypad scan matrix | ||
32 | on Analog Devices ADP5520 PMICs. | ||
33 | |||
34 | To compile this driver as a module, choose M here: the module will | ||
35 | be called adp5520-keys. | ||
36 | |||
27 | config KEYBOARD_ADP5588 | 37 | config KEYBOARD_ADP5588 |
28 | tristate "ADP5588 I2C QWERTY Keypad and IO Expander" | 38 | tristate "ADP5588 I2C QWERTY Keypad and IO Expander" |
29 | depends on I2C | 39 | depends on I2C |
diff --git a/drivers/input/keyboard/Makefile b/drivers/input/keyboard/Makefile index 68c017235ce9..78654ef65206 100644 --- a/drivers/input/keyboard/Makefile +++ b/drivers/input/keyboard/Makefile | |||
@@ -5,6 +5,7 @@ | |||
5 | # Each configuration option enables a list of files. | 5 | # Each configuration option enables a list of files. |
6 | 6 | ||
7 | obj-$(CONFIG_KEYBOARD_AAED2000) += aaed2000_kbd.o | 7 | obj-$(CONFIG_KEYBOARD_AAED2000) += aaed2000_kbd.o |
8 | obj-$(CONFIG_KEYBOARD_ADP5520) += adp5520-keys.o | ||
8 | obj-$(CONFIG_KEYBOARD_ADP5588) += adp5588-keys.o | 9 | obj-$(CONFIG_KEYBOARD_ADP5588) += adp5588-keys.o |
9 | obj-$(CONFIG_KEYBOARD_AMIGA) += amikbd.o | 10 | obj-$(CONFIG_KEYBOARD_AMIGA) += amikbd.o |
10 | obj-$(CONFIG_KEYBOARD_ATARI) += atakbd.o | 11 | obj-$(CONFIG_KEYBOARD_ATARI) += atakbd.o |
diff --git a/drivers/input/keyboard/adp5520-keys.c b/drivers/input/keyboard/adp5520-keys.c new file mode 100644 index 000000000000..a7ba27fb4109 --- /dev/null +++ b/drivers/input/keyboard/adp5520-keys.c | |||
@@ -0,0 +1,220 @@ | |||
1 | /* | ||
2 | * Keypad driver for Analog Devices ADP5520 MFD PMICs | ||
3 | * | ||
4 | * Copyright 2009 Analog Devices Inc. | ||
5 | * | ||
6 | * Licensed under the GPL-2 or later. | ||
7 | */ | ||
8 | |||
9 | #include <linux/module.h> | ||
10 | #include <linux/kernel.h> | ||
11 | #include <linux/init.h> | ||
12 | #include <linux/platform_device.h> | ||
13 | #include <linux/input.h> | ||
14 | #include <linux/mfd/adp5520.h> | ||
15 | |||
16 | struct adp5520_keys { | ||
17 | struct input_dev *input; | ||
18 | struct notifier_block notifier; | ||
19 | struct device *master; | ||
20 | unsigned short keycode[ADP5520_KEYMAPSIZE]; | ||
21 | }; | ||
22 | |||
23 | static void adp5520_keys_report_event(struct adp5520_keys *dev, | ||
24 | unsigned short keymask, int value) | ||
25 | { | ||
26 | int i; | ||
27 | |||
28 | for (i = 0; i < ADP5520_MAXKEYS; i++) | ||
29 | if (keymask & (1 << i)) | ||
30 | input_report_key(dev->input, dev->keycode[i], value); | ||
31 | |||
32 | input_sync(dev->input); | ||
33 | } | ||
34 | |||
35 | static int adp5520_keys_notifier(struct notifier_block *nb, | ||
36 | unsigned long event, void *data) | ||
37 | { | ||
38 | struct adp5520_keys *dev; | ||
39 | uint8_t reg_val_lo, reg_val_hi; | ||
40 | unsigned short keymask; | ||
41 | |||
42 | dev = container_of(nb, struct adp5520_keys, notifier); | ||
43 | |||
44 | if (event & ADP5520_KP_INT) { | ||
45 | adp5520_read(dev->master, ADP5520_KP_INT_STAT_1, ®_val_lo); | ||
46 | adp5520_read(dev->master, ADP5520_KP_INT_STAT_2, ®_val_hi); | ||
47 | |||
48 | keymask = (reg_val_hi << 8) | reg_val_lo; | ||
49 | /* Read twice to clear */ | ||
50 | adp5520_read(dev->master, ADP5520_KP_INT_STAT_1, ®_val_lo); | ||
51 | adp5520_read(dev->master, ADP5520_KP_INT_STAT_2, ®_val_hi); | ||
52 | keymask |= (reg_val_hi << 8) | reg_val_lo; | ||
53 | adp5520_keys_report_event(dev, keymask, 1); | ||
54 | } | ||
55 | |||
56 | if (event & ADP5520_KR_INT) { | ||
57 | adp5520_read(dev->master, ADP5520_KR_INT_STAT_1, ®_val_lo); | ||
58 | adp5520_read(dev->master, ADP5520_KR_INT_STAT_2, ®_val_hi); | ||
59 | |||
60 | keymask = (reg_val_hi << 8) | reg_val_lo; | ||
61 | /* Read twice to clear */ | ||
62 | adp5520_read(dev->master, ADP5520_KR_INT_STAT_1, ®_val_lo); | ||
63 | adp5520_read(dev->master, ADP5520_KR_INT_STAT_2, ®_val_hi); | ||
64 | keymask |= (reg_val_hi << 8) | reg_val_lo; | ||
65 | adp5520_keys_report_event(dev, keymask, 0); | ||
66 | } | ||
67 | |||
68 | return 0; | ||
69 | } | ||
70 | |||
71 | static int __devinit adp5520_keys_probe(struct platform_device *pdev) | ||
72 | { | ||
73 | struct adp5520_keys_platform_data *pdata = pdev->dev.platform_data; | ||
74 | struct input_dev *input; | ||
75 | struct adp5520_keys *dev; | ||
76 | int ret, i; | ||
77 | unsigned char en_mask, ctl_mask = 0; | ||
78 | |||
79 | if (pdev->id != ID_ADP5520) { | ||
80 | dev_err(&pdev->dev, "only ADP5520 supports Keypad\n"); | ||
81 | return -EINVAL; | ||
82 | } | ||
83 | |||
84 | if (pdata == NULL) { | ||
85 | dev_err(&pdev->dev, "missing platform data\n"); | ||
86 | return -EINVAL; | ||
87 | } | ||
88 | |||
89 | if (!(pdata->rows_en_mask && pdata->cols_en_mask)) | ||
90 | return -EINVAL; | ||
91 | |||
92 | dev = kzalloc(sizeof(*dev), GFP_KERNEL); | ||
93 | if (dev == NULL) { | ||
94 | dev_err(&pdev->dev, "failed to alloc memory\n"); | ||
95 | return -ENOMEM; | ||
96 | } | ||
97 | |||
98 | input = input_allocate_device(); | ||
99 | if (!input) { | ||
100 | ret = -ENOMEM; | ||
101 | goto err; | ||
102 | } | ||
103 | |||
104 | dev->master = pdev->dev.parent; | ||
105 | dev->input = input; | ||
106 | |||
107 | input->name = pdev->name; | ||
108 | input->phys = "adp5520-keys/input0"; | ||
109 | input->dev.parent = &pdev->dev; | ||
110 | |||
111 | input_set_drvdata(input, dev); | ||
112 | |||
113 | input->id.bustype = BUS_I2C; | ||
114 | input->id.vendor = 0x0001; | ||
115 | input->id.product = 0x5520; | ||
116 | input->id.version = 0x0001; | ||
117 | |||
118 | input->keycodesize = sizeof(dev->keycode[0]); | ||
119 | input->keycodemax = pdata->keymapsize; | ||
120 | input->keycode = dev->keycode; | ||
121 | |||
122 | memcpy(dev->keycode, pdata->keymap, | ||
123 | pdata->keymapsize * input->keycodesize); | ||
124 | |||
125 | /* setup input device */ | ||
126 | __set_bit(EV_KEY, input->evbit); | ||
127 | |||
128 | if (pdata->repeat) | ||
129 | __set_bit(EV_REP, input->evbit); | ||
130 | |||
131 | for (i = 0; i < input->keycodemax; i++) | ||
132 | __set_bit(dev->keycode[i], input->keybit); | ||
133 | __clear_bit(KEY_RESERVED, input->keybit); | ||
134 | |||
135 | ret = input_register_device(input); | ||
136 | if (ret) { | ||
137 | dev_err(&pdev->dev, "unable to register input device\n"); | ||
138 | goto err; | ||
139 | } | ||
140 | |||
141 | en_mask = pdata->rows_en_mask | pdata->cols_en_mask; | ||
142 | |||
143 | ret = adp5520_set_bits(dev->master, ADP5520_GPIO_CFG_1, en_mask); | ||
144 | |||
145 | if (en_mask & ADP5520_COL_C3) | ||
146 | ctl_mask |= ADP5520_C3_MODE; | ||
147 | |||
148 | if (en_mask & ADP5520_ROW_R3) | ||
149 | ctl_mask |= ADP5520_R3_MODE; | ||
150 | |||
151 | if (ctl_mask) | ||
152 | ret |= adp5520_set_bits(dev->master, ADP5520_LED_CONTROL, | ||
153 | ctl_mask); | ||
154 | |||
155 | ret |= adp5520_set_bits(dev->master, ADP5520_GPIO_PULLUP, | ||
156 | pdata->rows_en_mask); | ||
157 | |||
158 | if (ret) { | ||
159 | dev_err(&pdev->dev, "failed to write\n"); | ||
160 | ret = -EIO; | ||
161 | goto err1; | ||
162 | } | ||
163 | |||
164 | dev->notifier.notifier_call = adp5520_keys_notifier; | ||
165 | ret = adp5520_register_notifier(dev->master, &dev->notifier, | ||
166 | ADP5520_KP_IEN | ADP5520_KR_IEN); | ||
167 | if (ret) { | ||
168 | dev_err(&pdev->dev, "failed to register notifier\n"); | ||
169 | goto err1; | ||
170 | } | ||
171 | |||
172 | platform_set_drvdata(pdev, dev); | ||
173 | return 0; | ||
174 | |||
175 | err1: | ||
176 | input_unregister_device(input); | ||
177 | input = NULL; | ||
178 | err: | ||
179 | input_free_device(input); | ||
180 | kfree(dev); | ||
181 | return ret; | ||
182 | } | ||
183 | |||
184 | static int __devexit adp5520_keys_remove(struct platform_device *pdev) | ||
185 | { | ||
186 | struct adp5520_keys *dev = platform_get_drvdata(pdev); | ||
187 | |||
188 | adp5520_unregister_notifier(dev->master, &dev->notifier, | ||
189 | ADP5520_KP_IEN | ADP5520_KR_IEN); | ||
190 | |||
191 | input_unregister_device(dev->input); | ||
192 | kfree(dev); | ||
193 | return 0; | ||
194 | } | ||
195 | |||
196 | static struct platform_driver adp5520_keys_driver = { | ||
197 | .driver = { | ||
198 | .name = "adp5520-keys", | ||
199 | .owner = THIS_MODULE, | ||
200 | }, | ||
201 | .probe = adp5520_keys_probe, | ||
202 | .remove = __devexit_p(adp5520_keys_remove), | ||
203 | }; | ||
204 | |||
205 | static int __init adp5520_keys_init(void) | ||
206 | { | ||
207 | return platform_driver_register(&adp5520_keys_driver); | ||
208 | } | ||
209 | module_init(adp5520_keys_init); | ||
210 | |||
211 | static void __exit adp5520_keys_exit(void) | ||
212 | { | ||
213 | platform_driver_unregister(&adp5520_keys_driver); | ||
214 | } | ||
215 | module_exit(adp5520_keys_exit); | ||
216 | |||
217 | MODULE_AUTHOR("Michael Hennerich <hennerich@blackfin.uclinux.org>"); | ||
218 | MODULE_DESCRIPTION("Keys ADP5520 Driver"); | ||
219 | MODULE_LICENSE("GPL"); | ||
220 | MODULE_ALIAS("platform:adp5520-keys"); | ||
diff --git a/drivers/input/keyboard/omap-keypad.c b/drivers/input/keyboard/omap-keypad.c index bba85add35a3..1a494d505431 100644 --- a/drivers/input/keyboard/omap-keypad.c +++ b/drivers/input/keyboard/omap-keypad.c | |||
@@ -35,12 +35,12 @@ | |||
35 | #include <linux/mutex.h> | 35 | #include <linux/mutex.h> |
36 | #include <linux/errno.h> | 36 | #include <linux/errno.h> |
37 | #include <mach/gpio.h> | 37 | #include <mach/gpio.h> |
38 | #include <mach/keypad.h> | 38 | #include <plat/keypad.h> |
39 | #include <mach/menelaus.h> | 39 | #include <plat/menelaus.h> |
40 | #include <asm/irq.h> | 40 | #include <asm/irq.h> |
41 | #include <mach/hardware.h> | 41 | #include <mach/hardware.h> |
42 | #include <asm/io.h> | 42 | #include <asm/io.h> |
43 | #include <mach/mux.h> | 43 | #include <plat/mux.h> |
44 | 44 | ||
45 | #undef NEW_BOARD_LEARNING_MODE | 45 | #undef NEW_BOARD_LEARNING_MODE |
46 | 46 | ||
diff --git a/drivers/input/keyboard/sh_keysc.c b/drivers/input/keyboard/sh_keysc.c index 887af79b7bff..076111fc72d2 100644 --- a/drivers/input/keyboard/sh_keysc.c +++ b/drivers/input/keyboard/sh_keysc.c | |||
@@ -18,9 +18,9 @@ | |||
18 | #include <linux/delay.h> | 18 | #include <linux/delay.h> |
19 | #include <linux/platform_device.h> | 19 | #include <linux/platform_device.h> |
20 | #include <linux/input.h> | 20 | #include <linux/input.h> |
21 | #include <linux/input/sh_keysc.h> | ||
21 | #include <linux/clk.h> | 22 | #include <linux/clk.h> |
22 | #include <linux/io.h> | 23 | #include <linux/io.h> |
23 | #include <asm/sh_keysc.h> | ||
24 | 24 | ||
25 | #define KYCR1_OFFS 0x00 | 25 | #define KYCR1_OFFS 0x00 |
26 | #define KYCR2_OFFS 0x04 | 26 | #define KYCR2_OFFS 0x04 |
diff --git a/drivers/input/keyboard/twl4030_keypad.c b/drivers/input/keyboard/twl4030_keypad.c index 9a2977c21696..eeaa7acb9cfc 100644 --- a/drivers/input/keyboard/twl4030_keypad.c +++ b/drivers/input/keyboard/twl4030_keypad.c | |||
@@ -31,7 +31,7 @@ | |||
31 | #include <linux/interrupt.h> | 31 | #include <linux/interrupt.h> |
32 | #include <linux/input.h> | 32 | #include <linux/input.h> |
33 | #include <linux/platform_device.h> | 33 | #include <linux/platform_device.h> |
34 | #include <linux/i2c/twl4030.h> | 34 | #include <linux/i2c/twl.h> |
35 | 35 | ||
36 | 36 | ||
37 | /* | 37 | /* |
@@ -133,7 +133,7 @@ struct twl4030_keypad { | |||
133 | static int twl4030_kpread(struct twl4030_keypad *kp, | 133 | static int twl4030_kpread(struct twl4030_keypad *kp, |
134 | u8 *data, u32 reg, u8 num_bytes) | 134 | u8 *data, u32 reg, u8 num_bytes) |
135 | { | 135 | { |
136 | int ret = twl4030_i2c_read(TWL4030_MODULE_KEYPAD, data, reg, num_bytes); | 136 | int ret = twl_i2c_read(TWL4030_MODULE_KEYPAD, data, reg, num_bytes); |
137 | 137 | ||
138 | if (ret < 0) | 138 | if (ret < 0) |
139 | dev_warn(kp->dbg_dev, | 139 | dev_warn(kp->dbg_dev, |
@@ -145,7 +145,7 @@ static int twl4030_kpread(struct twl4030_keypad *kp, | |||
145 | 145 | ||
146 | static int twl4030_kpwrite_u8(struct twl4030_keypad *kp, u8 data, u32 reg) | 146 | static int twl4030_kpwrite_u8(struct twl4030_keypad *kp, u8 data, u32 reg) |
147 | { | 147 | { |
148 | int ret = twl4030_i2c_write_u8(TWL4030_MODULE_KEYPAD, data, reg); | 148 | int ret = twl_i2c_write_u8(TWL4030_MODULE_KEYPAD, data, reg); |
149 | 149 | ||
150 | if (ret < 0) | 150 | if (ret < 0) |
151 | dev_warn(kp->dbg_dev, | 151 | dev_warn(kp->dbg_dev, |
diff --git a/drivers/input/misc/hp_sdc_rtc.c b/drivers/input/misc/hp_sdc_rtc.c index ea821b546969..ad730e15afc0 100644 --- a/drivers/input/misc/hp_sdc_rtc.c +++ b/drivers/input/misc/hp_sdc_rtc.c | |||
@@ -35,7 +35,6 @@ | |||
35 | 35 | ||
36 | #include <linux/hp_sdc.h> | 36 | #include <linux/hp_sdc.h> |
37 | #include <linux/errno.h> | 37 | #include <linux/errno.h> |
38 | #include <linux/smp_lock.h> | ||
39 | #include <linux/types.h> | 38 | #include <linux/types.h> |
40 | #include <linux/init.h> | 39 | #include <linux/init.h> |
41 | #include <linux/module.h> | 40 | #include <linux/module.h> |
@@ -409,7 +408,6 @@ static unsigned int hp_sdc_rtc_poll(struct file *file, poll_table *wait) | |||
409 | 408 | ||
410 | static int hp_sdc_rtc_open(struct inode *inode, struct file *file) | 409 | static int hp_sdc_rtc_open(struct inode *inode, struct file *file) |
411 | { | 410 | { |
412 | cycle_kernel_lock(); | ||
413 | return 0; | 411 | return 0; |
414 | } | 412 | } |
415 | 413 | ||
diff --git a/drivers/input/misc/pcf50633-input.c b/drivers/input/misc/pcf50633-input.c index 039dcb00ebd9..008de0c5834b 100644 --- a/drivers/input/misc/pcf50633-input.c +++ b/drivers/input/misc/pcf50633-input.c | |||
@@ -55,7 +55,6 @@ pcf50633_input_irq(int irq, void *data) | |||
55 | static int __devinit pcf50633_input_probe(struct platform_device *pdev) | 55 | static int __devinit pcf50633_input_probe(struct platform_device *pdev) |
56 | { | 56 | { |
57 | struct pcf50633_input *input; | 57 | struct pcf50633_input *input; |
58 | struct pcf50633_subdev_pdata *pdata = pdev->dev.platform_data; | ||
59 | struct input_dev *input_dev; | 58 | struct input_dev *input_dev; |
60 | int ret; | 59 | int ret; |
61 | 60 | ||
@@ -71,7 +70,7 @@ static int __devinit pcf50633_input_probe(struct platform_device *pdev) | |||
71 | } | 70 | } |
72 | 71 | ||
73 | platform_set_drvdata(pdev, input); | 72 | platform_set_drvdata(pdev, input); |
74 | input->pcf = pdata->pcf; | 73 | input->pcf = dev_to_pcf50633(pdev->dev.parent); |
75 | input->input_dev = input_dev; | 74 | input->input_dev = input_dev; |
76 | 75 | ||
77 | input_dev->name = "PCF50633 PMU events"; | 76 | input_dev->name = "PCF50633 PMU events"; |
@@ -85,9 +84,9 @@ static int __devinit pcf50633_input_probe(struct platform_device *pdev) | |||
85 | kfree(input); | 84 | kfree(input); |
86 | return ret; | 85 | return ret; |
87 | } | 86 | } |
88 | pcf50633_register_irq(pdata->pcf, PCF50633_IRQ_ONKEYR, | 87 | pcf50633_register_irq(input->pcf, PCF50633_IRQ_ONKEYR, |
89 | pcf50633_input_irq, input); | 88 | pcf50633_input_irq, input); |
90 | pcf50633_register_irq(pdata->pcf, PCF50633_IRQ_ONKEYF, | 89 | pcf50633_register_irq(input->pcf, PCF50633_IRQ_ONKEYF, |
91 | pcf50633_input_irq, input); | 90 | pcf50633_input_irq, input); |
92 | 91 | ||
93 | return 0; | 92 | return 0; |
diff --git a/drivers/input/misc/twl4030-pwrbutton.c b/drivers/input/misc/twl4030-pwrbutton.c index f5fc9974a111..bdde5c889035 100644 --- a/drivers/input/misc/twl4030-pwrbutton.c +++ b/drivers/input/misc/twl4030-pwrbutton.c | |||
@@ -27,7 +27,7 @@ | |||
27 | #include <linux/input.h> | 27 | #include <linux/input.h> |
28 | #include <linux/interrupt.h> | 28 | #include <linux/interrupt.h> |
29 | #include <linux/platform_device.h> | 29 | #include <linux/platform_device.h> |
30 | #include <linux/i2c/twl4030.h> | 30 | #include <linux/i2c/twl.h> |
31 | 31 | ||
32 | #define PWR_PWRON_IRQ (1 << 0) | 32 | #define PWR_PWRON_IRQ (1 << 0) |
33 | 33 | ||
@@ -49,7 +49,7 @@ static irqreturn_t powerbutton_irq(int irq, void *_pwr) | |||
49 | local_irq_enable(); | 49 | local_irq_enable(); |
50 | #endif | 50 | #endif |
51 | 51 | ||
52 | err = twl4030_i2c_read_u8(TWL4030_MODULE_PM_MASTER, &value, | 52 | err = twl_i2c_read_u8(TWL4030_MODULE_PM_MASTER, &value, |
53 | STS_HW_CONDITIONS); | 53 | STS_HW_CONDITIONS); |
54 | if (!err) { | 54 | if (!err) { |
55 | input_report_key(pwr, KEY_POWER, value & PWR_PWRON_IRQ); | 55 | input_report_key(pwr, KEY_POWER, value & PWR_PWRON_IRQ); |
diff --git a/drivers/input/serio/hp_sdc.c b/drivers/input/serio/hp_sdc.c index 1c9410d1822c..bcc2d30ec245 100644 --- a/drivers/input/serio/hp_sdc.c +++ b/drivers/input/serio/hp_sdc.c | |||
@@ -955,7 +955,7 @@ static int __init hp_sdc_init_hppa(struct parisc_device *d) | |||
955 | INIT_DELAYED_WORK(&moduleloader_work, request_module_delayed); | 955 | INIT_DELAYED_WORK(&moduleloader_work, request_module_delayed); |
956 | 956 | ||
957 | ret = hp_sdc_init(); | 957 | ret = hp_sdc_init(); |
958 | /* after sucessfull initialization give SDC some time to settle | 958 | /* after successfull initialization give SDC some time to settle |
959 | * and then load the hp_sdc_mlc upper layer driver */ | 959 | * and then load the hp_sdc_mlc upper layer driver */ |
960 | if (!ret) | 960 | if (!ret) |
961 | schedule_delayed_work(&moduleloader_work, | 961 | schedule_delayed_work(&moduleloader_work, |
diff --git a/drivers/input/serio/hp_sdc_mlc.c b/drivers/input/serio/hp_sdc_mlc.c index 820e51673b26..7d2b820ef58d 100644 --- a/drivers/input/serio/hp_sdc_mlc.c +++ b/drivers/input/serio/hp_sdc_mlc.c | |||
@@ -125,7 +125,7 @@ static void hp_sdc_mlc_isr (int irq, void *dev_id, | |||
125 | break; | 125 | break; |
126 | 126 | ||
127 | default: | 127 | default: |
128 | printk(KERN_WARNING PREFIX "Unkown HIL Error status (%x)!\n", data); | 128 | printk(KERN_WARNING PREFIX "Unknown HIL Error status (%x)!\n", data); |
129 | break; | 129 | break; |
130 | } | 130 | } |
131 | 131 | ||
diff --git a/drivers/input/touchscreen/atmel-wm97xx.c b/drivers/input/touchscreen/atmel-wm97xx.c index 35377f583e28..a12242f77e23 100644 --- a/drivers/input/touchscreen/atmel-wm97xx.c +++ b/drivers/input/touchscreen/atmel-wm97xx.c | |||
@@ -59,7 +59,7 @@ | |||
59 | #define ATMEL_WM97XX_AC97C_IRQ (29) | 59 | #define ATMEL_WM97XX_AC97C_IRQ (29) |
60 | #define ATMEL_WM97XX_GPIO_DEFAULT (32+16) /* Pin 16 on port B. */ | 60 | #define ATMEL_WM97XX_GPIO_DEFAULT (32+16) /* Pin 16 on port B. */ |
61 | #else | 61 | #else |
62 | #error Unkown CPU, this driver only supports AT32AP700X CPUs. | 62 | #error Unknown CPU, this driver only supports AT32AP700X CPUs. |
63 | #endif | 63 | #endif |
64 | 64 | ||
65 | struct continuous { | 65 | struct continuous { |
diff --git a/drivers/input/touchscreen/mainstone-wm97xx.c b/drivers/input/touchscreen/mainstone-wm97xx.c index 8fc3b08deb3b..6cdcf2a6e036 100644 --- a/drivers/input/touchscreen/mainstone-wm97xx.c +++ b/drivers/input/touchscreen/mainstone-wm97xx.c | |||
@@ -14,7 +14,7 @@ | |||
14 | * | 14 | * |
15 | * Notes: | 15 | * Notes: |
16 | * This is a wm97xx extended touch driver to capture touch | 16 | * This is a wm97xx extended touch driver to capture touch |
17 | * data in a continuous manner on the Intel XScale archictecture | 17 | * data in a continuous manner on the Intel XScale architecture |
18 | * | 18 | * |
19 | * Features: | 19 | * Features: |
20 | * - codecs supported:- WM9705, WM9712, WM9713 | 20 | * - codecs supported:- WM9705, WM9712, WM9713 |
@@ -131,7 +131,7 @@ static int wm97xx_acc_pen_down(struct wm97xx *wm) | |||
131 | /* When the AC97 queue has been drained we need to allow time | 131 | /* When the AC97 queue has been drained we need to allow time |
132 | * to buffer up samples otherwise we end up spinning polling | 132 | * to buffer up samples otherwise we end up spinning polling |
133 | * for samples. The controller can't have a suitably low | 133 | * for samples. The controller can't have a suitably low |
134 | * threashold set to use the notifications it gives. | 134 | * threshold set to use the notifications it gives. |
135 | */ | 135 | */ |
136 | schedule_timeout_uninterruptible(1); | 136 | schedule_timeout_uninterruptible(1); |
137 | 137 | ||
diff --git a/drivers/input/touchscreen/zylonite-wm97xx.c b/drivers/input/touchscreen/zylonite-wm97xx.c index 41e4359c277c..eca54dbdf493 100644 --- a/drivers/input/touchscreen/zylonite-wm97xx.c +++ b/drivers/input/touchscreen/zylonite-wm97xx.c | |||
@@ -96,7 +96,7 @@ static int wm97xx_acc_pen_down(struct wm97xx *wm) | |||
96 | /* When the AC97 queue has been drained we need to allow time | 96 | /* When the AC97 queue has been drained we need to allow time |
97 | * to buffer up samples otherwise we end up spinning polling | 97 | * to buffer up samples otherwise we end up spinning polling |
98 | * for samples. The controller can't have a suitably low | 98 | * for samples. The controller can't have a suitably low |
99 | * threashold set to use the notifications it gives. | 99 | * threshold set to use the notifications it gives. |
100 | */ | 100 | */ |
101 | msleep(1); | 101 | msleep(1); |
102 | 102 | ||
diff --git a/drivers/input/xen-kbdfront.c b/drivers/input/xen-kbdfront.c index b115726dc088..c721c0a23eb8 100644 --- a/drivers/input/xen-kbdfront.c +++ b/drivers/input/xen-kbdfront.c | |||
@@ -21,7 +21,10 @@ | |||
21 | #include <linux/errno.h> | 21 | #include <linux/errno.h> |
22 | #include <linux/module.h> | 22 | #include <linux/module.h> |
23 | #include <linux/input.h> | 23 | #include <linux/input.h> |
24 | |||
24 | #include <asm/xen/hypervisor.h> | 25 | #include <asm/xen/hypervisor.h> |
26 | |||
27 | #include <xen/xen.h> | ||
25 | #include <xen/events.h> | 28 | #include <xen/events.h> |
26 | #include <xen/page.h> | 29 | #include <xen/page.h> |
27 | #include <xen/interface/io/fbif.h> | 30 | #include <xen/interface/io/fbif.h> |