Drivers that want to get the trigger edge/level type flags for a
given interrupt have to first call irq_get_irq_data(irq) to get
the struct irq_data and then irqd_get_trigger_type(irq_data) to
obtain the IRQ flags.
This is not only error prone but also unnecessary exposes the
struct irq_data to callers. This patch-set adds a new function
irq_get_trigger_type() to obtain the edge/level flags for an IRQ
and updates the places where irq_get_irq_data(irq) was called
just to obtain the flags from the struct irq_data.
The patch-set is composed of the following patches:
[PATCH 1/7] genirq: add irq_get_trigger_type() to get IRQ flags
[PATCH 2/7] gpio: mvebu: use irq_get_trigger_type() to get IRQ flags
[PATCH 3/7] mfd: twl4030-irq: use irq_get_trigger_type() to get IRQ flags
[PATCH 4/7] mfd: stmpe: use irq_get_trigger_type() to get IRQ flags
[PATCH 5/7] arm: orion: use irq_get_trigger_type() to get IRQ flags
[PATCH 6/7] MIPS: octeon: use irq_get_trigger_type() to get IRQ flags
[PATCH 7/7] irqdomain: use irq_get_trigger_type() to get IRQ flags
arch/arm/plat-orion/gpio.c | 2 +-
arch/mips/cavium-octeon/octeon-irq.c | 2 +-
drivers/gpio/gpio-mvebu.c | 2 +-
drivers/mfd/stmpe.c | 3 +--
drivers/mfd/twl4030-irq.c | 5 +----
include/linux/irq.h | 6 ++++++
kernel/irq/irqdomain.c | 2 +-
7 files changed, 12 insertions(+), 10 deletions(-)
Best regards,
Javier