From: Rob Herring <robh@kernel.org>
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 11/13] sh: kill off set_irq_flags usage
Date: Sun, 12 Jul 2015 14:26:49 +0000 [thread overview]
Message-ID: <1436711211-18223-12-git-send-email-robh@kernel.org> (raw)
In-Reply-To: <1436711211-18223-1-git-send-email-robh@kernel.org>
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>
Acked-by: Simon Horman <horms@verge.net.au>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: linux-sh@vger.kernel.org
---
drivers/sh/intc/internals.h | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/drivers/sh/intc/internals.h b/drivers/sh/intc/internals.h
index 7dff08e..897ffb1 100644
--- a/drivers/sh/intc/internals.h
+++ b/drivers/sh/intc/internals.h
@@ -99,15 +99,7 @@ static inline struct intc_desc_int *get_intc_desc(unsigned int irq)
*/
static inline void activate_irq(int irq)
{
-#ifdef CONFIG_ARM
- /* ARM requires an extra step to clear IRQ_NOREQUEST, which it
- * sets on behalf of every irq_chip. Also sets IRQ_NOPROBE.
- */
- set_irq_flags(irq, IRQF_VALID);
-#else
- /* same effect on other architectures */
- irq_set_noprobe(irq);
-#endif
+ irq_clear_status_flags(irq, IRQ_NOREQUEST | IRQ_NOPROBE);
}
static inline int intc_handle_int_cmp(const void *a, const void *b)
--
2.1.0
WARNING: multiple messages have this Message-ID (diff)
From: robh@kernel.org (Rob Herring)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 11/13] sh: kill off set_irq_flags usage
Date: Sun, 12 Jul 2015 09:26:49 -0500 [thread overview]
Message-ID: <1436711211-18223-12-git-send-email-robh@kernel.org> (raw)
In-Reply-To: <1436711211-18223-1-git-send-email-robh@kernel.org>
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>
Acked-by: Simon Horman <horms@verge.net.au>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: linux-sh at vger.kernel.org
---
drivers/sh/intc/internals.h | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/drivers/sh/intc/internals.h b/drivers/sh/intc/internals.h
index 7dff08e..897ffb1 100644
--- a/drivers/sh/intc/internals.h
+++ b/drivers/sh/intc/internals.h
@@ -99,15 +99,7 @@ static inline struct intc_desc_int *get_intc_desc(unsigned int irq)
*/
static inline void activate_irq(int irq)
{
-#ifdef CONFIG_ARM
- /* ARM requires an extra step to clear IRQ_NOREQUEST, which it
- * sets on behalf of every irq_chip. Also sets IRQ_NOPROBE.
- */
- set_irq_flags(irq, IRQF_VALID);
-#else
- /* same effect on other architectures */
- irq_set_noprobe(irq);
-#endif
+ irq_clear_status_flags(irq, IRQ_NOREQUEST | IRQ_NOPROBE);
}
static inline int intc_handle_int_cmp(const void *a, const void *b)
--
2.1.0
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: linux-arm-kernel@lists.infradead.org,
Russell King <linux@arm.linux.org.uk>
Cc: linux-kernel@vger.kernel.org, arm@kernel.org,
Magnus Damm <magnus.damm@gmail.com>,
linux-sh@vger.kernel.org
Subject: [PATCH v2 11/13] sh: kill off set_irq_flags usage
Date: Sun, 12 Jul 2015 09:26:49 -0500 [thread overview]
Message-ID: <1436711211-18223-12-git-send-email-robh@kernel.org> (raw)
In-Reply-To: <1436711211-18223-1-git-send-email-robh@kernel.org>
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>
Acked-by: Simon Horman <horms@verge.net.au>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: linux-sh@vger.kernel.org
---
drivers/sh/intc/internals.h | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/drivers/sh/intc/internals.h b/drivers/sh/intc/internals.h
index 7dff08e..897ffb1 100644
--- a/drivers/sh/intc/internals.h
+++ b/drivers/sh/intc/internals.h
@@ -99,15 +99,7 @@ static inline struct intc_desc_int *get_intc_desc(unsigned int irq)
*/
static inline void activate_irq(int irq)
{
-#ifdef CONFIG_ARM
- /* ARM requires an extra step to clear IRQ_NOREQUEST, which it
- * sets on behalf of every irq_chip. Also sets IRQ_NOPROBE.
- */
- set_irq_flags(irq, IRQF_VALID);
-#else
- /* same effect on other architectures */
- irq_set_noprobe(irq);
-#endif
+ irq_clear_status_flags(irq, IRQ_NOREQUEST | IRQ_NOPROBE);
}
static inline int intc_handle_int_cmp(const void *a, const void *b)
--
2.1.0
next prev parent reply other threads:[~2015-07-12 14:26 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-12 14:26 [PATCH v2 00/13] Kill off set_irq_flags Rob Herring
2015-07-12 14:26 ` Rob Herring
2015-07-12 14:26 ` [PATCH v2 01/13] ARM: kill off set_irq_flags usage Rob Herring
2015-07-12 14:26 ` Rob Herring
2015-07-12 14:26 ` Rob Herring
2015-07-13 3:19 ` Shawn Guo
2015-07-13 3:19 ` Shawn Guo
2015-07-14 21:14 ` Robert Jarzmik
2015-07-14 21:14 ` Robert Jarzmik
2015-07-12 14:26 ` [PATCH v2 02/13] clk: " Rob Herring
2015-07-12 14:26 ` Rob Herring
2015-07-12 14:26 ` [PATCH v2 03/13] dma: " Rob Herring
2015-07-12 14:26 ` Rob Herring
2015-07-12 14:26 ` [PATCH v2 04/13] gpio: " Rob Herring
2015-07-12 14:26 ` Rob Herring
2015-07-12 14:26 ` [PATCH v2 05/13] gpu/drm: " Rob Herring
2015-07-12 14:26 ` Rob Herring
2015-07-12 14:26 ` [PATCH v2 06/13] irqchip: " Rob Herring
2015-07-12 14:26 ` Rob Herring
2015-07-12 14:26 ` Rob Herring
2015-07-12 16:43 ` Thomas Gleixner
2015-07-12 16:43 ` Thomas Gleixner
2015-07-13 16:26 ` Rob Herring
2015-07-13 16:26 ` Rob Herring
2015-07-16 11:10 ` Thomas Gleixner
2015-07-16 11:10 ` Thomas Gleixner
2015-07-16 13:26 ` Russell King - ARM Linux
2015-07-16 13:26 ` Russell King - ARM Linux
2015-07-16 19:32 ` Robert Jarzmik
2015-07-16 19:32 ` Robert Jarzmik
2015-07-16 20:34 ` Russell King - ARM Linux
2015-07-16 20:34 ` Russell King - ARM Linux
2015-07-25 13:34 ` Gregory CLEMENT
2015-07-25 13:34 ` Gregory CLEMENT
2015-07-27 18:39 ` Rob Herring
2015-07-27 18:39 ` Rob Herring
2015-07-12 14:26 ` [PATCH v2 07/13] memory: " Rob Herring
2015-07-12 14:26 ` Rob Herring
2015-07-12 14:26 ` Rob Herring
2015-08-13 7:51 ` Tony Lindgren
2015-08-13 7:51 ` Tony Lindgren
2015-07-12 14:26 ` [PATCH v2 08/13] mfd: " Rob Herring
2015-07-12 14:26 ` Rob Herring
2015-07-12 14:26 ` Rob Herring
2015-07-12 14:26 ` [PATCH v2 09/13] PCI: " Rob Herring
2015-07-12 14:26 ` Rob Herring
2015-07-12 14:26 ` Rob Herring
2015-07-12 14:34 ` Jingoo Han
2015-07-12 14:34 ` Jingoo Han
2015-07-12 14:34 ` Jingoo Han
2015-07-12 14:26 ` [PATCH v2 10/13] pinctrl: " Rob Herring
2015-07-12 14:26 ` Rob Herring
2015-07-12 15:45 ` Tomasz Figa
2015-07-12 15:45 ` Tomasz Figa
2015-07-12 14:26 ` Rob Herring [this message]
2015-07-12 14:26 ` [PATCH v2 11/13] sh: " Rob Herring
2015-07-12 14:26 ` Rob Herring
2015-07-12 14:26 ` [PATCH v2 12/13] ARM: remove ununsed set_irq_flags Rob Herring
2015-07-12 14:26 ` Rob Herring
2015-07-12 14:26 ` [PATCH v2 13/13] arm64: " Rob Herring
2015-07-12 14:26 ` Rob Herring
2015-07-12 16:49 ` [PATCH v2 00/13] Kill off set_irq_flags Thomas Gleixner
2015-07-12 16:49 ` Thomas Gleixner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1436711211-18223-12-git-send-email-robh@kernel.org \
--to=robh@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.