Skip to content

Commit 56f9445

Browse files
committed
Merge tag 'input-for-v6.15-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull input updates from Dmitry Torokhov: - a brand new driver for touchpads and touchbars in newer Apple devices - support for Berlin-A series in goodix-berlin touchscreen driver - improvements to matrix_keypad driver to better handle GPIOs toggling - assorted small cleanups in other input drivers * tag 'input-for-v6.15-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: goodix_berlin - add support for Berlin-A series dt-bindings: input: goodix,gt9916: Document gt9897 compatible dt-bindings: input: matrix_keypad - add wakeup-source property dt-bindings: input: matrix_keypad - add missing property Input: pm8941-pwrkey - fix dev_dbg() output in pm8941_pwrkey_irq() Input: synaptics - hide unused smbus_pnp_ids[] array Input: apple_z2 - fix potential confusion in Kconfig Input: matrix_keypad - use fsleep for delays after activating columns Input: matrix_keypad - add settle time after enabling all columns dt-bindings: input: matrix_keypad: add settle time after enabling all columns dt-bindings: input: matrix_keypad: convert to YAML dt-bindings: input: Correct indentation and style in DTS example MAINTAINERS: Add entries for Apple Z2 touchscreen driver Input: apple_z2 - add a driver for Apple Z2 touchscreens dt-bindings: input: touchscreen: Add Z2 controller Input: Switch to use hrtimer_setup() Input: drop vb2_ops_wait_prepare/finish
2 parents a8662bc + 946661e commit 56f9445

24 files changed

+814
-150
lines changed

Documentation/devicetree/bindings/input/gpio-matrix-keypad.txt

Lines changed: 0 additions & 49 deletions
This file was deleted.
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
5+
$id: http://devicetree.org/schemas/input/gpio-matrix-keypad.yaml#
6+
$schema: http://devicetree.org/meta-schemas/core.yaml#
7+
8+
title: GPIO matrix keypad
9+
10+
maintainers:
11+
- Marek Vasut <marek.vasut@gmail.com>
12+
13+
description:
14+
GPIO driven matrix keypad is used to interface a SoC with a matrix keypad.
15+
The matrix keypad supports multiple row and column lines, a key can be
16+
placed at each intersection of a unique row and a unique column. The matrix
17+
keypad can sense a key-press and key-release by means of GPIO lines and
18+
report the event using GPIO interrupts to the cpu.
19+
20+
allOf:
21+
- $ref: /schemas/input/matrix-keymap.yaml#
22+
23+
properties:
24+
compatible:
25+
const: gpio-matrix-keypad
26+
27+
row-gpios:
28+
description:
29+
List of GPIOs used as row lines. The gpio specifier for this property
30+
depends on the gpio controller to which these row lines are connected.
31+
32+
col-gpios:
33+
description:
34+
List of GPIOs used as column lines. The gpio specifier for this property
35+
depends on the gpio controller to which these column lines are connected.
36+
37+
linux,keymap: true
38+
39+
linux,no-autorepeat:
40+
type: boolean
41+
description: Do not enable autorepeat feature.
42+
43+
gpio-activelow:
44+
type: boolean
45+
description:
46+
Force GPIO polarity to active low.
47+
In the absence of this property GPIOs are treated as active high.
48+
49+
debounce-delay-ms:
50+
description: Debounce interval in milliseconds.
51+
default: 0
52+
53+
col-scan-delay-us:
54+
description:
55+
Delay, measured in microseconds, that is needed
56+
before we can scan keypad after activating column gpio.
57+
default: 0
58+
59+
all-cols-on-delay-us:
60+
description:
61+
Delay, measured in microseconds, that is needed
62+
after activating all column gpios.
63+
default: 0
64+
65+
drive-inactive-cols:
66+
type: boolean
67+
description:
68+
Drive inactive columns during scan,
69+
default is to turn inactive columns into inputs.
70+
71+
wakeup-source: true
72+
73+
required:
74+
- compatible
75+
- row-gpios
76+
- col-gpios
77+
- linux,keymap
78+
79+
additionalProperties: false
80+
81+
examples:
82+
- |
83+
matrix-keypad {
84+
compatible = "gpio-matrix-keypad";
85+
debounce-delay-ms = <5>;
86+
col-scan-delay-us = <2>;
87+
88+
row-gpios = <&gpio2 25 0
89+
&gpio2 26 0
90+
&gpio2 27 0>;
91+
92+
col-gpios = <&gpio2 21 0
93+
&gpio2 22 0>;
94+
95+
linux,keymap = <0x0000008B
96+
0x0100009E
97+
0x02000069
98+
0x0001006A
99+
0x0101001C
100+
0x0201006C>;
101+
102+
wakeup-source;
103+
};

Documentation/devicetree/bindings/input/qcom,pm8921-keypad.yaml

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -62,28 +62,28 @@ unevaluatedProperties: false
6262

