[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240704-adp5588_gpio_support-v7-0-e34eb7eba5ab@analog.com>
Date: Thu, 04 Jul 2024 14:03:52 +0100
From: Utsav Agarwal via B4 Relay <devnull+utsav.agarwal.analog.com@...nel.org>
To: Utsav Agarwal <utsav.agarwal@...log.com>,
Michael Hennerich <michael.hennerich@...log.com>,
Dmitry Torokhov <dmitry.torokhov@...il.com>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Nuno Sá <nuno.sa@...log.com>
Cc: linux-input@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org,
Arturs Artamonovs <arturs.artamonovs@...log.com>,
Vasileios Bimpikas <vasileios.bimpikas@...log.com>,
Oliver Gaskell <oliver.gaskell@...log.com>
Subject: [PATCH v7 0/3] adp5588-keys: Support for dedicated gpio operation
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@...log.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
---
Changes in v7:
- Fixed commit subject for transported patch
- Driver now does not setup gpio_irq_chip if
interrupt has not been provided
- Fixed indentation for dtbinding example
- Link to v6: https://lore.kernel.org/r/20240704-adp5588_gpio_support-v6-0-cb65514d714b@analog.com
Changes in v6:
- Restored functionality to register interrupts in GPIO
mode(i.e, these are optional but not exclusive to keypad mode
since even in pure gpio mode, they can be used as inputs via
gpio-keys)
- Updated dt-bindings such that each keypad property depends on
the others. Interrupts, although optional are now required by
keypad mode but are not limited to it.
- Link to v5: https://lore.kernel.org/r/20240703-adp5588_gpio_support-v5-0-49fcead0d390@analog.com
---
Dmitry Torokhov (1):
Input: 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 | 46 ++++++++++--
drivers/input/keyboard/adp5588-keys.c | 86 +++++++++++++---------
2 files changed, 91 insertions(+), 41 deletions(-)
---
base-commit: 1c52cf5e79d30ac996f34b64284f2c317004d641
change-id: 20240701-adp5588_gpio_support-65db2bd21a9f
Best regards,
--
Utsav Agarwal <utsav.agarwal@...log.com>
Powered by blists - more mailing lists