Skip to content

Commit

Permalink
Merge tag 'input-for-v5.20-rc0' of git://git.kernel.org/pub/scm/linux…
Browse files Browse the repository at this point in the history
…/kernel/git/dtor/input

Pull input updates from Dmitry Torokhov:

 - changes to input core to properly queue synthetic events (such as
   autorepeat) and to release multitouch contacts when an input device
   is inhibited or suspended

 - reworked quirk handling in i8042 driver that consolidates multiple
   DMI tables into one and adds several quirks for TUXEDO line of
   laptops

 - update to mt6779 keypad to better reflect organization of the
   hardware

 - changes to mtk-pmic-keys driver preparing it to handle more variants

 - facelift of adp5588-keys driver

 - improvements to iqs7222 driver

 - adjustments to various DT binding documents for input devices

 - other assorted driver fixes.

* tag 'input-for-v5.20-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (54 commits)
  Input: adc-joystick - fix ordering in adc_joystick_probe()
  dt-bindings: input: ariel-pwrbutton: use spi-peripheral-props.yaml
  Input: deactivate MT slots when inhibiting or suspending devices
  Input: properly queue synthetic events
  dt-bindings: input: iqs7222: Use central 'linux,code' definition
  Input: i8042 - add dritek quirk for Acer Aspire One AO532
  dt-bindings: input: gpio-keys: accept also interrupt-extended
  dt-bindings: input: gpio-keys: reference input.yaml and document properties
  dt-bindings: input: gpio-keys: enforce node names to match all properties
  dt-bindings: input: Convert adc-keys to DT schema
  dt-bindings: input: Centralize 'linux,input-type' definition
  dt-bindings: input: Use common 'linux,keycodes' definition
  dt-bindings: input: Centralize 'linux,code' definition
  dt-bindings: input: Increase maximum keycode value to 0x2ff
  Input: mt6779-keypad - implement row/column selection
  Input: mt6779-keypad - match hardware matrix organization
  Input: i8042 - add additional TUXEDO devices to i8042 quirk tables
  Input: goodix - switch use of acpi_gpio_get_*_resource() APIs
  Input: i8042 - add TUXEDO devices to i8042 quirk tables
  Input: i8042 - add debug output for quirks
  ...
  • Loading branch information
torvalds committed Aug 11, 2022
2 parents 21f9c8a + 8bb5e7f commit 2ae08b3
Show file tree
Hide file tree
Showing 34 changed files with 1,709 additions and 1,134 deletions.
2 changes: 1 addition & 1 deletion Documentation/devicetree/bindings/input/adc-joystick.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ additionalProperties: false
patternProperties:
"^axis@[0-9a-f]+$":
type: object
$ref: input.yaml#
description: >
Represents a joystick axis bound to the given ADC channel.
For each entry in the io-channels list, one axis subnode with a matching
Expand All @@ -57,7 +58,6 @@ patternProperties:
description: Index of an io-channels list entry bound to this axis.

linux,code:
$ref: /schemas/types.yaml#/definitions/uint32
description: EV_ABS specific event code generated by the axis.

abs-range:
Expand Down
67 changes: 0 additions & 67 deletions Documentation/devicetree/bindings/input/adc-keys.txt

This file was deleted.

103 changes: 103 additions & 0 deletions Documentation/devicetree/bindings/input/adc-keys.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/adc-keys.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ADC attached resistor ladder buttons

maintainers:
- Alexandre Belloni <alexandre.belloni@bootlin.com>

allOf:
- $ref: input.yaml#

properties:
compatible:
const: adc-keys

io-channels:
maxItems: 1

io-channel-names:
const: buttons

keyup-threshold-microvolt:
description:
Voltage above or equal to which all the keys are considered up.

poll-interval: true
autorepeat: true

patternProperties:
'^button-':
type: object
$ref: input.yaml#
additionalProperties: false
description:
Each button (key) is represented as a sub-node.

properties:
label: true

linux,code: true

press-threshold-microvolt:
description:
Voltage above or equal to which this key is considered pressed. No
two values of press-threshold-microvolt may be the same. All values
of press-threshold-microvolt must be less than
keyup-threshold-microvolt.

required:
- linux,code
- press-threshold-microvolt

required:
- compatible
- io-channels
- io-channel-names
- keyup-threshold-microvolt

additionalProperties: false