6363
examples:
6464
- |
65-
#include <dt-bindings/input/input.h>
66-
#include <dt-bindings/interrupt-controller/irq.h>
67-
pmic {
68-
#address-cells = <1>;
69-
#size-cells = <0>;
65+
#include <dt-bindings/input/input.h>
66+
#include <dt-bindings/interrupt-controller/irq.h>
67+
pmic {
68+
#address-cells = <1>;
69+
#size-cells = <0>;
7070
71-
keypad@148 {
72-
compatible = "qcom,pm8921-keypad";
73-
reg = <0x148>;
74-
interrupt-parent = <&pmicintc>;
75-
interrupts = <74 IRQ_TYPE_EDGE_RISING>, <75 IRQ_TYPE_EDGE_RISING>;
76-
linux,keymap = <
77-
MATRIX_KEY(0, 0, KEY_VOLUMEUP)
78-
MATRIX_KEY(0, 1, KEY_VOLUMEDOWN)
79-
MATRIX_KEY(0, 2, KEY_CAMERA_FOCUS)
80-
MATRIX_KEY(0, 3, KEY_CAMERA)
81-
>;
82-
keypad,num-rows = <1>;
83-
keypad,num-columns = <5>;
84-
debounce = <15>;
85-
scan-delay = <32>;
86-
row-hold = <91500>;
87-
};
88-
};
71+
keypad@148 {
72+
compatible = "qcom,pm8921-keypad";
73+
reg = <0x148>;
74+
interrupt-parent = <&pmicintc>;
75+
interrupts = <74 IRQ_TYPE_EDGE_RISING>, <75 IRQ_TYPE_EDGE_RISING>;
76+
linux,keymap = <
77+
MATRIX_KEY(0, 0, KEY_VOLUMEUP)
78+
MATRIX_KEY(0, 1, KEY_VOLUMEDOWN)
79+
MATRIX_KEY(0, 2, KEY_CAMERA_FOCUS)
80+
MATRIX_KEY(0, 3, KEY_CAMERA)
81+
>;
82+
keypad,num-rows = <1>;
83+
keypad,num-columns = <5>;
84+
debounce = <15>;
85+
scan-delay = <32>;
86+
row-hold = <91500>;
87+
};
88+
};
8989
...

Documentation/devicetree/bindings/input/qcom,pm8921-pwrkey.yaml

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -52,24 +52,24 @@ unevaluatedProperties: false
5252

5353
examples:
5454
- |
55-
#include <dt-bindings/interrupt-controller/irq.h>
56-
ssbi {
57-
#address-cells = <1>;
58-
#size-cells = <0>;
55+
#include <dt-bindings/interrupt-controller/irq.h>
56+
ssbi {
57+
#address-cells = <1>;
58+
#size-cells = <0>;
5959
60-
pmic@0 {
61-
reg = <0x0>;
62-
#address-cells = <1>;
63-
#size-cells = <0>;
60+
pmic@0 {
61+
reg = <0x0>;
62+
#address-cells = <1>;
63+
#size-cells = <0>;
6464
65-
pwrkey@1c {
66-
compatible = "qcom,pm8921-pwrkey";
67-
reg = <0x1c>;
68-
interrupt-parent = <&pmicint>;
69-
interrupts = <50 IRQ_TYPE_EDGE_RISING>, <51 IRQ_TYPE_EDGE_RISING>;
70-
debounce = <15625>;
71-
pull-up;
72-
};
73-
};
74-
};
65+
pwrkey@1c {
66+
compatible = "qcom,pm8921-pwrkey";
67+
reg = <0x1c>;
68+
interrupt-parent = <&pmicint>;
69+
interrupts = <50 IRQ_TYPE_EDGE_RISING>, <51 IRQ_TYPE_EDGE_RISING>;
70+
debounce = <15625>;
71+
pull-up;
72+
};
73+
};
74+
};
7575
...
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/input/touchscreen/apple,z2-multitouch.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Apple touchscreens attached using the Z2 protocol
8+
9+
maintainers:
10+
- Sasha Finkelstein <fnkl.kernel@gmail.com>
11+
12+
description: A series of touschscreen controllers used in Apple products
13+
14+
allOf:
15+
- $ref: touchscreen.yaml#
16+
- $ref: /schemas/spi/spi-peripheral-props.yaml#
17+
18+
properties:
19+
compatible:
20+
enum:
21+
- apple,j293-touchbar
22+
- apple,j493-touchbar
23+
24+
interrupts:
25+
maxItems: 1
26+
27+
reset-gpios:
28+
maxItems: 1
29+
30+
firmware-name:
31+
maxItems: 1
32+
33+
apple,z2-cal-blob:
34+
$ref: /schemas/types.yaml#/definitions/uint8-array
35+
maxItems: 4096
36+
description:
37+
Calibration blob supplied by the bootloader
38+
39+
required:
40+
- compatible
41+
- interrupts
42+
- reset-gpios
43+
- firmware-name
44+
- touchscreen-size-x
45+
- touchscreen-size-y
46+
47+
unevaluatedProperties: false
48+
49+
examples:
50+
- |
51+
#include <dt-bindings/gpio/gpio.h>
52+
#include <dt-bindings/interrupt-controller/irq.h>
53+
54+
spi {
55+
#address-cells = <1>;
56+
#size-cells = <0>;
57+
58+
touchscreen@0 {
59+
compatible = "apple,j293-touchbar";
60+
reg = <0>;
61+
spi-max-frequency = <11500000>;
62+
reset-gpios = <&pinctrl_ap 139 GPIO_ACTIVE_LOW>;
63+
interrupts-extended = <&pinctrl_ap 194 IRQ_TYPE_EDGE_FALLING>;
64+
firmware-name = "apple/dfrmtfw-j293.bin";
65+
touchscreen-size-x = <23045>;
66+
touchscreen-size-y = <640>;
67+
};
68+
};
69+
70+
...

