Skip to content

Commit 8e5c0ab

Browse files
committed
Merge tag 'input-for-v6.11-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull input updates from Dmitry Torokhov: - streamlined logic in input core for handling normal input handlers vs input filters - updates to input drivers to allocate memory with sizeof(*pointer) instead of sizeof(type) - change to ads7846 touchscreen driver to use hsync GPIO instead of requiring platform data with special method (which is not compatible with boards using device tree) - update to adc-joystick driver to handle inverted axes - cleanups in various drivers switching them to use the new "guard" and "__free()" facilities - changes to several drivers (adxl34x, atmel_mxt_ts, ati-remote2, omap-keypad, yealink) to stop creating driver-specific device attributes manually and use driver core facilities for this - update to Cypress PS/2 protocol driver to properly handle errors from the PS/2 transport as well as other cleanups - update to edt-ft5x06 driver to support ft5426 variant - update to ektf2127 driver to support ektf2232 variant - update to exc3000 driver to support EXC81W32 variant - update to imagis driver to support IST3038 variant - other assorted driver cleanups. * tag 'input-for-v6.11-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (71 commits) Input: yealink - simplify locking in sysfs attribute handling Input: yealink - use driver core to instantiate device attributes Input: ati-remote2 - use driver core to instantiate device attributes Input: omap-keypad - use driver core to instantiate device attributes Input: atmel_mxt_ts - use driver core to instantiate device attributes Input: exc3000 - add EXC81W32 support dt-bindings: input: touchscreen: exc3000: add EXC81W32 Input: twl4030-pwrbutton - fix kernel-doc warning Input: himax_hx83112b - add support for HX83100A Input: himax_hx83112b - add himax_chip struct for multi-chip support Input: himax_hx83112b - implement MCU register reading Input: himax_hx83112b - use more descriptive register defines dt-bindings: input: touchscreen: himax,hx83112b: add HX83100A Input: do not check number of events in input_pass_values() Input: preallocate memory to hold event values Input: rearrange input_alloc_device() to prepare for preallocating of vals Input: simplify event handling logic Input: make events() method return number of events processed Input: make sure input handlers define only one processing method Input: evdev - remove ->event() method ...
2 parents ef03562 + a23e196 commit 8e5c0ab

File tree

146 files changed

+1236
-1052
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

146 files changed

+1236
-1052
lines changed

Documentation/devicetree/bindings/input/ti,nspire-keypad.txt

Lines changed: 0 additions & 60 deletions
This file was deleted.
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/input/ti,nspire-keypad.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: TI-NSPIRE Keypad
8+
9+
maintainers:
10+
- Andrew Davis <[email protected]>
11+
12+
allOf:
13+
- $ref: input.yaml#
14+
- $ref: matrix-keymap.yaml#
15+
16+
properties:
17+
compatible:
18+
enum:
19+
- ti,nspire-keypad
20+
21+
reg:
22+
maxItems: 1
23+
24+
interrupts:
25+
maxItems: 1
26+
27+
clocks:
28+
maxItems: 1
29+
30+
scan-interval:
31+
$ref: /schemas/types.yaml#/definitions/uint32
32+
description: How often to scan in us. Based on a APB speed of 33MHz, the
33+
maximum and minimum delay time is ~2000us and ~500us respectively
34+
35+
row-delay:
36+
$ref: /schemas/types.yaml#/definitions/uint32
37+
description: How long to wait between scanning each row in us.
38+
39+
active-low:
40+
description: Specify that the keypad is active low.
41+
42+
required:
43+
- compatible
44+
- reg
45+
- interrupts
46+
- clocks
47+
- scan-interval
48+
- row-delay
49+
- linux,keymap
50+
51+
unevaluatedProperties: false
52+
53+
examples:
54+
- |
55+
#include <dt-bindings/input/input.h>
56+
keypad@900e0000 {
57+
compatible = "ti,nspire-keypad";
58+
reg = <0x900e0000 0x1000>;
59+
interrupts = <16>;
60+
61+
clocks = <&apb_pclk>;
62+
63+
scan-interval = <1000>;
64+
row-delay = <200>;
65+
66+
linux,keymap = <
67+
MATRIX_KEY(0, 0, KEY_ENTER)
68+
MATRIX_KEY(0, 1, KEY_ENTER)
69+
MATRIX_KEY(0, 4, KEY_SPACE)
70+
MATRIX_KEY(0, 5, KEY_Z)
71+
MATRIX_KEY(0, 6, KEY_Y)
72+
MATRIX_KEY(0, 7, KEY_0)
73+
>;
74+
};

