[PATCH v5 0/3] adp5588-keys: Support for dedicated gpio operation

Utsav Agarwal via B4 Relay
2024-07-03T10:58:22Z

Current state of the driver for the ADP5588/87 only allows partial
I/O to be used as GPIO. This support was previously present as a
separate gpio driver, which was dropped with the commit
5ddc896088b0 ("gpio: gpio-adp5588: drop the driver") since the
functionality was deemed to have been merged with adp5588-keys.

This series of patches re-enables this support by allowing the driver to
relax the requirement for registering a keymap and enable pure GPIO
operation.

Changelog
==========

V2:
- Changed gpio_only from a local variable to a member of struct
adp5588_kpad
- Removed condition from adp5588_probe() to skip adp5588_fw_parse() if
gpio-only specified. adp558_fw_parse() now handles and returns
0 if gpio-only has been specified.
- Added a check in adp5588_fw_parse() to make sure keypad
properties(keypad,num-columns and keypad,num-rows) were not defined when
gpio-only specified

V3:
- Moved device_property_present() for reading "gpio-only" into
adp558_fw_parse()
- Added print statements in case of error

V4:
- Added dt-bindings patch

Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
---
V5:
- Removed extra property "gpio-only", now pure gpio mode is
detected via the adbsence of keypad specific properties.
- Added dependencies for keypad properties to preserve
the original requirements in case a pure gpio mode is not
being used.
- Added additional description for why the "interrupts" property
was made optional
- Rebased current work based on https://lore.kernel.org/linux-input/ZoLt_qBCQS-tG8Ar@google.com/
- Link to v4: https://lore.kernel.org/r/20240701-adp5588_gpio_support-v4-0-44bba0445e90@analog.com

---
Dmitry Torokhov (1):
iInput: adp5588-keys - use guard notation when acquiring mutexes

Utsav Agarwal (2):
Input: adp5588-keys - add support for pure gpio
dt-bindings: input: Update dtbinding for adp5588

.../devicetree/bindings/input/adi,adp5588.yaml | 33 ++++++++--
drivers/input/keyboard/adp5588-keys.c | 70 ++++++++++++----------
2 files changed, 66 insertions(+), 37 deletions(-)
---
base-commit: 1c52cf5e79d30ac996f34b64284f2c317004d641
change-id: 20240701-adp5588_gpio_support-65db2bd21a9f

Best regards,
--
Utsav Agarwal <utsav.agarwal@analog.com>