OSDN Git Service

clk: kill off set_irq_flags usage
authorRob Herring <robh@kernel.org>
Mon, 27 Jul 2015 20:55:14 +0000 (15:55 -0500)
committerStephen Boyd <sboyd@codeaurora.org>
Tue, 28 Jul 2015 18:59:41 +0000 (11:59 -0700)
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>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: Mike Turquette <mturquette@baylibre.com>
Acked-by: Stephen Boyd <sboyd@codeaurora.org>
Cc: linux-clk@vger.kernel.org
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
drivers/clk/at91/pmc.c

index 39be2be..d1844f1 100644 (file)
@@ -125,7 +125,6 @@ static int pmc_irq_map(struct irq_domain *h, unsigned int virq,
 
        irq_set_chip_and_handler(virq, &pmc_irq,
                                 handle_level_irq);
-       set_irq_flags(virq, IRQF_VALID);
        irq_set_chip_data(virq, pmc);
 
        return 0;