[PATCH v3 0/2] gpio: irq: support describing three-cell interrupts

Yixun Lan posted 2 patches 10 months, 2 weeks ago
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(-)
[PATCH v3 0/2] gpio: irq: support describing three-cell interrupts
Posted by Yixun Lan 10 months, 2 weeks ago
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
Re: [PATCH v3 0/2] gpio: irq: support describing three-cell interrupts
Posted by Linus Walleij 9 months, 4 weeks ago
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
Re: [PATCH v3 0/2] gpio: irq: support describing three-cell interrupts
Posted by Geert Uytterhoeven 10 months ago
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