forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…
…/git/dtor/input Pull input subsystem updates from Dmitry Torokhov: "Two new drivers for Elan hardware (for I2C touchpad and touchscreen found in several Chromebooks and other devices), a driver for Goodix touch panel, and small fixes to Cypress I2C trackpad and other input drivers. Also we switched to use __maybe_unused instead of gating suspend/ resume code with #ifdef guards to get better compile coverage" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (27 commits) Input: gpio_keys - fix warning regarding uninitialized 'button' variable Input: add support for Elan eKTH I2C touchscreens Input: gpio_keys - fix warning regarding uninitialized 'irq' variable Input: cyapa - use 'error' for error codes Input: cyapa - fix resuming the device Input: gpio_keys - add device tree support for interrupt only keys Input: amikbd - allocate temporary keymap buffer on the stack Input: amikbd - fix build if !CONFIG_HW_CONSOLE Input: lm8323 - missing error check in lm8323_set_disable() Input: initialize device counter variables with -1 Input: initialize input_no to -1 to avoid subtraction Input: i8042 - do not try to load on Intel NUC D54250WYK Input: atkbd - correct MSC_SCAN events for force_release keys Input: cyapa - switch to using managed resources Input: lifebook - use "static inline" instead of "inline" in lifebook.h Input: touchscreen - use __maybe_unused instead of ifdef around suspend/resume Input: mouse - use __maybe_unused instead of ifdef around suspend/resume Input: misc - use __maybe_unused instead of ifdef around suspend/resume Input: cap11xx - support for irq-active-high option Input: cap11xx - add support for various cap11xx devices ...
- Loading branch information
Showing
77 changed files
with
4,949 additions
and
922 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
Elantech I2C Touchpad | ||
|
||
Required properties: | ||
- compatible: must be "elan,ekth3000". | ||
- reg: I2C address of the chip. | ||
- interrupt-parent: a phandle for the interrupt controller (see interrupt | ||
binding[0]). | ||
- interrupts: interrupt to which the chip is connected (see interrupt | ||
binding[0]). | ||
|
||
Optional properties: | ||
- wakeup-source: touchpad can be used as a wakeup source. | ||
- pinctrl-names: should be "default" (see pinctrl binding [1]). | ||
- pinctrl-0: a phandle pointing to the pin settings for the device (see | ||
pinctrl binding [1]). | ||
- vcc-supply: a phandle for the regulator supplying 3.3V power. | ||
|
||
[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt | ||
[1]: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt | ||
|
||
Example: | ||
&i2c1 { | ||
/* ... */ | ||
|
||
touchpad@15 { | ||
compatible = "elan,ekth3000"; | ||
reg = <0x15>; | ||
interrupt-parent = <&gpio4>; | ||
interrupts = <0x0 IRQ_TYPE_EDGE_FALLING>; | ||
wakeup-source; | ||
}; | ||
|
||
/* ... */ | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
Elantech I2C Touchscreen | ||
|
||
Required properties: | ||
- compatible: must be "elan,ekth3500". | ||
- reg: I2C address of the chip. | ||
- interrupt-parent: a phandle for the interrupt controller (see interrupt | ||
binding[0]). | ||
- interrupts: interrupt to which the chip is connected (see interrupt | ||
binding[0]). | ||
|
||
Optional properties: | ||
- wakeup-source: touchscreen can be used as a wakeup source. | ||
- pinctrl-names: should be "default" (see pinctrl binding [1]). | ||
- pinctrl-0: a phandle pointing to the pin settings for the device (see | ||
pinctrl binding [1]). | ||
|
||
[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt | ||
[1]: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt | ||
|
||
Example: | ||
&i2c1 { | ||
/* ... */ | ||
|
||
touchscreen@10 { | ||
compatible = "elan,ekth3500"; | ||
reg = <0x10>; | ||
interrupt-parent = <&gpio4>; | ||
interrupts = <0x0 IRQ_TYPE_EDGE_FALLING>; | ||
wakeup-source; | ||
}; | ||
|
||
/* ... */ | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4255,6 +4255,12 @@ L: [email protected] | |
S: Maintained | ||
F: drivers/media/usb/go7007/ | ||
|
||
GOODIX TOUCHSCREEN | ||
M: Bastien Nocera <[email protected]> | ||
L: [email protected] | ||
S: Maintained | ||
F: drivers/input/touchscreen/goodix.c | ||
|
||
GPIO SUBSYSTEM | ||
M: Linus Walleij <[email protected]> | ||
M: Alexandre Courbot <[email protected]> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -45,6 +45,7 @@ MODULE_AUTHOR("Vojtech Pavlik <[email protected]>"); | |
MODULE_DESCRIPTION("Amiga keyboard driver"); | ||
MODULE_LICENSE("GPL"); | ||
|
||
#ifdef CONFIG_HW_CONSOLE | ||
static unsigned char amikbd_keycode[0x78] __initdata = { | ||
[0] = KEY_GRAVE, | ||
[1] = KEY_1, | ||
|
@@ -144,6 +145,32 @@ static unsigned char amikbd_keycode[0x78] __initdata = { | |
[103] = KEY_RIGHTMETA | ||
}; | ||
|
||
static void __init amikbd_init_console_keymaps(void) | ||
{ | ||
/* We can spare 512 bytes on stack for temp_map in init path. */ | ||
unsigned short temp_map[NR_KEYS]; | ||
int i, j; | ||
|
||
for (i = 0; i < MAX_NR_KEYMAPS; i++) { | ||
if (!key_maps[i]) | ||
continue; | ||
memset(temp_map, 0, sizeof(temp_map)); | ||
for (j = 0; j < 0x78; j++) { | ||
if (!amikbd_keycode[j]) | ||
continue; | ||
temp_map[j] = key_maps[i][amikbd_keycode[j]]; | ||
} | ||
for (j = 0; j < NR_KEYS; j++) { | ||
if (!temp_map[j]) | ||
temp_map[j] = 0xf200; | ||
} | ||
memcpy(key_maps[i], temp_map, sizeof(temp_map)); | ||
} | ||
} | ||
#else /* !CONFIG_HW_CONSOLE */ | ||
static inline void amikbd_init_console_keymaps(void) {} | ||
#endif /* !CONFIG_HW_CONSOLE */ | ||
|
||
static const char *amikbd_messages[8] = { | ||
[0] = KERN_ALERT "amikbd: Ctrl-Amiga-Amiga reset warning!!\n", | ||
[1] = KERN_WARNING "amikbd: keyboard lost sync\n", | ||
|
@@ -186,7 +213,7 @@ static irqreturn_t amikbd_interrupt(int irq, void *data) | |
static int __init amikbd_probe(struct platform_device *pdev) | ||
{ | ||
struct input_dev *dev; | ||
int i, j, err; | ||
int i, err; | ||
|
||
dev = input_allocate_device(); | ||
if (!dev) { | ||
|
@@ -207,22 +234,8 @@ static int __init amikbd_probe(struct platform_device *pdev) | |
for (i = 0; i < 0x78; i++) | ||
set_bit(i, dev->keybit); | ||
|
||
for (i = 0; i < MAX_NR_KEYMAPS; i++) { | ||
static u_short temp_map[NR_KEYS] __initdata; | ||
if (!key_maps[i]) | ||
continue; | ||
memset(temp_map, 0, sizeof(temp_map)); | ||
for (j = 0; j < 0x78; j++) { | ||
if (!amikbd_keycode[j]) | ||
continue; | ||
temp_map[j] = key_maps[i][amikbd_keycode[j]]; | ||
} | ||
for (j = 0; j < NR_KEYS; j++) { | ||
if (!temp_map[j]) | ||
temp_map[j] = 0xf200; | ||
} | ||
memcpy(key_maps[i], temp_map, sizeof(temp_map)); | ||
} | ||
amikbd_init_console_keymaps(); | ||
|
||
ciaa.cra &= ~0x41; /* serial data in, turn off TA */ | ||
err = request_irq(IRQ_AMIGA_CIAA_SP, amikbd_interrupt, 0, "amikbd", | ||
dev); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.