[PATCH v4 0/2] Input: cypress-sf - Add support for Cypress Streetfighter touchkeys

From: Yassine Oudjana
Date: Tue Sep 07 2021 - 13:44:09 EST


This patchset adds support for Cypress StreetFighter touchkeys.

Due to lack of documentation, this driver is entirely based on information
gathered from a driver written for an old Android kernel fork[1][2].

[1] https://github.com/LineageOS/android_kernel_xiaomi_msm8996/blob/lineage-18.1/drivers/input/touchscreen/cyttsp_button.c
[2] https://github.com/LineageOS/android_kernel_xiaomi_msm8996/blob/lineage-18.1/arch/arm/boot/dts/qcom/a4-msm8996-mtp.dtsi#L291-L314

Changes since v3:
- Use device_property_read_u32_array to read keycodes.
- Read status register into integer first to check for errors.
- Use bitmap_xor and for_each_set_bit to check for key state changes.
- More code style fixes.
- Add MAINTAINERS entry.
- Dual-license DT binding.
Changes since v2:
- Code style fixes.
- Added copyright statement.
Changes since v1:
- Changed version variables in probe to int to allow storing error codes.
- Fixed some issues in dt binding.

Yassine Oudjana (2):
Input: cypress-sf - Add Cypress StreetFighter touchkey driver
dt-bindings: input: Add binding for cypress-sf

.../devicetree/bindings/input/cypress-sf.yaml | 61 +++++
MAINTAINERS | 7 +
drivers/input/keyboard/Kconfig | 10 +
drivers/input/keyboard/Makefile | 1 +
drivers/input/keyboard/cypress-sf.c | 219 ++++++++++++++++++
5 files changed, 298 insertions(+)
create mode 100644 Documentation/devicetree/bindings/input/cypress-sf.yaml
create mode 100644 drivers/input/keyboard/cypress-sf.c

--
2.33.0