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 | |
| 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')
| -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) |
