diff options
author | Rob Herring <robh@kernel.org> | 2015-08-29 19:01:22 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2015-09-16 10:53:38 -0400 |
commit | d17cab4451df1f25f3a46369e0aaeaa18390fa6b (patch) | |
tree | 4a936f3cbd3869c552a437b5bc9e1ada24c1453f /drivers/irqchip/irq-mmp.c | |
parent | ca0141de743dc7760fdfeb9210b82dadf6d9b221 (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.c | 3 |
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); |