Documentation/devicetree/bindings/input/touchscreen/ads7846.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ Optional properties:
5757
pendown-gpio (u32).
5858
pendown-gpio GPIO handle describing the pin the !PENIRQ
5959
line is connected to.
60+
ti,hsync-gpios GPIO line to poll for hsync
6061
wakeup-source use any event on touchscreen as wakeup event.
6162
(Legacy property support: "linux,wakeup")
6263
touchscreen-size-x General touchscreen binding, see [1].

Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ properties:
3939
- edt,edt-ft5406
4040
- edt,edt-ft5506
4141
- evervision,ev-ft5726
42+
- focaltech,ft5426
4243
- focaltech,ft5452
4344
- focaltech,ft6236
4445
- focaltech,ft8719

Documentation/devicetree/bindings/input/touchscreen/eeti,exc3000.yaml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,14 @@ allOf:
1414

1515
properties:
1616
compatible:
17-
enum:
18-
- eeti,exc3000
19-
- eeti,exc80h60
20-
- eeti,exc80h84
17+
oneOf:
18+
- const: eeti,exc3000
19+
- const: eeti,exc80h60
20+
- const: eeti,exc80h84
21+
- items:
22+
- enum:
23+
- eeti,exc81w32
24+
- const: eeti,exc80h84
2125
reg:
2226
const: 0x2a
2327
interrupts:

Documentation/devicetree/bindings/input/touchscreen/ektf2127.txt

Lines changed: 0 additions & 25 deletions
This file was deleted.
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/input/touchscreen/elan,ektf2127.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Elan eKTF2127 I2C touchscreen controller
8+
9+
maintainers:
10+
- Siebren Vroegindeweij <[email protected]>
11+
12+
allOf:
13+
- $ref: touchscreen.yaml#
14+
15+
properties:
16+
compatible:
17+
enum:
18+
- elan,ektf2127
19+
- elan,ektf2132
20+
- elan,ektf2232
21+
22+
reg:
23+
maxItems: 1
24+
25+
interrupts:
26+
maxItems: 1
27+
28+
power-gpios:
29+
maxItems: 1
30+
31+
required:
32+
- compatible
33+
- reg
34+
- interrupts
35+
- power-gpios
36+
37+
unevaluatedProperties: false
38+
39+
examples:
40+
- |
41+
#include <dt-bindings/gpio/gpio.h>
42+
#include <dt-bindings/interrupt-controller/irq.h>
43+
44+
i2c {
45+
#address-cells = <1>;
46+
#size-cells = <0>;
47+
48+
touchscreen@15 {
49+
compatible = "elan,ektf2127";
50+
reg = <0x15>;
51+
interrupt-parent = <&pio>;
52+
interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>;
53+
power-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>;
54+
touchscreen-inverted-x;
55+
touchscreen-swapped-x-y;
56+
};
57+
};
58+
...

Documentation/devicetree/bindings/input/touchscreen/himax,hx83112b.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ allOf:
1515
properties:
1616
compatible:
1717
enum:
18+
- himax,hx83100a
1819
- himax,hx83112b
1920

2021
reg:

Documentation/devicetree/bindings/input/touchscreen/imagis,ist3038c.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ properties:
1616
compatible:
1717
enum:
1818
- imagis,ist3032c
19+
- imagis,ist3038
1920
- imagis,ist3038b
2021
- imagis,ist3038c
2122

drivers/input/evdev.c

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -288,8 +288,8 @@ static void evdev_pass_values(struct evdev_client *client,
288288
/*
289289
* Pass incoming events to all connected clients.
290290
*/
291-
static void evdev_events(struct input_handle *handle,
292-
const struct input_value *vals, unsigned int count)
291+
static unsigned int evdev_events(struct input_handle *handle,
292+
struct input_value *vals, unsigned int count)
293293
{
294294
struct evdev *evdev = handle->private;
295295
struct evdev_client *client;
@@ -306,17 +306,8 @@ static void evdev_events(struct input_handle *handle,
306306
evdev_pass_values(client, vals, count, ev_time);
307307

308308
rcu_read_unlock();
309-
}
310-
311-
/*
312-
* Pass incoming event to all connected clients.
313-
*/
314-
static void evdev_event(struct input_handle *handle,
315-
unsigned int type, unsigned int code, int value)
316-
{
317-
struct input_value vals[] = { { type, code, value } };
318309

319-
evdev_events(handle, vals, 1);
310+
return count;
320311
}
321312

322313
static int evdev_fasync(int fd, struct file *file, int on)
@@ -1418,7 +1409,6 @@ static const struct input_device_id evdev_ids[] = {
14181409
MODULE_DEVICE_TABLE(input, evdev_ids);
14191410

14201411
static struct input_handler evdev_handler = {
1421-
.event = evdev_event,
14221412
.events = evdev_events,
14231413
.connect = evdev_connect,
14241414
.disconnect = evdev_disconnect,

0 commit comments

Comments
 (0)