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
This commit is contained in:
Коммит
baf4974e49
|
@ -38,49 +38,49 @@
|
|||
|
||||
static int board_keymap[] = {
|
||||
KEY(0, 0, KEY_Q),
|
||||
KEY(0, 1, KEY_W),
|
||||
KEY(0, 2, KEY_E),
|
||||
KEY(0, 3, KEY_R),
|
||||
KEY(0, 4, KEY_T),
|
||||
KEY(0, 5, KEY_Y),
|
||||
KEY(0, 6, KEY_U),
|
||||
KEY(0, 7, KEY_I),
|
||||
KEY(1, 0, KEY_O),
|
||||
KEY(0, 1, KEY_O),
|
||||
KEY(0, 2, KEY_P),
|
||||
KEY(0, 3, KEY_COMMA),
|
||||
KEY(0, 4, KEY_BACKSPACE),
|
||||
KEY(0, 6, KEY_A),
|
||||
KEY(0, 7, KEY_S),
|
||||
KEY(1, 0, KEY_W),
|
||||
KEY(1, 1, KEY_D),
|
||||
KEY(1, 2, KEY_DOT),
|
||||
KEY(1, 3, KEY_V),
|
||||
KEY(1, 4, KEY_DOWN),
|
||||
KEY(2, 0, KEY_P),
|
||||
KEY(2, 1, KEY_F),
|
||||
KEY(1, 2, KEY_F),
|
||||
KEY(1, 3, KEY_G),
|
||||
KEY(1, 4, KEY_H),
|
||||
KEY(1, 5, KEY_J),
|
||||
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, 3, KEY_B),
|
||||
KEY(2, 4, KEY_RIGHT),
|
||||
KEY(3, 0, KEY_COMMA),
|
||||
KEY(3, 1, KEY_G),
|
||||
KEY(3, 2, KEY_ENTER),
|
||||
KEY(2, 3, KEY_ENTER),
|
||||
KEY(2, 5, KEY_Z),
|
||||
KEY(2, 6, KEY_X),
|
||||
KEY(2, 7, KEY_C),
|
||||
KEY(3, 0, KEY_R),
|
||||
KEY(3, 1, KEY_V),
|
||||
KEY(3, 2, KEY_B),
|
||||
KEY(3, 3, KEY_N),
|
||||
KEY(4, 0, KEY_BACKSPACE),
|
||||
KEY(4, 1, KEY_H),
|
||||
KEY(4, 3, KEY_M),
|
||||
KEY(3, 4, KEY_M),
|
||||
KEY(3, 5, KEY_SPACE),
|
||||
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(5, 1, KEY_J),
|
||||
KEY(5, 2, KEY_Z),
|
||||
KEY(5, 3, KEY_SPACE),
|
||||
KEY(5, 4, KEY_LEFTSHIFT),
|
||||
KEY(6, 0, KEY_A),
|
||||
KEY(6, 1, KEY_K),
|
||||
KEY(6, 2, KEY_X),
|
||||
KEY(6, 3, KEY_SPACE),
|
||||
KEY(6, 4, KEY_FN),
|
||||
KEY(7, 0, KEY_S),
|
||||
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),
|
||||
KEY(4, 5, KEY_RIGHTALT),
|
||||
KEY(4, 6, KEY_LEFTSHIFT),
|
||||
KEY(5, 0, KEY_Y),
|
||||
KEY(6, 0, KEY_U),
|
||||
KEY(7, 0, KEY_I),
|
||||
KEY(7, 1, KEY_F7),
|
||||
KEY(7, 2, KEY_F8),
|
||||
KEY(0xff, 2, KEY_F9),
|
||||
KEY(0xff, 4, KEY_F10),
|
||||
KEY(0xff, 5, KEY_F11),
|
||||
};
|
||||
|
||||
static struct matrix_keymap_data board_map_data = {
|
||||
|
|
|
@ -143,6 +143,7 @@ static const struct xpad_device {
|
|||
{ 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, 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 },
|
||||
{ 0x1bad, 0x0003, "Harmonix Rock Band Drumkit", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX360 },
|
||||
{ 0xffff, 0xffff, "Chinese-made Xbox Controller", MAP_DPAD_TO_AXES, XTYPE_XBOX },
|
||||
|
@ -209,6 +210,7 @@ static struct usb_device_id xpad_table [] = {
|
|||
XPAD_XBOX360_VENDOR(0x0738), /* Mad Catz 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(0x146b), /* BigBen Interactive Controllers */
|
||||
XPAD_XBOX360_VENDOR(0x1bad), /* Rock Band Drums */
|
||||
{ }
|
||||
};
|
||||
|
|
|
@ -106,8 +106,8 @@ static int __devinit rotary_encoder_probe(struct platform_device *pdev)
|
|||
struct input_dev *input;
|
||||
int err;
|
||||
|
||||
if (!pdata || !pdata->steps) {
|
||||
dev_err(&pdev->dev, "invalid platform data\n");
|
||||
if (!pdata) {
|
||||
dev_err(&pdev->dev, "missing platform data\n");
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
|
|
|
@ -230,7 +230,7 @@ out_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 input_dev *input_dev = state->input_dev;
|
||||
|
@ -308,7 +308,7 @@ out_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 grover_beep_info *info = &state->u.grover;
|
||||
|
|
|
@ -934,6 +934,15 @@ static struct dmi_system_id dmi_ids[] __initdata = {
|
|||
},
|
||||
.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,
|
||||
.ident = "Medion MD 96500",
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
config SERIO
|
||||
tristate "Serial I/O support" if EMBEDDED || !X86
|
||||
default y
|
||||
---help---
|
||||
help
|
||||
Say Yes here if you have any input device that uses serial I/O to
|
||||
communicate with the system. This includes the
|
||||
* standard AT keyboard and PS/2 mouse *
|
||||
|
@ -22,7 +22,7 @@ config SERIO_I8042
|
|||
tristate "i8042 PC Keyboard controller" if EMBEDDED || !X86
|
||||
default y
|
||||
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
|
||||
mouse are connected to the computer. If you use these devices,
|
||||
you'll need to say Y here.
|
||||
|
@ -35,7 +35,7 @@ config SERIO_I8042
|
|||
config SERIO_SERPORT
|
||||
tristate "Serial port line discipline"
|
||||
default y
|
||||
---help---
|
||||
help
|
||||
Say Y here if you plan to use an input device (mouse, joystick,
|
||||
tablet, 6dof) that communicates over the RS232 serial (COM) port.
|
||||
|
||||
|
@ -49,7 +49,7 @@ config SERIO_SERPORT
|
|||
config SERIO_CT82C710
|
||||
tristate "ct82c710 Aux port controller"
|
||||
depends on X86
|
||||
---help---
|
||||
help
|
||||
Say Y here if you have a Texas Instruments TravelMate notebook
|
||||
equipped with the ct82c710 chip and want to use a mouse connected
|
||||
to the "QuickPort".
|
||||
|
@ -66,7 +66,7 @@ config SERIO_Q40KBD
|
|||
config SERIO_PARKBD
|
||||
tristate "Parallel port keyboard adapter"
|
||||
depends on PARPORT
|
||||
---help---
|
||||
help
|
||||
Say Y here if you built a simple parallel port adapter to attach
|
||||
an additional AT keyboard, XT keyboard or PS/2 mouse.
|
||||
|
||||
|
@ -124,7 +124,7 @@ config HP_SDC
|
|||
tristate "HP System Device Controller i8042 Support"
|
||||
depends on (GSC || HP300) && SERIO
|
||||
default y
|
||||
---help---
|
||||
help
|
||||
This option enables support for the "System Device
|
||||
Controller", an i8042 carrying microcode to manage a
|
||||
few miscellaneous devices on some Hewlett Packard systems.
|
||||
|
@ -168,6 +168,7 @@ config SERIO_MACEPS2
|
|||
|
||||
config SERIO_LIBPS2
|
||||
tristate "PS/2 driver library" if EMBEDDED
|
||||
depends on SERIO_I8042 || SERIO_I8042=n
|
||||
help
|
||||
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.
|
||||
|
|
|
@ -609,6 +609,8 @@ static irqreturn_t __init i8042_aux_test_irq(int irq, void *dev_id)
|
|||
str = i8042_read_status();
|
||||
if (str & I8042_STR_OBF) {
|
||||
data = i8042_read_data();
|
||||
dbg("%02x <- i8042 (aux_test_irq, %s)",
|
||||
data, str & I8042_STR_AUXDATA ? "aux" : "kbd");
|
||||
if (i8042_irq_being_tested &&
|
||||
data == 0xa5 && (str & I8042_STR_AUXDATA))
|
||||
complete(&i8042_aux_irq_delivered);
|
||||
|
@ -750,6 +752,7 @@ static int __init i8042_check_aux(void)
|
|||
* 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.
|
||||
*/
|
||||
dbg(" -- i8042 (aux irq test timeout)");
|
||||
i8042_flush();
|
||||
retval = -1;
|
||||
}
|
||||
|
|
|
@ -645,7 +645,7 @@ static int __devinit ad7879_probe(struct spi_device *spi)
|
|||
kfree(ts);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return error;
|
||||
}
|
||||
|
||||
static int __devexit ad7879_remove(struct spi_device *spi)
|
||||
|
@ -732,7 +732,7 @@ static int __devinit ad7879_probe(struct i2c_client *client,
|
|||
kfree(ts);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return error;
|
||||
}
|
||||
|
||||
static int __devexit ad7879_remove(struct i2c_client *client)
|
||||
|
|
|
@ -349,11 +349,11 @@ struct twl4030_madc_platform_data {
|
|||
int irq_line;
|
||||
};
|
||||
|
||||
/* Boards have uniqe mappings of {col, row} --> keycode.
|
||||
* Column and row are 4 bits, but range only from 0..7.
|
||||
/* Boards have uniqe mappings of {row, col} --> keycode.
|
||||
* Column and row are 8 bits each, but range only from 0..7.
|
||||
* 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 {
|
||||
const struct matrix_keymap_data *keymap_data;
|
||||
|
|
Загрузка…
Ссылка в новой задаче