aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/irqchip/irq-mmp.c
diff options
context:
space:
mode:
authorRob Herring <robh@kernel.org>2015-08-29 19:01:22 -0400
committerThomas Gleixner <tglx@linutronix.de>2015-09-16 10:53:38 -0400
commitd17cab4451df1f25f3a46369e0aaeaa18390fa6b (patch)
tree4a936f3cbd3869c552a437b5bc9e1ada24c1453f /drivers/irqchip/irq-mmp.c
parentca0141de743dc7760fdfeb9210b82dadf6d9b221 (diff)
irqchip: Kill off set_irq_flags usage
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 <robh@kernel.org> Cc: linux-arm-kernel@lists.infradead.org Cc: Russell King <linux@arm.linux.org.uk> Cc: Jason Cooper <jason@lakedaemon.net> Cc: Kukjin Kim <kgene@kernel.org> Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com> Cc: Stephen Warren <swarren@wwwdotorg.org> Cc: Lee Jones <lee@kernel.org> Cc: Alexander Shiyan <shc_work@mail.ru> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> Cc: linux-rpi-kernel@lists.infradead.org Cc: linux-samsung-soc@vger.kernel.org Link: http://lkml.kernel.org/r/1440889285-5637-3-git-send-email-robh@kernel.org Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'drivers/irqchip/irq-mmp.c')
-rw-r--r--drivers/irqchip/irq-mmp.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/drivers/irqchip/irq-mmp.c b/drivers/irqchip/irq-mmp.c
index ea6e3a96f3b3..013fc9659a84 100644
--- a/drivers/irqchip/irq-mmp.c
+++ b/drivers/irqchip/irq-mmp.c
@@ -164,7 +164,6 @@ static int mmp_irq_domain_map(struct irq_domain *d, unsigned int irq,
164 irq_hw_number_t hw) 164 irq_hw_number_t hw)
165{ 165{
166 irq_set_chip_and_handler(irq, &icu_irq_chip, handle_level_irq); 166 irq_set_chip_and_handler(irq, &icu_irq_chip, handle_level_irq);
167 set_irq_flags(irq, IRQF_VALID);
168 return 0; 167 return 0;
169} 168}
170 169
@@ -234,7 +233,6 @@ void __init icu_init_irq(void)
234 for (irq = 0; irq < 64; irq++) { 233 for (irq = 0; irq < 64; irq++) {
235 icu_mask_irq(irq_get_irq_data(irq)); 234 icu_mask_irq(irq_get_irq_data(irq));
236 irq_set_chip_and_handler(irq, &icu_irq_chip, handle_level_irq); 235 irq_set_chip_and_handler(irq, &icu_irq_chip, handle_level_irq);
237 set_irq_flags(irq, IRQF_VALID);
238 } 236 }
239 irq_set_default_host(icu_data[0].domain); 237 irq_set_default_host(icu_data[0].domain);
240 set_handle_irq(mmp_handle_irq); 238 set_handle_irq(mmp_handle_irq);
@@ -337,7 +335,6 @@ void __init mmp2_init_icu(void)
337 irq_set_chip_and_handler(irq, &icu_irq_chip, 335 irq_set_chip_and_handler(irq, &icu_irq_chip,
338 handle_level_irq); 336 handle_level_irq);
339 } 337 }
340 set_irq_flags(irq, IRQF_VALID);
341 } 338 }
342 irq_set_default_host(icu_data[0].domain); 339 irq_set_default_host(icu_data[0].domain);
343 set_handle_irq(mmp2_handle_irq); 340 set_handle_irq(mmp2_handle_irq);