Documentation/devicetree/bindings/input/touchscreen/goodix,gt9916.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ allOf:
1919
properties:
2020
compatible:
2121
enum:
22+
- goodix,gt9897
2223
- goodix,gt9916
2324

2425
reg:

Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -164,20 +164,20 @@ examples:
164164
#size-cells = <0>;
165165
166166
touchscreen@0 {
167-
compatible = "ti,tsc2046";
168-
reg = <0>; /* CS0 */
169-
interrupt-parent = <&gpio1>;
170-
interrupts = <8 0>; /* BOOT6 / GPIO 8 */
171-
pendown-gpio = <&gpio1 8 0>;
172-
spi-max-frequency = <1000000>;
173-
vcc-supply = <&reg_vcc3>;
174-
wakeup-source;
175-
176-
ti,pressure-max = /bits/ 16 <255>;
177-
ti,x-max = /bits/ 16 <8000>;
178-
ti,x-min = /bits/ 16 <0>;
179-
ti,x-plate-ohms = /bits/ 16 <40>;
180-
ti,y-max = /bits/ 16 <4800>;
181-
ti,y-min = /bits/ 16 <0>;
182-
};
167+
compatible = "ti,tsc2046";
168+
reg = <0>; /* CS0 */
169+
interrupt-parent = <&gpio1>;
170+
interrupts = <8 0>; /* BOOT6 / GPIO 8 */
171+
pendown-gpio = <&gpio1 8 0>;
172+
spi-max-frequency = <1000000>;
173+
vcc-supply = <&reg_vcc3>;
174+
wakeup-source;
175+
176+
ti,pressure-max = /bits/ 16 <255>;
177+
ti,x-max = /bits/ 16 <8000>;
178+
ti,x-min = /bits/ 16 <0>;
179+
ti,x-plate-ohms = /bits/ 16 <40>;
180+
ti,y-max = /bits/ 16 <4800>;
181+
ti,y-min = /bits/ 16 <0>;
182+
};
183183
};

Documentation/devicetree/bindings/power/wakeup-source.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ List of legacy properties and respective binding document
2323

2424
1. "gpio-key,wakeup" Documentation/devicetree/bindings/input/gpio-keys{,-polled}.txt
2525
2. "has-tpo" Documentation/devicetree/bindings/rtc/rtc-opal.txt
26-
3. "linux,wakeup" Documentation/devicetree/bindings/input/gpio-matrix-keypad.txt
26+
3. "linux,wakeup" Documentation/devicetree/bindings/input/gpio-matrix-keypad.yaml
2727
Documentation/devicetree/bindings/mfd/tc3589x.txt
2828
Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml
2929
4. "linux,keypad-wakeup" Documentation/devicetree/bindings/input/qcom,pm8921-keypad.yaml

MAINTAINERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2268,6 +2268,7 @@ F: Documentation/devicetree/bindings/clock/apple,nco.yaml
22682268
F: Documentation/devicetree/bindings/cpufreq/apple,cluster-cpufreq.yaml
22692269
F: Documentation/devicetree/bindings/dma/apple,admac.yaml
22702270
F: Documentation/devicetree/bindings/i2c/apple,i2c.yaml
2271+
F: Documentation/devicetree/bindings/input/touchscreen/apple,z2-multitouch.yaml
22712272
F: Documentation/devicetree/bindings/interrupt-controller/apple,*
22722273
F: Documentation/devicetree/bindings/iommu/apple,dart.yaml
22732274
F: Documentation/devicetree/bindings/iommu/apple,sart.yaml
@@ -2290,6 +2291,7 @@ F: drivers/dma/apple-admac.c
22902291
F: drivers/pmdomain/apple/
22912292
F: drivers/i2c/busses/i2c-pasemi-core.c
22922293
F: drivers/i2c/busses/i2c-pasemi-platform.c
2294+
F: drivers/input/touchscreen/apple_z2.c
22932295
F: drivers/iommu/apple-dart.c
22942296
F: drivers/iommu/io-pgtable-dart.c
22952297
F: drivers/irqchip/irq-apple-aic.c

drivers/input/joystick/walkera0701.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,8 +232,7 @@ static void walkera0701_attach(struct parport *pp)
232232
goto err_unregister_device;
233233
}
234234

235-
hrtimer_init(&w->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
236-
w->timer.function = timer_handler;
235+
hrtimer_setup(&w->timer, timer_handler, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
237236

238237
w->input_dev = input_allocate_device();
239238
if (!w->input_dev) {

0 commit comments

Comments
 (0)