[PATCH v3 0/2] gpio: irq: support describing three-cell interrupts
From: Yixun Lan
Date: Tue Mar 25 2025 - 18:08:04 EST
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 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@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 | 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