[PATCH v2 0/5] Input: hynitron-cst816x: axes, gesture keys and panel power
From: Daniel Golle
Date: Fri Oct 02 2026 - 08:52:24 EST
This series improves the hynitron-cst816x touchscreen driver. It makes
the driver respect the common touchscreen axis properties, which are
now documented in the binding as well, it keeps gesture keys from
getting stuck, and it lets the controller follow the panel it is
mounted on.
The gesture key is reported with the controller's touch flag as its
value, so the key stays pressed once the controller stops reporting
the gesture code. The controller has no lift event to offer, so the
keys are now released on the first report carrying no gesture code, or
40 ms after the last one that carried a code, whichever comes first.
Boards which mount the controller on the panel feed it from the
panel's rail, so the reset and the interrupt now wait for the panel to
be prepared, which the common 'panel' phandle asks for.
Changes since v1:
- the binding allows touchscreen-min-x/y, touchscreen-size-x/y and
touchscreen-fuzz-x/y as well, which touchscreen_parse_properties()
already honours; the 240x240 default is unchanged
- the binding allows the 'panel' phandle, and patch 5 is new: it
follows the panel's power sequence
- the binding commit message carries a justification (Conor Dooley)
- keycodes above KEY_MAX are rejected, which keeps the gesture key
lookup inside the input core's key bitmap (Sashiko AI review)
- the timed release is skipped when the interrupt handler re-armed the
timer while the timer callback waited for the lock (Sashiko AI
review)
- the Sashiko AI review also asked about additionalProperties next to
a $ref, which stays, as this binding allows a subset of
touchscreen.yaml (writing-schema.rst)
Link: https://lore.kernel.org/r/cover.1790851590.git.daniel@xxxxxxxxxxxxxx
Daniel Golle (5):
dt-bindings: input: touchscreen: hynitron,cst816x: axes and panel
Input: hynitron-cst816x: respect touchscreen DT properties
Input: hynitron-cst816x: release gesture keys
Input: hynitron-cst816x: time out gesture key release
Input: hynitron-cst816x: power sequence with the panel
.../input/touchscreen/hynitron,cst816x.yaml | 16 ++
drivers/input/touchscreen/Kconfig | 2 +
drivers/input/touchscreen/hynitron-cst816x.c | 182 +++++++++++++++---
3 files changed, 171 insertions(+), 29 deletions(-)
base-commit: 6474fa070f2b8013b4b87350b775b8c3be6e8aac
--
2.55.0