Thread (27 messages) 27 messages, 9 authors, 2015-08-13

[PATCH v2 06/13] irqchip: kill off set_irq_flags usage

From: robh@kernel.org (Rob Herring)
Date: 2015-07-27 18:39:27
Also in: linux-samsung-soc, lkml

On Sat, Jul 25, 2015 at 8:34 AM, Gregory CLEMENT
[off-list ref] wrote:
Hi Rob,

On 12/07/2015 16:26, Rob Herring wrote:
quoted
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 set 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: Thomas Gleixner <redacted>
Cc: Jason Cooper <redacted>
Cc: Kukjin Kim <kgene@kernel.org>
Cc: Krzysztof Kozlowski <redacted>
Cc: Stephen Warren <redacted>
Cc: Lee Jones <lee@kernel.org>
Cc: Alexander Shiyan <redacted>
Cc: Maxime Ripard <redacted>
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-samsung-soc at vger.kernel.org
Cc: linux-rpi-kernel at lists.infradead.org
---
v2:
- Fix build error on clps711x
[...]
quoted
diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-armada-370-xp.c
index 0d3b0fe..b8bf8b0 100644
--- a/drivers/irqchip/irq-armada-370-xp.c
+++ b/drivers/irqchip/irq-armada-370-xp.c
@@ -201,7 +201,6 @@ static int armada_370_xp_msi_map(struct irq_domain *domain, unsigned int virq,
 {
      irq_set_chip_and_handler(virq, &armada_370_xp_msi_irq_chip,
                               handle_simple_irq);
-     set_irq_flags(virq, IRQF_VALID);
OK
quoted
      return 0;
 }
@@ -318,7 +317,7 @@ static int armada_370_xp_mpic_irq_map(struct irq_domain *h,
              irq_set_chip_and_handler(virq, &armada_370_xp_irq_chip,
                                      handle_level_irq);
      }
-     set_irq_flags(virq, IRQF_VALID | IRQF_PROBE);
+     irq_set_noprobe(virq);
I think it should be irq_set_probe(virq), I don't see why you inverted the probe flag.
Yes, this translation and similar ones are messed up. I've gone back
thru and fixed these.

However, it is questionable whether you really want to enable probing
on these lines or care either way.

Rob
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help