In this patch [1], the GPIO controller add support for describing hardware with a three-cell scheme: gpios = <&gpio instance offset flags>; It also result describing interrupts in three-cell as this in DT: node { interrupt-parent = <&gpio>; interrupts = <instance hwirq irqflag>; } This series try to extend describing interrupts with three-cell scheme. The first patch will add capability for parsing irq number and flag from last two cells which eventually will support the three-cells interrupt, the second patch support finding irqdomain according to interrupt instance index. Link: https://lore.kernel.org/all/20250225-gpio-ranges-fourcell-v3-0-860382ba4713@xxxxxxxxxx [1] Signed-off-by: Yixun Lan <dlan@xxxxxxxxxx> --- Changes in v2: - introduce generic irq_domain_translate_cells(), other inline cells function - hide the OF-specific things into gpiolib-of.c|h - Link to v1: https://lore.kernel.org/r/20250227-04-gpio-irq-threecell-v1-0-4ae4d91baadc@xxxxxxxxxx --- Yixun Lan (2): irqdomain: support three-cell scheme interrupts gpiolib: support parsing gpio three-cell interrupts scheme drivers/gpio/gpiolib-of.c | 8 +++++++ drivers/gpio/gpiolib-of.h | 6 +++++ drivers/gpio/gpiolib.c | 23 +++++++++++++++---- include/linux/irqdomain.h | 37 +++++++++++++++++++++++-------- kernel/irq/irqdomain.c | 56 +++++++++++++++++++---------------------------- 5 files changed, 83 insertions(+), 47 deletions(-) --- base-commit: 2014c95afecee3e76ca4a56956a936e23283f05b change-id: 20250227-04-gpio-irq-threecell-66e1e073c806 prerequisite-change-id: 20250217-gpio-ranges-fourcell-85888ad219da:v3 prerequisite-patch-id: 9d4c8b05cc56d25bfb93f3b06420ba6e93340d31 prerequisite-patch-id: 7949035abd05ec02a9426bb17819d9108e66e0d7 Best regards, -- Yixun Lan