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: MAINTAINERS - Add an entry for the input MT protocol Input: wacom - fix serial number handling on Cintiq 21UX2 Input: fixup X86_MRST selects Input: sysrq - fix "stuck" SysRq mode Input: ad7877 - fix spi word size to 16 bit Input: pcf8574_keypad - fix off by one in pcf8574_kp_irq_handler()
This commit is contained in:
Коммит
1a5f20fe19
|
@ -2887,6 +2887,13 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/input/
|
F: drivers/input/
|
||||||
|
|
||||||
|
INPUT MULTITOUCH (MT) PROTOCOL
|
||||||
|
M: Henrik Rydberg <rydberg@euromail.se>
|
||||||
|
L: linux-input@vger.kernel.org
|
||||||
|
S: Maintained
|
||||||
|
F: Documentation/input/multi-touch-protocol.txt
|
||||||
|
K: \b(ABS|SYN)_MT_
|
||||||
|
|
||||||
INTEL IDLE DRIVER
|
INTEL IDLE DRIVER
|
||||||
M: Len Brown <lenb@kernel.org>
|
M: Len Brown <lenb@kernel.org>
|
||||||
L: linux-pm@lists.linux-foundation.org
|
L: linux-pm@lists.linux-foundation.org
|
||||||
|
|
|
@ -580,8 +580,12 @@ static bool sysrq_filter(struct input_handle *handle, unsigned int type,
|
||||||
case KEY_RIGHTALT:
|
case KEY_RIGHTALT:
|
||||||
if (value)
|
if (value)
|
||||||
sysrq_alt = code;
|
sysrq_alt = code;
|
||||||
else if (sysrq_down && code == sysrq_alt_use)
|
else {
|
||||||
|
if (sysrq_down && code == sysrq_alt_use)
|
||||||
sysrq_down = false;
|
sysrq_down = false;
|
||||||
|
|
||||||
|
sysrq_alt = 0;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case KEY_SYSRQ:
|
case KEY_SYSRQ:
|
||||||
|
|
|
@ -69,7 +69,7 @@ config KEYBOARD_ATARI
|
||||||
module will be called atakbd.
|
module will be called atakbd.
|
||||||
|
|
||||||
config KEYBOARD_ATKBD
|
config KEYBOARD_ATKBD
|
||||||
tristate "AT keyboard" if EMBEDDED || !X86
|
tristate "AT keyboard" if EMBEDDED || !X86 || X86_MRST
|
||||||
default y
|
default y
|
||||||
select SERIO
|
select SERIO
|
||||||
select SERIO_LIBPS2
|
select SERIO_LIBPS2
|
||||||
|
|
|
@ -69,7 +69,7 @@ static irqreturn_t pcf8574_kp_irq_handler(int irq, void *dev_id)
|
||||||
unsigned char nextstate = read_state(lp);
|
unsigned char nextstate = read_state(lp);
|
||||||
|
|
||||||
if (lp->laststate != nextstate) {
|
if (lp->laststate != nextstate) {
|
||||||
int key_down = nextstate <= ARRAY_SIZE(lp->btncode);
|
int key_down = nextstate < ARRAY_SIZE(lp->btncode);
|
||||||
unsigned short keycode = key_down ?
|
unsigned short keycode = key_down ?
|
||||||
lp->btncode[nextstate] : lp->btncode[lp->laststate];
|
lp->btncode[nextstate] : lp->btncode[lp->laststate];
|
||||||
|
|
||||||
|
|
|
@ -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) && \
|
depends on !PARISC && (!ARM || ARCH_SHARK || FOOTBRIDGE_HOST) && \
|
||||||
(!SUPERH || SH_CAYMAN) && !M68K && !BLACKFIN
|
(!SUPERH || SH_CAYMAN) && !M68K && !BLACKFIN && !X86_MRST
|
||||||
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,
|
||||||
|
|
|
@ -284,12 +284,13 @@ static int wacom_intuos_inout(struct wacom_wac *wacom)
|
||||||
(data[4] << 20) + (data[5] << 12) +
|
(data[4] << 20) + (data[5] << 12) +
|
||||||
(data[6] << 4) + (data[7] >> 4);
|
(data[6] << 4) + (data[7] >> 4);
|
||||||
|
|
||||||
wacom->id[idx] = (data[2] << 4) | (data[3] >> 4);
|
wacom->id[idx] = (data[2] << 4) | (data[3] >> 4) |
|
||||||
|
((data[7] & 0x0f) << 20) | ((data[8] & 0xf0) << 12);
|
||||||
|
|
||||||
switch (wacom->id[idx]) {
|
switch (wacom->id[idx] & 0xfffff) {
|
||||||
case 0x812: /* Inking pen */
|
case 0x812: /* Inking pen */
|
||||||
case 0x801: /* Intuos3 Inking pen */
|
case 0x801: /* Intuos3 Inking pen */
|
||||||
case 0x20802: /* Intuos4 Classic Pen */
|
case 0x20802: /* Intuos4 Inking Pen */
|
||||||
case 0x012:
|
case 0x012:
|
||||||
wacom->tool[idx] = BTN_TOOL_PENCIL;
|
wacom->tool[idx] = BTN_TOOL_PENCIL;
|
||||||
break;
|
break;
|
||||||
|
@ -513,7 +514,7 @@ static int wacom_intuos_irq(struct wacom_wac *wacom)
|
||||||
input_report_abs(input, ABS_RX, ((data[1] & 0x1f) << 8) | data[2]);
|
input_report_abs(input, ABS_RX, ((data[1] & 0x1f) << 8) | data[2]);
|
||||||
input_report_abs(input, ABS_RY, ((data[3] & 0x1f) << 8) | data[4]);
|
input_report_abs(input, ABS_RY, ((data[3] & 0x1f) << 8) | data[4]);
|
||||||
|
|
||||||
if ((data[5] & 0x1f) | (data[6] & 0x1f) | (data[1] & 0x1f) |
|
if ((data[5] & 0x1f) | data[6] | (data[1] & 0x1f) |
|
||||||
data[2] | (data[3] & 0x1f) | data[4] | data[8] |
|
data[2] | (data[3] & 0x1f) | data[4] | data[8] |
|
||||||
(data[7] & 0x01)) {
|
(data[7] & 0x01)) {
|
||||||
input_report_key(input, wacom->tool[1], 1);
|
input_report_key(input, wacom->tool[1], 1);
|
||||||
|
|
|
@ -679,6 +679,13 @@ static int __devinit ad7877_probe(struct spi_device *spi)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
spi->bits_per_word = 16;
|
||||||
|
err = spi_setup(spi);
|
||||||
|
if (err) {
|
||||||
|
dev_dbg(&spi->dev, "spi master doesn't support 16 bits/word\n");
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
ts = kzalloc(sizeof(struct ad7877), GFP_KERNEL);
|
ts = kzalloc(sizeof(struct ad7877), GFP_KERNEL);
|
||||||
input_dev = input_allocate_device();
|
input_dev = input_allocate_device();
|
||||||
if (!ts || !input_dev) {
|
if (!ts || !input_dev) {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче