[PATCH v3 00/10] gpiolib: more quirks to handle legacy names

From: Dmitry Torokhov
Date: Tue Oct 18 2022 - 01:41:21 EST


In preparation to converting several drivers to gpiod API, and to keep
existing DTS working, this series adds additional quirks to locate
gpio lines with legacy names.

Additionally the quirk handling has been reworked (once again) to pull
all simple renames (ones that do not involve change of indices or other
complex manipulations) into a single quirk with a table containing
transformations. This should make adding new quirks easier.
When using legacy names gpiolib will emit a message to nudge users to
update DTSes (when possible).

Note that the last patch requires the following change from the OF tree:

88269151be67 ("of: base: make of_device_compatible_match() accept const device node")

The change is also available in mainline - it has been merged in 6.1
merge window.

Thanks.

To: Linus Walleij <linus.walleij@xxxxxxxxxx>
To: Bartosz Golaszewski <brgl@xxxxxxxx>
Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Cc: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx>
Cc: Daniel Thompson <daniel.thompson@xxxxxxxxxx>
Cc: linux-gpio@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: linux-mediatek@xxxxxxxxxxxxxxxxxxx

---
Changes in v3:
- added missed legacy compatible for UART variant of Marvell NFC controller
- added naming quirk for MOXA ART RTC
- Link to v2: https://lore.kernel.org/r/20221011-gpiolib-quirks-v2-0-73cb7176fd94@xxxxxxxxx

Changes in v2:
- fixed 'fsl,imx8mq-fec' & 'fsl,imx8qm-fec' compatibles issue noticed
by Alexander Stein
- implemented Daniel Thompson's suggestion on tightening configs
selecting renaming quirks and added a comment to discourage adding
rename quirks without checks for specific compatible(s)
- added a polarity quirk for Himax LCDs
- collected reviewed-by tags
- Link to v1: https://lore.kernel.org/r/20221011-gpiolib-quirks-v1-0-e01d9d3e7b29@xxxxxxxxx

---
Dmitry Torokhov (10):
gpiolib: of: add a quirk for legacy names in Mediatek mt2701-cs42448
gpiolib: of: consolidate simple renames into a single quirk
gpiolib: of: tighten selection of gpio renaming quirks
gpiolib: of: add quirk for locating reset lines with legacy bindings
gpiolib: of: add a quirk for reset line for Marvell NFC controller
gpiolib: of: add a quirk for reset line for Cirrus CS42L56 codec
gpiolib: of: add a quirk for legacy names in MOXA ART RTC
gpiolib: of: factor out code overriding gpio line polarity
gpiolib: of: add quirk for phy reset polarity for Freescale Ethernet
gpiolib: of: add a quirk for reset line polarity for Himax LCDs

drivers/gpio/gpiolib-of.c | 349 ++++++++++++++++++++++++++++++----------------
1 file changed, 227 insertions(+), 122 deletions(-)
---
base-commit: dca0a0385a4963145593ba417e1417af88a7c18d
change-id: 20221011-gpiolib-quirks-d452ed31d24e

--
Dmitry