Commit 86e203ed authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull input updates from Dmitry Torokhov:

 - improvements to PS/2 handling for case when EC has already latched a
   scancode in the data register, but the kernel expects to receive an
   ACK to a command it sent to a device (such as keyboard LED toggle)

 - input drivers for devices connected over I2C bus have been switched
   back to using [new] .probe()

 - uinput allows userspace to inject timestamps for input events

 - support for capacitive keys in Atmel touch controller driver

 - assorted fixes to drv260x, pwm-vibra, ili210x, adxl34x, and other
   drivers

* tag 'input-for-v6.5-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (40 commits)
  Input: pm8941-powerkey - fix debounce on gen2+ PMICs
  MAINTAINERS: Adjust Qualcomm driver globbing
  Input: gameport - provide default trigger() and read()
  Input: tps65219-pwrbutton - use regmap_set_bits()
  Input: tps65219-pwrbutton - convert to .remove_new()
  Input: tests - add test to cover all input_grab_device() function
  Input: gpio-keys - use input_report_key()
  Input: xpad - spelling fixes for "Xbox"
  Input: add HAS_IOPORT dependencies
  Input: libps2 - do not discard non-ack bytes when controlling LEDs
  Input: libps2 - introduce common interrupt handler
  Input: libps2 - fix aborting PS/2 commands
  Input: libps2 - fix NAK handling
  Input: libps2 - rework handling of command response
  Input: libps2 - remove special handling of ACK for command byte
  Input: libps2 - attach ps2dev instances as serio port's drvdata
  Input: Switch i2c drivers back to use .probe()
  dt-bindings: input: cypress,cyapa: convert to dtschema
  Input: adxl34x - do not hardcode interrupt trigger type
  Input: pwm-vibra - add support for enable GPIO
  ...
parents 0e382fa7 bf4ed217
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -14,6 +14,9 @@ description: |
  Atmel maXTouch touchscreen or touchpads such as the mXT244
  and similar devices.

allOf:
  - $ref: input.yaml#

properties:
  compatible:
    const: atmel,maxtouch
@@ -60,6 +63,10 @@ properties:
      or experiment to determine which bit corresponds to which input. Use
      KEY_RESERVED for unused padding values.

  linux,keycodes:
    minItems: 1
    maxItems: 8

  atmel,wakeup-method:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: |
+0 −42
Original line number Diff line number Diff line
Cypress I2C Touchpad

Required properties:
- compatible: must be "cypress,cyapa".
- reg: I2C address of the chip.
- 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:
	&i2c0 {
		/* ... */

		/* Cypress Gen3 touchpad */
		touchpad@67 {
			compatible = "cypress,cyapa";
			reg = <0x67>;
			interrupt-parent = <&gpio>;
			interrupts = <2 IRQ_TYPE_EDGE_FALLING>;	/* GPIO 2 */
			wakeup-source;
		};

		/* Cypress Gen5 and later touchpad */
		touchpad@24 {
			compatible = "cypress,cyapa";
			reg = <0x24>;
			interrupt-parent = <&gpio>;
			interrupts = <2 IRQ_TYPE_EDGE_FALLING>;	/* GPIO 2 */
			wakeup-source;
		};

		/* ... */
	};
+49 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/cypress,cyapa.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Cypress All Points Addressable (APA) I2C Touchpad / Trackpad

maintainers:
  - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

properties:
  compatible:
    const: cypress,cyapa

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  wakeup-source: true

  vcc-supply:
    description: 3.3V power

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        trackpad@67 {
            reg = <0x67>;
            compatible = "cypress,cyapa";
            interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
            interrupt-parent = <&gpx1>;
            wakeup-source;
        };
    };
+2 −0
Original line number Diff line number Diff line
@@ -32,6 +32,8 @@ properties:
    minItems: 1
    maxItems: 2

  enable-gpios: true

  vcc-supply: true

  direction-duty-cycle-ns:
+2 −0
Original line number Diff line number Diff line
@@ -40,6 +40,8 @@ properties:
  linux,keycodes:
    description: EV_ABS specific event code generated by the axis.

  wakeup-source: true

patternProperties:
  "^button@[0-9]+$":
    type: object
Loading