From: Chris Morgan <macromorgan@xxxxxxxxxxx> This series adds support for the Hynitron cstxxx (specifically the cst3xx series). The cst3xx supports 5 point multitouch with hardware tracking of touch points. Note that a datasheet was unavailable for this device, so it was built based on vendor provided source code that was tagged as GPLv2. Some of the register functions were discovered via trial and error and labelled as such. Changes from V3: - Removed of includes and changed from of_device_get_match_data() to device_get_match_data(). - Print checkcode read from the device in the event of an error. - Removed extra dev_err() print functions. Changes from V2: - Fix issue identified by Intel Kernel Test Robot. Changed functions in driver to static. Reported-by: kernel test robot <lkp@xxxxxxxxx> Changes from V1: - Updated binding to specify cst340 instead of generic cst3xx. - Defined various registers and commands to enhance code readability. - Changed name of chip specific struct to hynitron_ts_chip_data. - Removed unused and redundant values from driver data. - Switch to gpiod cansleep functions in reset. - Refactored read/write i2c functions. - Changed variable names of ret to err in certain functions and added additional error handling in input registration function. Chris Morgan (3): dt-bindings: vendor-prefixes: add Hynitron vendor prefix dt-bindings: input: touchscreen: Add Hynitron cstxxx input/touchscreen: Add Hynitron cstxxx touchscreen .../input/touchscreen/hynitron,cstxxx.yaml | 65 +++ .../devicetree/bindings/vendor-prefixes.yaml | 2 + drivers/input/touchscreen/Kconfig | 12 + drivers/input/touchscreen/Makefile | 1 + drivers/input/touchscreen/hynitron_cstxxx.c | 505 ++++++++++++++++++ 5 files changed, 585 insertions(+) create mode 100644 Documentation/devicetree/bindings/input/touchscreen/hynitron,cstxxx.yaml create mode 100644 drivers/input/touchscreen/hynitron_cstxxx.c -- 2.25.1