mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-11-20 16:46:23 +08:00
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:
commit
baf4974e49
@ -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 {
|
|||||||
{ 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 [] = {
|
|||||||
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)
|
|||||||
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:
|
|||||||
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:
|
|||||||
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 = {
|
|||||||
},
|
},
|
||||||
.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 @@
|
|||||||
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
|
|||||||
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
|
|||||||
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
|
|||||||
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
|
|||||||
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
|
|||||||
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
|
|||||||
|
|
||||||
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)
|
|||||||
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)
|
|||||||
* 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)
|
|||||||
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,
|
|||||||
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 {
|
|||||||
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;
|
||||||
|
Loading…
Reference in New Issue
Block a user