diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-10-09 16:32:24 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-10-09 16:32:24 -0400 |
commit | baf4974e496957681403d4bf74a3274ed3f85277 (patch) | |
tree | 7c255a3e8a27f21ccc40a9886d40673c945a8073 /drivers/input | |
parent | 79a6f564401f1d47989e706d47053a650f296966 (diff) | |
parent | d3d2dfe2d723051cac323017af5d0180ba8de4c1 (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: i8042 - print debug data when testing AUX IRQ delivery
Input: libps2 - fix dependancy on i8042
Input: fix rx51 board keymap
Input: ad7879 - pass up error codes from probe functions
Input: xpad - add BigBen Interactive XBOX 360 Controller
Input: rotary_encoder - fix relative axis support
Input: sparkspkr - move remove() functions to .devexit.text
Input: wistron_btns - add DMI entry for Medion WIM2030 laptop
Diffstat (limited to 'drivers/input')
-rw-r--r-- | drivers/input/joystick/xpad.c | 2 | ||||
-rw-r--r-- | drivers/input/misc/rotary_encoder.c | 4 | ||||
-rw-r--r-- | drivers/input/misc/sparcspkr.c | 4 | ||||
-rw-r--r-- | drivers/input/misc/wistron_btns.c | 9 | ||||
-rw-r--r-- | drivers/input/serio/Kconfig | 13 | ||||
-rw-r--r-- | drivers/input/serio/i8042.c | 3 | ||||
-rw-r--r-- | drivers/input/touchscreen/ad7879.c | 4 |
7 files changed, 27 insertions, 12 deletions
diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c index 2388cf578a62..79e3edcced1a 100644 --- a/drivers/input/joystick/xpad.c +++ b/drivers/input/joystick/xpad.c | |||
@@ -143,6 +143,7 @@ static const struct xpad_device { | |||
143 | { 0x12ab, 0x8809, "Xbox DDR dancepad", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX }, | 143 | { 0x12ab, 0x8809, "Xbox DDR dancepad", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX }, |
144 | { 0x1430, 0x4748, "RedOctane Guitar Hero X-plorer", MAP_DPAD_TO_AXES, XTYPE_XBOX360 }, | 144 | { 0x1430, 0x4748, "RedOctane Guitar Hero X-plorer", MAP_DPAD_TO_AXES, XTYPE_XBOX360 }, |
145 | { 0x1430, 0x8888, "TX6500+ Dance Pad (first generation)", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX }, | 145 | { 0x1430, 0x8888, "TX6500+ Dance Pad (first generation)", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX }, |
146 | { 0x146b, 0x0601, "BigBen Interactive XBOX 360 Controller", MAP_DPAD_TO_AXES, XTYPE_XBOX360 }, | ||
146 | { 0x045e, 0x028e, "Microsoft X-Box 360 pad", MAP_DPAD_TO_AXES, XTYPE_XBOX360 }, | 147 | { 0x045e, 0x028e, "Microsoft X-Box 360 pad", MAP_DPAD_TO_AXES, XTYPE_XBOX360 }, |
147 | { 0x1bad, 0x0003, "Harmonix Rock Band Drumkit", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX360 }, | 148 | { 0x1bad, 0x0003, "Harmonix Rock Band Drumkit", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX360 }, |
148 | { 0xffff, 0xffff, "Chinese-made Xbox Controller", MAP_DPAD_TO_AXES, XTYPE_XBOX }, | 149 | { 0xffff, 0xffff, "Chinese-made Xbox Controller", MAP_DPAD_TO_AXES, XTYPE_XBOX }, |
@@ -209,6 +210,7 @@ static struct usb_device_id xpad_table [] = { | |||
209 | XPAD_XBOX360_VENDOR(0x0738), /* Mad Catz X-Box 360 controllers */ | 210 | XPAD_XBOX360_VENDOR(0x0738), /* Mad Catz X-Box 360 controllers */ |
210 | XPAD_XBOX360_VENDOR(0x0e6f), /* 0x0e6f X-Box 360 controllers */ | 211 | XPAD_XBOX360_VENDOR(0x0e6f), /* 0x0e6f X-Box 360 controllers */ |
211 | XPAD_XBOX360_VENDOR(0x1430), /* RedOctane X-Box 360 controllers */ | 212 | XPAD_XBOX360_VENDOR(0x1430), /* RedOctane X-Box 360 controllers */ |
213 | XPAD_XBOX360_VENDOR(0x146b), /* BigBen Interactive Controllers */ | ||
212 | XPAD_XBOX360_VENDOR(0x1bad), /* Rock Band Drums */ | 214 | XPAD_XBOX360_VENDOR(0x1bad), /* Rock Band Drums */ |
213 | { } | 215 | { } |
214 | }; | 216 | }; |
diff --git a/drivers/input/misc/rotary_encoder.c b/drivers/input/misc/rotary_encoder.c index c806fbf1e174..3b9f588fc747 100644 --- a/drivers/input/misc/rotary_encoder.c +++ b/drivers/input/misc/rotary_encoder.c | |||
@@ -106,8 +106,8 @@ static int __devinit rotary_encoder_probe(struct platform_device *pdev) | |||
106 | struct input_dev *input; | 106 | struct input_dev *input; |
107 | int err; | 107 | int err; |
108 | 108 | ||
109 | if (!pdata || !pdata->steps) { | 109 | if (!pdata) { |
110 | dev_err(&pdev->dev, "invalid platform data\n"); | 110 | dev_err(&pdev->dev, "missing platform data\n"); |
111 | return -ENOENT; | 111 | return -ENOENT; |
112 | } | 112 | } |
113 | 113 | ||
diff --git a/drivers/input/misc/sparcspkr.c b/drivers/input/misc/sparcspkr.c index c4f42311fdec..b064419b90a2 100644 --- a/drivers/input/misc/sparcspkr.c +++ b/drivers/input/misc/sparcspkr.c | |||
@@ -230,7 +230,7 @@ out_err: | |||
230 | return err; | 230 | return err; |
231 | } | 231 | } |
232 | 232 | ||
233 | static int bbc_remove(struct of_device *op) | 233 | static int __devexit bbc_remove(struct of_device *op) |
234 | { | 234 | { |
235 | struct sparcspkr_state *state = dev_get_drvdata(&op->dev); | 235 | struct sparcspkr_state *state = dev_get_drvdata(&op->dev); |
236 | struct input_dev *input_dev = state->input_dev; | 236 | struct input_dev *input_dev = state->input_dev; |
@@ -308,7 +308,7 @@ out_err: | |||
308 | return err; | 308 | return err; |
309 | } | 309 | } |
310 | 310 | ||
311 | static int grover_remove(struct of_device *op) | 311 | static int __devexit grover_remove(struct of_device *op) |
312 | { | 312 | { |
313 | struct sparcspkr_state *state = dev_get_drvdata(&op->dev); | 313 | struct sparcspkr_state *state = dev_get_drvdata(&op->dev); |
314 | struct grover_beep_info *info = &state->u.grover; | 314 | struct grover_beep_info *info = &state->u.grover; |
diff --git a/drivers/input/misc/wistron_btns.c b/drivers/input/misc/wistron_btns.c index 11fd038a078f..a932179c4c9e 100644 --- a/drivers/input/misc/wistron_btns.c +++ b/drivers/input/misc/wistron_btns.c | |||
@@ -936,6 +936,15 @@ static struct dmi_system_id dmi_ids[] __initdata = { | |||
936 | }, | 936 | }, |
937 | { | 937 | { |
938 | .callback = dmi_matched, | 938 | .callback = dmi_matched, |
939 | .ident = "Medion MD 42200", | ||
940 | .matches = { | ||
941 | DMI_MATCH(DMI_SYS_VENDOR, "Medion"), | ||
942 | DMI_MATCH(DMI_PRODUCT_NAME, "WIM 2030"), | ||
943 | }, | ||
944 | .driver_data = keymap_fs_amilo_pro_v2000 | ||
945 | }, | ||
946 | { | ||
947 | .callback = dmi_matched, | ||
939 | .ident = "Medion MD 96500", | 948 | .ident = "Medion MD 96500", |
940 | .matches = { | 949 | .matches = { |
941 | DMI_MATCH(DMI_SYS_VENDOR, "MEDIONPC"), | 950 | DMI_MATCH(DMI_SYS_VENDOR, "MEDIONPC"), |
diff --git a/drivers/input/serio/Kconfig b/drivers/input/serio/Kconfig index c4b3fbd1a80f..aa533ceffe34 100644 --- a/drivers/input/serio/Kconfig +++ b/drivers/input/serio/Kconfig | |||
@@ -4,7 +4,7 @@ | |||
4 | config SERIO | 4 | config SERIO |
5 | tristate "Serial I/O support" if EMBEDDED || !X86 | 5 | tristate "Serial I/O support" if EMBEDDED || !X86 |
6 | default y | 6 | default y |
7 | ---help--- | 7 | help |
8 | Say Yes here if you have any input device that uses serial I/O to | 8 | Say Yes here if you have any input device that uses serial I/O to |
9 | communicate with the system. This includes the | 9 | communicate with the system. This includes the |
10 | * standard AT keyboard and PS/2 mouse * | 10 | * standard AT keyboard and PS/2 mouse * |
@@ -22,7 +22,7 @@ config SERIO_I8042 | |||
22 | tristate "i8042 PC Keyboard controller" if EMBEDDED || !X86 | 22 | tristate "i8042 PC Keyboard controller" if EMBEDDED || !X86 |
23 | default y | 23 | default y |
24 | depends on !PARISC && (!ARM || ARCH_SHARK || FOOTBRIDGE_HOST) && !M68K && !BLACKFIN | 24 | depends on !PARISC && (!ARM || ARCH_SHARK || FOOTBRIDGE_HOST) && !M68K && !BLACKFIN |
25 | ---help--- | 25 | help |
26 | i8042 is the chip over which the standard AT keyboard and PS/2 | 26 | i8042 is the chip over which the standard AT keyboard and PS/2 |
27 | mouse are connected to the computer. If you use these devices, | 27 | mouse are connected to the computer. If you use these devices, |
28 | you'll need to say Y here. | 28 | you'll need to say Y here. |
@@ -35,7 +35,7 @@ config SERIO_I8042 | |||
35 | config SERIO_SERPORT | 35 | config SERIO_SERPORT |
36 | tristate "Serial port line discipline" | 36 | tristate "Serial port line discipline" |
37 | default y | 37 | default y |
38 | ---help--- | 38 | help |
39 | Say Y here if you plan to use an input device (mouse, joystick, | 39 | Say Y here if you plan to use an input device (mouse, joystick, |
40 | tablet, 6dof) that communicates over the RS232 serial (COM) port. | 40 | tablet, 6dof) that communicates over the RS232 serial (COM) port. |
41 | 41 | ||
@@ -49,7 +49,7 @@ config SERIO_SERPORT | |||
49 | config SERIO_CT82C710 | 49 | config SERIO_CT82C710 |
50 | tristate "ct82c710 Aux port controller" | 50 | tristate "ct82c710 Aux port controller" |
51 | depends on X86 | 51 | depends on X86 |
52 | ---help--- | 52 | help |
53 | Say Y here if you have a Texas Instruments TravelMate notebook | 53 | Say Y here if you have a Texas Instruments TravelMate notebook |
54 | equipped with the ct82c710 chip and want to use a mouse connected | 54 | equipped with the ct82c710 chip and want to use a mouse connected |
55 | to the "QuickPort". | 55 | to the "QuickPort". |
@@ -66,7 +66,7 @@ config SERIO_Q40KBD | |||
66 | config SERIO_PARKBD | 66 | config SERIO_PARKBD |
67 | tristate "Parallel port keyboard adapter" | 67 | tristate "Parallel port keyboard adapter" |
68 | depends on PARPORT | 68 | depends on PARPORT |
69 | ---help--- | 69 | help |
70 | Say Y here if you built a simple parallel port adapter to attach | 70 | Say Y here if you built a simple parallel port adapter to attach |
71 | an additional AT keyboard, XT keyboard or PS/2 mouse. | 71 | an additional AT keyboard, XT keyboard or PS/2 mouse. |
72 | 72 | ||
@@ -124,7 +124,7 @@ config HP_SDC | |||
124 | tristate "HP System Device Controller i8042 Support" | 124 | tristate "HP System Device Controller i8042 Support" |
125 | depends on (GSC || HP300) && SERIO | 125 | depends on (GSC || HP300) && SERIO |
126 | default y | 126 | default y |
127 | ---help--- | 127 | help |
128 | This option enables support for the "System Device | 128 | This option enables support for the "System Device |
129 | Controller", an i8042 carrying microcode to manage a | 129 | Controller", an i8042 carrying microcode to manage a |
130 | few miscellaneous devices on some Hewlett Packard systems. | 130 | few miscellaneous devices on some Hewlett Packard systems. |
@@ -168,6 +168,7 @@ config SERIO_MACEPS2 | |||
168 | 168 | ||
169 | config SERIO_LIBPS2 | 169 | config SERIO_LIBPS2 |
170 | tristate "PS/2 driver library" if EMBEDDED | 170 | tristate "PS/2 driver library" if EMBEDDED |
171 | depends on SERIO_I8042 || SERIO_I8042=n | ||
171 | help | 172 | help |
172 | Say Y here if you are using a driver for device connected | 173 | Say Y here if you are using a driver for device connected |
173 | to a PS/2 port, such as PS/2 mouse or standard AT keyboard. | 174 | to a PS/2 port, such as PS/2 mouse or standard AT keyboard. |
diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c index bc56e52b945f..a31578170ccc 100644 --- a/drivers/input/serio/i8042.c +++ b/drivers/input/serio/i8042.c | |||
@@ -609,6 +609,8 @@ static irqreturn_t __init i8042_aux_test_irq(int irq, void *dev_id) | |||
609 | str = i8042_read_status(); | 609 | str = i8042_read_status(); |
610 | if (str & I8042_STR_OBF) { | 610 | if (str & I8042_STR_OBF) { |
611 | data = i8042_read_data(); | 611 | data = i8042_read_data(); |
612 | dbg("%02x <- i8042 (aux_test_irq, %s)", | ||
613 | data, str & I8042_STR_AUXDATA ? "aux" : "kbd"); | ||
612 | if (i8042_irq_being_tested && | 614 | if (i8042_irq_being_tested && |
613 | data == 0xa5 && (str & I8042_STR_AUXDATA)) | 615 | data == 0xa5 && (str & I8042_STR_AUXDATA)) |
614 | complete(&i8042_aux_irq_delivered); | 616 | complete(&i8042_aux_irq_delivered); |
@@ -750,6 +752,7 @@ static int __init i8042_check_aux(void) | |||
750 | * AUX IRQ was never delivered so we need to flush the controller to | 752 | * AUX IRQ was never delivered so we need to flush the controller to |
751 | * get rid of the byte we put there; otherwise keyboard may not work. | 753 | * get rid of the byte we put there; otherwise keyboard may not work. |
752 | */ | 754 | */ |
755 | dbg(" -- i8042 (aux irq test timeout)"); | ||
753 | i8042_flush(); | 756 | i8042_flush(); |
754 | retval = -1; | 757 | retval = -1; |
755 | } | 758 | } |
diff --git a/drivers/input/touchscreen/ad7879.c b/drivers/input/touchscreen/ad7879.c index f06332c9e21b..c21e6d3a8844 100644 --- a/drivers/input/touchscreen/ad7879.c +++ b/drivers/input/touchscreen/ad7879.c | |||
@@ -645,7 +645,7 @@ static int __devinit ad7879_probe(struct spi_device *spi) | |||
645 | kfree(ts); | 645 | kfree(ts); |
646 | } | 646 | } |
647 | 647 | ||
648 | return 0; | 648 | return error; |
649 | } | 649 | } |
650 | 650 | ||
651 | static int __devexit ad7879_remove(struct spi_device *spi) | 651 | static int __devexit ad7879_remove(struct spi_device *spi) |
@@ -732,7 +732,7 @@ static int __devinit ad7879_probe(struct i2c_client *client, | |||
732 | kfree(ts); | 732 | kfree(ts); |
733 | } | 733 | } |
734 | 734 | ||
735 | return 0; | 735 | return error; |
736 | } | 736 | } |
737 | 737 | ||
738 | static int __devexit ad7879_remove(struct i2c_client *client) | 738 | static int __devexit ad7879_remove(struct i2c_client *client) |