From: Maximilian Weigand <mweigand@xxxxxxxxxxxx> Currently the cyttsp5 driver does not put the device to sleep during suspend, which can have unwanted side effects if an irq trigger of type EDGE_FALLING is used, as well as leads to increased power usage. Correspondingly, sleep and wakeup commands to the touchscreen were derived from the GPL-2 vendor/android driver by Cypress Semiconductor (copyright note for Cypress Semiconductor is already in the current driver). Tested on the Pine64 PineNote. Changes in v3: - dropped patches 1,2,5: already applied in v2 - dropped patch 4 "Input: cyttsp5 - properly initialize the device as a pm wakeup device" - functionality is already taken care of in the kernel - dropped patch 3 "dt-bindings: input: cypress,tt21000 - fix interrupt type in dts example": it was suggested that the driver should work with both interrupt types, falling edge and level low. Once a solution is found it will be submitted as a separate patch. - reworked patch 6 "Input: cyttsp5 - implement proper sleep and wakeup procedures" in response to review comments: - use the existing completion instead of adding a new one for sleep/wakeup command handling - use device_may_wakeup() to determine if the device should be suspended upon entering standby - clarified commit message 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 (1): Input: cyttsp5 - implement proper sleep and wakeup procedures drivers/input/touchscreen/cyttsp5.c | 118 ++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) base-commit: 457391b0380335d5e9a5babdec90ac53928b23b4 -- 2.39.2