drivers/gpio/gpiolib-of.c | 8 +++++++ drivers/gpio/gpiolib-of.h | 6 +++++ drivers/gpio/gpiolib.c | 22 +++++++++++++++---- include/linux/irqdomain.h | 20 ++++++++--------- kernel/irq/irqdomain.c | 56 +++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 98 insertions(+), 14 deletions(-)
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@linaro.org [1]
Signed-off-by: Yixun Lan <dlan@gentoo.org>
---
Changes in v3:
- explicitly introduce *_twothreecell() to support 3 cell interrupt
- Link to v2: https://lore.kernel.org/r/20250302-04-gpio-irq-threecell-v2-0-34f13ad37ea4@gentoo.org
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@gentoo.org
---
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 | 22 +++++++++++++++----
include/linux/irqdomain.h | 20 ++++++++---------
kernel/irq/irqdomain.c | 56 +++++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 98 insertions(+), 14 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
Hi Yixun, On Tue, Mar 25, 2025 at 11:07 PM Yixun Lan <dlan@gentoo.org> wrote: > In this patch [1], the GPIO controller add support for describing > hardware with a three-cell scheme: Sorry for replying so late, I was a bit busy. I'm very happy with how this threecell IRQ support ended up, and thanks a lot for driving the infrastructure for it! Yours, Linus Walleij
CC devicetree
The first patch was already applied as commit 0a02e1f4a54ace74
("irqdomain: Support three-cell scheme interrupts") in irqchip/irq/core.
On Tue, 25 Mar 2025 at 23:08, Yixun Lan <dlan@gentoo.org> wrote:
> 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@linaro.org [1]
> Signed-off-by: Yixun Lan <dlan@gentoo.org>
> ---
> Changes in v3:
> - explicitly introduce *_twothreecell() to support 3 cell interrupt
> - Link to v2: https://lore.kernel.org/r/20250302-04-gpio-irq-threecell-v2-0-34f13ad37ea4@gentoo.org
>
> 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@gentoo.org
>
> ---
> 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 | 22 +++++++++++++++----
> include/linux/irqdomain.h | 20 ++++++++---------
> kernel/irq/irqdomain.c | 56 +++++++++++++++++++++++++++++++++++++++++++++++
> 5 files changed, 98 insertions(+), 14 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
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
© 2016 - 2026 Red Hat, Inc.