]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
gpio: cadence: Add support for edge-triggered interrupts
authorTzu-Hao Wei <twei@axiado.com>
Fri, 9 Jan 2026 09:26:07 +0000 (01:26 -0800)
committerBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Mon, 12 Jan 2026 10:41:02 +0000 (11:41 +0100)
commit43f37d44f2b8a75a896e218bac1e43d75063f8d3
tree2c4aaf00e11827c01d87216710115d165ac6a102
parentea5b4c68e097412f2d3ca13314b672837718a446
gpio: cadence: Add support for edge-triggered interrupts

The Cadence GPIO controller (CDNS IP6508) supports edge-triggered
interrupts (rising, falling, and both) via IRQ_TYPE, IRQ_VALUE,
and IRQ_ANY_EDGE registers. This commit enables support for these
modes in cdns_gpio_irq_set_type().

Although the interrupt status register is cleared on read and lacks
per-pin acknowledgment, the driver already handles this safely by
reading the ISR once and dispatching all pending interrupts immediately.
This allows edge IRQs to be used reliably in controlled environments.

Signed-off-by: Tzu-Hao Wei <twei@axiado.com>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Signed-off-by: Swark Yang <syang@axiado.com>
Link: https://lore.kernel.org/r/20260109-axiado-ax3000-cadence-gpio-support-v2-2-fc1e28edf68a@axiado.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
drivers/gpio/gpio-cadence.c