Commit baf4974e authored by Linus Torvalds's avatar Linus Torvalds

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
parents 79a6f564 d3d2dfe2
...@@ -38,49 +38,49 @@ ...@@ -38,49 +38,49 @@
static int board_keymap[] = { static int board_keymap[] = {
KEY(0, 0, KEY_Q), KEY(0, 0, KEY_Q),
KEY(0, 1, KEY_W), KEY(0, 1, KEY_O),
KEY(0, 2, KEY_E), KEY(0, 2, KEY_P),
KEY(0, 3, KEY_R), KEY(0, 3, KEY_COMMA),
KEY(0, 4, KEY_T), KEY(0, 4, KEY_BACKSPACE),
KEY(0, 5, KEY_Y), KEY(0, 6, KEY_A),
KEY(0, 6, KEY_U), KEY(0, 7, KEY_S),
KEY(0, 7, KEY_I), KEY(1, 0, KEY_W),
KEY(1, 0, KEY_O),
KEY(1, 1, KEY_D), KEY(1, 1, KEY_D),
KEY(1, 2, KEY_DOT), KEY(1, 2, KEY_F),
KEY(1, 3, KEY_V), KEY(1, 3, KEY_G),
KEY(1, 4, KEY_DOWN), KEY(1, 4, KEY_H),
KEY(2, 0, KEY_P), KEY(1, 5, KEY_J),
KEY(2, 1, KEY_F), KEY(1, 6, KEY_K),
KEY(1, 7, KEY_L),
KEY(2, 0, KEY_E),
KEY(2, 1, KEY_DOT),
KEY(2, 2, KEY_UP), KEY(2, 2, KEY_UP),
KEY(2, 3, KEY_B), KEY(2, 3, KEY_ENTER),
KEY(2, 4, KEY_RIGHT), KEY(2, 5, KEY_Z),
KEY(3, 0, KEY_COMMA), KEY(2, 6, KEY_X),
KEY(3, 1, KEY_G), KEY(2, 7, KEY_C),
KEY(3, 2, KEY_ENTER), KEY(3, 0, KEY_R),
KEY(3, 1, KEY_V),
KEY(3, 2, KEY_B),
KEY(3, 3, KEY_N), KEY(3, 3, KEY_N),
KEY(4, 0, KEY_BACKSPACE), KEY(3, 4, KEY_M),
KEY(4, 1, KEY_H), KEY(3, 5, KEY_SPACE),
KEY(4, 3, KEY_M), KEY(3, 6, KEY_SPACE),
KEY(3, 7, KEY_LEFT),
KEY(4, 0, KEY_T),
KEY(4, 1, KEY_DOWN),
KEY(4, 2, KEY_RIGHT),
KEY(4, 4, KEY_LEFTCTRL), KEY(4, 4, KEY_LEFTCTRL),
KEY(5, 1, KEY_J), KEY(4, 5, KEY_RIGHTALT),
KEY(5, 2, KEY_Z), KEY(4, 6, KEY_LEFTSHIFT),
KEY(5, 3, KEY_SPACE), KEY(5, 0, KEY_Y),
KEY(5, 4, KEY_LEFTSHIFT), KEY(6, 0, KEY_U),
KEY(6, 0, KEY_A), KEY(7, 0, KEY_I),
KEY(6, 1, KEY_K), KEY(7, 1, KEY_F7),
KEY(6, 2, KEY_X), KEY(7, 2, KEY_F8),
KEY(6, 3, KEY_SPACE), KEY(0xff, 2, KEY_F9),
KEY(6, 4, KEY_FN), KEY(0xff, 4, KEY_F10),
KEY(7, 0, KEY_S), KEY(0xff, 5, KEY_F11),
KEY(7, 1, KEY_L),
KEY(7, 2, KEY_C),
KEY(7, 3, KEY_LEFT),
KEY(0xff, 0, KEY_F6),
KEY(0xff, 1, KEY_F7),
KEY(0xff, 2, KEY_F8),
KEY(0xff, 4, KEY_F9),
KEY(0xff, 5, KEY_F10),
}; };
static struct matrix_keymap_data board_map_data = { static struct matrix_keymap_data board_map_data = {
......
...@@ -143,6 +143,7 @@ static const struct xpad_device { ...@@ -143,6 +143,7 @@ static const struct xpad_device {
{ 0x12ab, 0x8809, "Xbox DDR dancepad", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX }, { 0x12ab, 0x8809, "Xbox DDR dancepad", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX },
{ 0x1430, 0x4748, "RedOctane Guitar Hero X-plorer", MAP_DPAD_TO_AXES, XTYPE_XBOX360 }, { 0x1430, 0x4748, "RedOctane Guitar Hero X-plorer", MAP_DPAD_TO_AXES, XTYPE_XBOX360 },
{ 0x1430, 0x8888, "TX6500+ Dance Pad (first generation)", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX }, { 0x1430, 0x8888, "TX6500+ Dance Pad (first generation)", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX },
{ 0x146b, 0x0601, "BigBen Interactive XBOX 360 Controller", MAP_DPAD_TO_AXES, XTYPE_XBOX360 },
{ 0x045e, 0x028e, "Microsoft X-Box 360 pad", MAP_DPAD_TO_AXES, XTYPE_XBOX360 }, { 0x045e, 0x028e, "Microsoft X-Box 360 pad", MAP_DPAD_TO_AXES, XTYPE_XBOX360 },
{ 0x1bad, 0x0003, "Harmonix Rock Band Drumkit", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX360 }, { 0x1bad, 0x0003, "Harmonix Rock Band Drumkit", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX360 },
{ 0xffff, 0xffff, "Chinese-made Xbox Controller", MAP_DPAD_TO_AXES, XTYPE_XBOX }, { 0xffff, 0xffff, "Chinese-made Xbox Controller", MAP_DPAD_TO_AXES, XTYPE_XBOX },
...@@ -209,6 +210,7 @@ static struct usb_device_id xpad_table [] = { ...@@ -209,6 +210,7 @@ static struct usb_device_id xpad_table [] = {
XPAD_XBOX360_VENDOR(0x0738), /* Mad Catz X-Box 360 controllers */ XPAD_XBOX360_VENDOR(0x0738), /* Mad Catz X-Box 360 controllers */
XPAD_XBOX360_VENDOR(0x0e6f), /* 0x0e6f X-Box 360 controllers */ XPAD_XBOX360_VENDOR(0x0e6f), /* 0x0e6f X-Box 360 controllers */
XPAD_XBOX360_VENDOR(0x1430), /* RedOctane X-Box 360 controllers */ XPAD_XBOX360_VENDOR(0x1430), /* RedOctane X-Box 360 controllers */
XPAD_XBOX360_VENDOR(0x146b), /* BigBen Interactive Controllers */
XPAD_XBOX360_VENDOR(0x1bad), /* Rock Band Drums */ XPAD_XBOX360_VENDOR(0x1bad), /* Rock Band Drums */
{ } { }
}; };
......
...@@ -106,8 +106,8 @@ static int __devinit rotary_encoder_probe(struct platform_device *pdev) ...@@ -106,8 +106,8 @@ static int __devinit rotary_encoder_probe(struct platform_device *pdev)
struct input_dev *input; struct input_dev *input;
int err; int err;
if (!pdata || !pdata->steps) { if (!pdata) {
dev_err(&pdev->dev, "invalid platform data\n"); dev_err(&pdev->dev, "missing platform data\n");
return -ENOENT; return -ENOENT;
} }
......
...@@ -230,7 +230,7 @@ out_err: ...@@ -230,7 +230,7 @@ out_err:
return err; return err;
} }
static int bbc_remove(struct of_device *op) static int __devexit bbc_remove(struct of_device *op)
{ {
struct sparcspkr_state *state = dev_get_drvdata(&op->dev); struct sparcspkr_state *state = dev_get_drvdata(&op->dev);
struct input_dev *input_dev = state->input_dev; struct input_dev *input_dev = state->input_dev;
...@@ -308,7 +308,7 @@ out_err: ...@@ -308,7 +308,7 @@ out_err:
return err; return err;
} }
static int grover_remove(struct of_device *op) static int __devexit grover_remove(struct of_device *op)
{ {
struct sparcspkr_state *state = dev_get_drvdata(&op->dev); struct sparcspkr_state *state = dev_get_drvdata(&op->dev);
struct grover_beep_info *info = &state->u.grover; struct grover_beep_info *info = &state->u.grover;
......
...@@ -934,6 +934,15 @@ static struct dmi_system_id dmi_ids[] __initdata = { ...@@ -934,6 +934,15 @@ static struct dmi_system_id dmi_ids[] __initdata = {
}, },
.driver_data = keymap_wistron_md2900 .driver_data = keymap_wistron_md2900
}, },
{
.callback = dmi_matched,
.ident = "Medion MD 42200",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Medion"),
DMI_MATCH(DMI_PRODUCT_NAME, "WIM 2030"),
},
.driver_data = keymap_fs_amilo_pro_v2000
},
{ {
.callback = dmi_matched, .callback = dmi_matched,
.ident = "Medion MD 96500", .ident = "Medion MD 96500",
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
config SERIO config SERIO
tristate "Serial I/O support" if EMBEDDED || !X86 tristate "Serial I/O support" if EMBEDDED || !X86
default y default y
---help--- help
Say Yes here if you have any input device that uses serial I/O to Say Yes here if you have any input device that uses serial I/O to
communicate with the system. This includes the communicate with the system. This includes the
* standard AT keyboard and PS/2 mouse * * standard AT keyboard and PS/2 mouse *
...@@ -22,7 +22,7 @@ config SERIO_I8042 ...@@ -22,7 +22,7 @@ config SERIO_I8042
tristate "i8042 PC Keyboard controller" if EMBEDDED || !X86 tristate "i8042 PC Keyboard controller" if EMBEDDED || !X86
default y default y
depends on !PARISC && (!ARM || ARCH_SHARK || FOOTBRIDGE_HOST) && !M68K && !BLACKFIN depends on !PARISC && (!ARM || ARCH_SHARK || FOOTBRIDGE_HOST) && !M68K && !BLACKFIN
---help--- help
i8042 is the chip over which the standard AT keyboard and PS/2 i8042 is the chip over which the standard AT keyboard and PS/2
mouse are connected to the computer. If you use these devices, mouse are connected to the computer. If you use these devices,
you'll need to say Y here. you'll need to say Y here.
...@@ -35,7 +35,7 @@ config SERIO_I8042 ...@@ -35,7 +35,7 @@ config SERIO_I8042
config SERIO_SERPORT config SERIO_SERPORT
tristate "Serial port line discipline" tristate "Serial port line discipline"
default y default y
---help--- help
Say Y here if you plan to use an input device (mouse, joystick, Say Y here if you plan to use an input device (mouse, joystick,
tablet, 6dof) that communicates over the RS232 serial (COM) port. tablet, 6dof) that communicates over the RS232 serial (COM) port.
...@@ -49,7 +49,7 @@ config SERIO_SERPORT ...@@ -49,7 +49,7 @@ config SERIO_SERPORT
config SERIO_CT82C710 config SERIO_CT82C710
tristate "ct82c710 Aux port controller" tristate "ct82c710 Aux port controller"
depends on X86 depends on X86
---help--- help
Say Y here if you have a Texas Instruments TravelMate notebook Say Y here if you have a Texas Instruments TravelMate notebook
equipped with the ct82c710 chip and want to use a mouse connected equipped with the ct82c710 chip and want to use a mouse connected
to the "QuickPort". to the "QuickPort".
...@@ -66,7 +66,7 @@ config SERIO_Q40KBD ...@@ -66,7 +66,7 @@ config SERIO_Q40KBD
config SERIO_PARKBD config SERIO_PARKBD
tristate "Parallel port keyboard adapter" tristate "Parallel port keyboard adapter"
depends on PARPORT depends on PARPORT
---help--- help
Say Y here if you built a simple parallel port adapter to attach Say Y here if you built a simple parallel port adapter to attach
an additional AT keyboard, XT keyboard or PS/2 mouse. an additional AT keyboard, XT keyboard or PS/2 mouse.
...@@ -124,7 +124,7 @@ config HP_SDC ...@@ -124,7 +124,7 @@ config HP_SDC
tristate "HP System Device Controller i8042 Support" tristate "HP System Device Controller i8042 Support"
depends on (GSC || HP300) && SERIO depends on (GSC || HP300) && SERIO
default y default y
---help--- help
This option enables support for the "System Device This option enables support for the "System Device
Controller", an i8042 carrying microcode to manage a Controller", an i8042 carrying microcode to manage a
few miscellaneous devices on some Hewlett Packard systems. few miscellaneous devices on some Hewlett Packard systems.
...@@ -168,6 +168,7 @@ config SERIO_MACEPS2 ...@@ -168,6 +168,7 @@ config SERIO_MACEPS2
config SERIO_LIBPS2 config SERIO_LIBPS2
tristate "PS/2 driver library" if EMBEDDED tristate "PS/2 driver library" if EMBEDDED
depends on SERIO_I8042 || SERIO_I8042=n
help help
Say Y here if you are using a driver for device connected Say Y here if you are using a driver for device connected
to a PS/2 port, such as PS/2 mouse or standard AT keyboard. to a PS/2 port, such as PS/2 mouse or standard AT keyboard.
......
...@@ -609,6 +609,8 @@ static irqreturn_t __init i8042_aux_test_irq(int irq, void *dev_id) ...@@ -609,6 +609,8 @@ static irqreturn_t __init i8042_aux_test_irq(int irq, void *dev_id)
str = i8042_read_status(); str = i8042_read_status();
if (str & I8042_STR_OBF) { if (str & I8042_STR_OBF) {
data = i8042_read_data(); data = i8042_read_data();
dbg("%02x <- i8042 (aux_test_irq, %s)",
data, str & I8042_STR_AUXDATA ? "aux" : "kbd");
if (i8042_irq_being_tested && if (i8042_irq_being_tested &&
data == 0xa5 && (str & I8042_STR_AUXDATA)) data == 0xa5 && (str & I8042_STR_AUXDATA))
complete(&i8042_aux_irq_delivered); complete(&i8042_aux_irq_delivered);
...@@ -750,6 +752,7 @@ static int __init i8042_check_aux(void) ...@@ -750,6 +752,7 @@ static int __init i8042_check_aux(void)
* AUX IRQ was never delivered so we need to flush the controller to * AUX IRQ was never delivered so we need to flush the controller to
* get rid of the byte we put there; otherwise keyboard may not work. * get rid of the byte we put there; otherwise keyboard may not work.
*/ */
dbg(" -- i8042 (aux irq test timeout)");
i8042_flush(); i8042_flush();
retval = -1; retval = -1;
} }
......
...@@ -645,7 +645,7 @@ static int __devinit ad7879_probe(struct spi_device *spi) ...@@ -645,7 +645,7 @@ static int __devinit ad7879_probe(struct spi_device *spi)
kfree(ts); kfree(ts);
} }
return 0; return error;
} }
static int __devexit ad7879_remove(struct spi_device *spi) static int __devexit ad7879_remove(struct spi_device *spi)
...@@ -732,7 +732,7 @@ static int __devinit ad7879_probe(struct i2c_client *client, ...@@ -732,7 +732,7 @@ static int __devinit ad7879_probe(struct i2c_client *client,
kfree(ts); kfree(ts);
} }
return 0; return error;
} }
static int __devexit ad7879_remove(struct i2c_client *client) static int __devexit ad7879_remove(struct i2c_client *client)
......
...@@ -349,11 +349,11 @@ struct twl4030_madc_platform_data { ...@@ -349,11 +349,11 @@ struct twl4030_madc_platform_data {
int irq_line; int irq_line;
}; };
/* Boards have uniqe mappings of {col, row} --> keycode. /* Boards have uniqe mappings of {row, col} --> keycode.
* Column and row are 4 bits, but range only from 0..7. * Column and row are 8 bits each, but range only from 0..7.
* a PERSISTENT_KEY is "always on" and never reported. * a PERSISTENT_KEY is "always on" and never reported.
*/ */
#define PERSISTENT_KEY(c, r) KEY((c), (r), KEY_RESERVED) #define PERSISTENT_KEY(r, c) KEY((r), (c), KEY_RESERVED)
struct twl4030_keypad_data { struct twl4030_keypad_data {
const struct matrix_keymap_data *keymap_data; const struct matrix_keymap_data *keymap_data;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment