set_irq_flags is ARM specific with custom flags which have genirq
equivalents. Convert drivers to use the genirq interfaces directly, so we
can kill off set_irq_flags. The translation of flags is as follows:
IRQF_VALID -> !IRQ_NOREQUEST
IRQF_PROBE -> !IRQ_NOPROBE
IRQF_NOAUTOEN -> IRQ_NOAUTOEN
For IRQs managed by an irqdomain, the irqdomain core code handles clearing
and setting IRQ_NOREQUEST already, so there is no need to do this in
.map() functions and we can simply remove the set_irq_flags calls. Some
users also modify IRQ_NOPROBE and this has been maintained although it
is not clear that is really needed. There appears to be a great deal of
blind copy and paste of this code.
Signed-off-by: Rob Herring
Cc: Russell King
Cc: Sekhar Nori
Cc: Kevin Hilman
Cc: Jason Cooper
Cc: Andrew Lunn
Cc: Sebastian Hesselbarth
Cc: Gregory Clement
Acked-by: Hans Ulli Kroll
Acked-by: Shawn Guo
Cc: Sascha Hauer
Cc: Imre Kaloz
Acked-by: Krzysztof Halasa
Cc: Greg Ungerer
Cc: Roland Stigge
Cc: Tony Lindgren
Cc: Daniel Mack
Cc: Haojian Zhuang
Cc: Robert Jarzmik
Cc: Simtec Linux Team
Cc: Kukjin Kim
Cc: Krzysztof Kozlowski
Acked-by: Wan ZongShun
Cc: linux-arm-ker...@lists.infradead.org
Cc: linux-o...@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Tested-by: Kevin Hilman
---
Thomas asked that this be merged thru subsystem trees instead of arm-soc,
so please apply just this patch to your tree.
Rob
arch/arm/common/it8152.c | 2 +-
arch/arm/common/locomo.c | 2 +-
arch/arm/common/sa.c | 4 ++--
arch/arm/mach-davinci/cp_intc.c | 2 +-
arch/arm/mach-dove/irq.c | 2 +-
arch/arm/mach-ebsa110/core.c | 2 +-
arch/arm/mach-footbridge/common.c| 2 +-
arch/arm/mach-footbridge/isa-irq.c | 8
arch/arm/mach-gemini/gpio.c | 2 +-
arch/arm/mach-gemini/irq.c | 2 +-
arch/arm/mach-imx/3ds_debugboard.c | 2 +-
arch/arm/mach-imx/mach-mx31ads.c | 2 +-
arch/arm/mach-iop13xx/irq.c | 2 +-
arch/arm/mach-iop32x/irq.c | 2 +-
arch/arm/mach-iop33x/irq.c | 2 +-
arch/arm/mach-ixp4xx/common.c| 2 +-
arch/arm/mach-ks8695/irq.c | 2 +-
arch/arm/mach-lpc32xx/irq.c | 2 +-
arch/arm/mach-netx/generic.c | 2 +-
arch/arm/mach-omap1/fpga.c | 2 +-
arch/arm/mach-omap1/irq.c| 2 +-
arch/arm/mach-pxa/balloon3.c | 2 +-
arch/arm/mach-pxa/irq.c | 1 -
arch/arm/mach-pxa/lpd270.c | 2 +-
arch/arm/mach-pxa/pcm990-baseboard.c | 2 +-
arch/arm/mach-pxa/pxa3xx.c | 2 +-
arch/arm/mach-pxa/viper.c| 2 +-
arch/arm/mach-pxa/zeus.c | 2 +-
arch/arm/mach-rpc/ecard.c| 2 +-
arch/arm/mach-rpc/irq.c | 16
arch/arm/mach-s3c24xx/bast-irq.c | 2 +-
arch/arm/mach-s3c64xx/common.c | 2 +-
arch/arm/mach-sa1100/neponset.c | 4 ++--
arch/arm/mach-w90x900/irq.c | 2 +-
drivers/irqchip/irq-sa11x0.c | 1 -
35 files changed, 45 insertions(+), 47 deletions(-)
diff --git a/arch/arm/common/it8152.c b/arch/arm/common/it8152.c
index 5114b68..96dabcb 100644
--- a/arch/arm/common/it8152.c
+++ b/arch/arm/common/it8152.c
@@ -91,7 +91,7 @@ void it8152_init_irq(void)
for (irq = IT8152_IRQ(0); irq <= IT8152_LAST_IRQ; irq++) {
irq_set_chip_and_handler(irq, &it8152_irq_chip,
handle_level_irq);
- set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
+ irq_clear_status_flags(irq, IRQ_NOREQUEST | IRQ_NOPROBE);
}
}
diff --git a/arch/arm/common/locomo.c b/arch/arm/common/locomo.c
index b55c362..339fc41 100644
--- a/arch/arm/common/locomo.c
+++ b/arch/arm/common/locomo.c
@@ -205,7 +205,7 @@ static void locomo_setup_irq(struct locomo *lchip)
for ( ; irq <= lchip->irq_base + 3; irq++) {
irq_set_chip_and_handler(irq, &locomo_chip, handle_level_irq);
irq_set_chip_data(irq, lchip);
- set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
+ irq_clear_status_flags(irq, IRQ_NOREQUEST | IRQ_NOPROBE);
}
}
diff --git a/arch/arm/common/sa.c b/arch/arm/common/sa.c
index 93ee70d..680374d 100644
--- a/arch/arm/common/sa.c
+++ b/arch/arm/common/sa.c
@@ -486,7 +486,7 @@ static int sa_setup_irq(struct sa *sachip, unsigned
irq_base)
irq_set_chip_and_handler(irq, &sa_low_chip,
handle_edge_irq);
irq_set_chip_data(irq, sachip);
- set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
+ irq_clear_status_flags(irq, IRQ_NOREQUEST | IRQ_NOPROBE);
}
for (i = AUDXMTDMADONEA; i <= IRQ_S1_BVD1_STSCHG; i++) {
@@ -494,7 +494,7 @@ static int sa_setup_irq(struct sa *sachip, unsigned
irq_base)
irq_set_chip_and_handler(irq, &sa_high_chip