While working on some intermittent module-loading problems of the cyttsp5 module on the Pine64 PineNote it was found that the device tree example of the cypress,tt21000 was in error regarding the interrupt type (IRQ_TYPE_EDGE_FALLING should be used instead of IRQ_TYPE_LEVEL_LOW). This lead to the proper implementation of device sleep states, which is required to ensure proper functioning of the touchscreen after resume when the correct interrupt type IRQ_TYPE_FALLING_EDGE is used. Sleep and wakeup commands to the touchscreen were derived from the GPL-2 android driver by Cypress Semiconductor (copyright note for Cypress Semiconductor is already in the current driver). The first two patches fix small issues with the code found during development of the suspend functionality. Changes in v2: - fix subject lines - fix 'unused variable' errors reported by the kernel test robot - clean up commit message of patch 2 Maximilian Weigand (6): Input: cyttsp5 - fix array length Input: cyttsp5 - remove unused code dt-bindings: input: cypress,tt21000 - fix interrupt type in dts example Input: cyttsp5 - properly initialize the device as a pm wakeup device dt-bindings: input: cypress,tt21000 - add wakeup-source entry to documentation Input: cyttsp5 - implement proper sleep and wakeup procedures .../input/touchscreen/cypress,tt21000.yaml | 4 +- drivers/input/touchscreen/cyttsp5.c | 133 +++++++++++++++++- 2 files changed, 130 insertions(+), 7 deletions(-) base-commit: 457391b0380335d5e9a5babdec90ac53928b23b4 -- 2.39.2