Commit 8e5c0abf authored by Linus Torvalds's avatar Linus Torvalds
Browse files
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
  ...
parents ef035628 a23e1966
Loading
Loading
Loading
Loading
+0 −60
Original line number Diff line number Diff line
TI-NSPIRE Keypad

Required properties:
- compatible: Compatible property value should be "ti,nspire-keypad".

- reg: Physical base address of the peripheral and length of memory mapped
  region.

- interrupts: The interrupt number for the peripheral.

- scan-interval: How often to scan in us. Based on a APB speed of 33MHz, the
	maximum and minimum delay time is ~2000us and ~500us respectively

- row-delay: How long to wait before scanning each row.

- clocks: The clock this peripheral is attached to.

- linux,keymap: The keymap to use
	(see Documentation/devicetree/bindings/input/matrix-keymap.txt)

Optional properties:
- active-low: Specify that the keypad is active low (i.e. logical low signifies
	a key press).

Example:

input {
	compatible = "ti,nspire-keypad";
	reg = <0x900E0000 0x1000>;
	interrupts = <16>;

	scan-interval = <1000>;
	row-delay = <200>;

	clocks = <&apb_pclk>;

	linux,keymap = <
	0x0000001c	0x0001001c	0x00040039
	0x0005002c	0x00060015	0x0007000b
	0x0008000f	0x0100002d	0x01010011
	0x0102002f	0x01030004	0x01040016
	0x01050014	0x0106001f	0x01070002
	0x010a006a	0x02000013	0x02010010
	0x02020019	0x02030007	0x02040018
	0x02050031	0x02060032	0x02070005
	0x02080028	0x0209006c	0x03000026
	0x03010025	0x03020024	0x0303000a
	0x03040017	0x03050023	0x03060022
	0x03070008	0x03080035	0x03090069
	0x04000021	0x04010012	0x04020020
	0x0404002e	0x04050030	0x0406001e
	0x0407000d	0x04080037	0x04090067
	0x05010038	0x0502000c	0x0503001b
	0x05040034	0x0505001a	0x05060006
	0x05080027	0x0509000e	0x050a006f
	0x0600002b	0x0602004e	0x06030068
	0x06040003	0x0605006d	0x06060009
	0x06070001	0x0609000f	0x0708002a
	0x0709001d	0x070a0033	>;
};
+74 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/ti,nspire-keypad.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: TI-NSPIRE Keypad

maintainers:
  - Andrew Davis <afd@ti.com>

allOf:
  - $ref: input.yaml#
  - $ref: matrix-keymap.yaml#

properties:
  compatible:
    enum:
      - ti,nspire-keypad

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 1

  scan-interval:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: How often to scan in us. Based on a APB speed of 33MHz, the
      maximum and minimum delay time is ~2000us and ~500us respectively

  row-delay:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: How long to wait between scanning each row in us.

  active-low:
    description: Specify that the keypad is active low.

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - scan-interval
  - row-delay
  - linux,keymap

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/input/input.h>
    keypad@900e0000 {
        compatible = "ti,nspire-keypad";
        reg = <0x900e0000 0x1000>;
        interrupts = <16>;

        clocks = <&apb_pclk>;

        scan-interval = <1000>;
        row-delay = <200>;

        linux,keymap = <
            MATRIX_KEY(0,  0, KEY_ENTER)
            MATRIX_KEY(0,  1, KEY_ENTER)
            MATRIX_KEY(0,  4, KEY_SPACE)
            MATRIX_KEY(0,  5, KEY_Z)
            MATRIX_KEY(0,  6, KEY_Y)
            MATRIX_KEY(0,  7, KEY_0)
        >;
    };
+1 −0
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@ Optional properties:
					pendown-gpio (u32).
	pendown-gpio			GPIO handle describing the pin the !PENIRQ
					line is connected to.
	ti,hsync-gpios			GPIO line to poll for hsync
	wakeup-source			use any event on touchscreen as wakeup event.
					(Legacy property support: "linux,wakeup")
	touchscreen-size-x		General touchscreen binding, see [1].
+1 −0
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ properties:
      - edt,edt-ft5406
      - edt,edt-ft5506
      - evervision,ev-ft5726
      - focaltech,ft5426
      - focaltech,ft5452
      - focaltech,ft6236
      - focaltech,ft8719
+8 −4
Original line number Diff line number Diff line
@@ -14,10 +14,14 @@ allOf:

properties:
  compatible:
    enum:
      - eeti,exc3000
      - eeti,exc80h60
      - eeti,exc80h84
    oneOf:
      - const: eeti,exc3000
      - const: eeti,exc80h60
      - const: eeti,exc80h84
      - items:
          - enum:
              - eeti,exc81w32
          - const: eeti,exc80h84
  reg:
    const: 0x2a
  interrupts:
Loading