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 introducing a new property names "gpio-only", which allows 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@xxxxxxxxxx> --- Utsav Agarwal (2): Input: adp5588-keys - add support for pure gpio dt-bindings: input: Update dtbinding for adp5588 .../devicetree/bindings/input/adi,adp5588.yaml | 28 ++++++++++++++++--- drivers/input/keyboard/adp5588-keys.c | 32 ++++++++++++++++++++++ 2 files changed, 56 insertions(+), 4 deletions(-) --- base-commit: 1c52cf5e79d30ac996f34b64284f2c317004d641 change-id: 20240701-adp5588_gpio_support-65db2bd21a9f Best regards, -- Utsav Agarwal <utsav.agarwal@xxxxxxxxxx>