examples:
- |
#include <dt-bindings/input/input.h>
// +--------------------------------+------------------------+
// | 2.000.000 <= value | no key pressed |
// +--------------------------------+------------------------+
// | 1.500.000 <= value < 2.000.000 | KEY_VOLUMEUP pressed |
// +--------------------------------+------------------------+
// | 1.000.000 <= value < 1.500.000 | KEY_VOLUMEDOWN pressed |
// +--------------------------------+------------------------+
// | 500.000 <= value < 1.000.000 | KEY_ENTER pressed |
// +--------------------------------+------------------------+
// | value < 500.000 | no key pressed |
// +--------------------------------+------------------------+
adc-keys {
compatible = "adc-keys";
io-channels = <&lradc 0>;
io-channel-names = "buttons";
keyup-threshold-microvolt = <2000000>;
button-up {
label = "Volume Up";
linux,code = <KEY_VOLUMEUP>;
press-threshold-microvolt = <1500000>;
};
button-down {
label = "Volume Down";
linux,code = <KEY_VOLUMEDOWN>;
press-threshold-microvolt = <1000000>;
};
button-enter {
label = "Enter";
linux,code = <KEY_ENTER>;
press-threshold-microvolt = <500000>;
};
};
...
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,13 @@ properties:
patternProperties:
"^button-[0-9]+$":
type: object
$ref: input.yaml#
properties:
label:
$ref: /schemas/types.yaml#/definitions/string
description: Descriptive name of the key

linux,code:
$ref: /schemas/types.yaml#/definitions/uint32
description: Keycode to emit
linux,code: true

channel:
$ref: /schemas/types.yaml#/definitions/uint32
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ description: |
allOf:
- $ref: input.yaml#
- $ref: /schemas/spi/spi-peripheral-props.yaml#

properties:
compatible:
Expand Down
41 changes: 18 additions & 23 deletions Documentation/devicetree/bindings/input/azoteq,iqs7222.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,6 @@ properties:
device is temporarily held in hardware reset prior to initialization if
this property is present.

azoteq,rf-filt-enable:
type: boolean
description: Enables the device's internal RF filter.

azoteq,max-counts:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [0, 1, 2, 3]
Expand Down Expand Up @@ -421,6 +417,7 @@ patternProperties:
patternProperties:
"^event-(prox|touch)$":
type: object
$ref: input.yaml#
description:
Represents a proximity or touch event reported by the channel.

Expand Down Expand Up @@ -467,14 +464,9 @@ patternProperties:
The IQS7222B does not feature channel-specific timeouts; the time-
out specified for any one channel applies to all channels.

linux,code:
$ref: /schemas/types.yaml#/definitions/uint32
description:
Numeric key or switch code associated with the event. Specify
KEY_RESERVED (0) to opt out of event reporting.
linux,code: true

linux,input-type:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [1, 5]
default: 1
description:
Expand Down Expand Up @@ -537,9 +529,8 @@ patternProperties:

azoteq,bottom-speed:
$ref: /schemas/types.yaml#/definitions/uint32
multipleOf: 4
minimum: 0
maximum: 1020
maximum: 255
description:
Specifies the speed of movement after which coordinate filtering is
linearly reduced.
Expand Down Expand Up @@ -575,14 +566,13 @@ patternProperties:
patternProperties:
"^event-(press|tap|(swipe|flick)-(pos|neg))$":
type: object
$ref: input.yaml#
description:
Represents a press or gesture (IQS7222A only) event reported by
the slider.

properties:
linux,code:
$ref: /schemas/types.yaml#/definitions/uint32
description: Numeric key code associated with the event.
linux,code: true

azoteq,gesture-max-ms:
multipleOf: 4
Expand Down Expand Up @@ -616,16 +606,15 @@ patternProperties:
azoteq,gpio-select:
$ref: /schemas/types.yaml#/definitions/uint32-array
minItems: 1
maxItems: 1
maxItems: 3
items:
minimum: 0
maximum: 0
maximum: 2
description: |
Specifies an individual GPIO mapped to a tap, swipe or flick
gesture as follows:
Specifies one or more GPIO mapped to the event as follows:
0: GPIO0
1: GPIO3 (reserved)
2: GPIO4 (reserved)
1: GPIO3 (IQS7222C only)
2: GPIO4 (IQS7222C only)
Note that although multiple events can be mapped to a single
GPIO, they must all be of the same type (proximity, touch or
Expand Down Expand Up @@ -710,6 +699,14 @@ allOf:
multipleOf: 4
maximum: 1020

patternProperties:
"^event-(press|tap|(swipe|flick)-(pos|neg))$":
properties:
azoteq,gpio-select:
maxItems: 1
items:
maximum: 0

else:
patternProperties:
"^channel-([0-9]|1[0-9])$":
Expand All @@ -726,8 +723,6 @@ allOf:

azoteq,gesture-dist: false

azoteq,gpio-select: false

required:
- compatible
- reg
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ examples:
#address-cells = <1>;
#size-cells = <0>;
mpr121@5a {
touchkey@5a {
compatible = "fsl,mpr121-touchkey";
reg = <0x5a>;
interrupt-parent = <&gpio1>;
Expand All @@ -77,7 +77,7 @@ examples:
#address-cells = <1>;
#size-cells = <0>;
mpr121@5a {
touchkey@5a {
compatible = "fsl,mpr121-touchkey";
reg = <0x5a>;
poll-interval = <20>;
Expand Down
Loading

0 comments on commit 2ae08b3

Please sign in to comment.