This adds some code in the gpiolib OF core to deal with several gpio chip instances per OF node. The change was prompted by the need of the Spacemit GPIO controller. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> --- Changes in v3: - Bail out of the twocell translation function if cells != 2 - Link to v2: https://lore.kernel.org/r/20250225-gpio-ranges-fourcell-v2-0-8da9998fa976@xxxxxxxxxx Changes in v2: - Fix a speling error in first patch. - Fix coding errors and documentation errors in second patch. - Collected review tags. - Drop RFT tag, this is for applying. - Link to v1: https://lore.kernel.org/r/20250218-gpio-ranges-fourcell-v1-0-b1f3db6c8036@xxxxxxxxxx --- Linus Walleij (2): gpiolib: of: Use local variables gpiolib: of: Handle threecell GPIO chips drivers/gpio/gpiolib-of.c | 128 +++++++++++++++++++++++++++++++++++--------- include/linux/gpio/driver.h | 24 ++++++++- 2 files changed, 127 insertions(+), 25 deletions(-) --- base-commit: 2014c95afecee3e76ca4a56956a936e23283f05b change-id: 20250217-gpio-ranges-fourcell-85888ad219da Best regards, -- Linus Walleij <linus.walleij@xxxxxxxxxx>