From: robh@kernel.org (Rob Herring)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 07/15] irqchip: kill off set_irq_flags usage
Date: Wed, 10 Jun 2015 12:13:30 -0500 [thread overview]
Message-ID: <CAL_JsqL+3uSBZ5yjb60xL4xt_b3xnpZvLpnKHBuCdc0Fs2udAQ@mail.gmail.com> (raw)
In-Reply-To: <1433874401-27161-8-git-send-email-robh@kernel.org>
On Tue, Jun 9, 2015 at 1:26 PM, Rob Herring <robh@kernel.org> wrote:
> 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.
[...]
> diff --git a/drivers/irqchip/irq-clps711x.c b/drivers/irqchip/irq-clps711x.c
> index 33127f1..e3609ae 100644
> --- a/drivers/irqchip/irq-clps711x.c
> +++ b/drivers/irqchip/irq-clps711x.c
> @@ -133,14 +133,14 @@ static int __init clps711x_intc_irq_map(struct irq_domain *h, unsigned int virq,
> irq_hw_number_t hw)
> {
> irq_flow_handler_t handler = handle_level_irq;
> - unsigned int flags = IRQF_VALID | IRQF_PROBE;
> + unsigned int flags = 0;
>
> if (!clps711x_irqs[hw].flags)
> return 0;
>
> if (clps711x_irqs[hw].flags & CLPS711X_FLAG_FIQ) {
> handler = handle_bad_irq;
> - flags |= IRQF_NOAUTOEN;
> + flags |= IRQ_NOAUTOEN;
> } else if (clps711x_irqs[hw].eoi) {
> handler = handle_fasteoi_irq;
> }
> @@ -150,7 +150,7 @@ static int __init clps711x_intc_irq_map(struct irq_domain *h, unsigned int virq,
> writel_relaxed(0, clps711x_intc->base + clps711x_irqs[hw].eoi);
>
> irq_set_chip_and_handler(virq, &clps711x_intc_chip, handler);
> - set_irq_flags(virq, flags);
> + irq_modify_status_flags(irq, IRQ_NOPROBE, flags);
One fix needed here:
diff --git a/drivers/irqchip/irq-clps711x.c b/drivers/irqchip/irq-clps711x.c
index e3609ae..2e74e81 100644
--- a/drivers/irqchip/irq-clps711x.c
+++ b/drivers/irqchip/irq-clps711x.c
@@ -150,7 +150,7 @@ static int __init clps711x_intc_irq_map(struct
irq_domain *h, unsigned int virq,
writel_relaxed(0, clps711x_intc->base + clps711x_irqs[hw].eoi);
irq_set_chip_and_handler(virq, &clps711x_intc_chip, handler);
- irq_modify_status_flags(irq, IRQ_NOPROBE, flags);
+ irq_modify_status(virq, IRQ_NOPROBE, flags);
return 0;
}
next prev parent reply other threads:[~2015-06-10 17:13 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-09 18:26 [PATCH 00/15] Kill off set_irq_flags Rob Herring
2015-06-09 18:26 ` [PATCH 01/15] ARM: kill off set_irq_flags usage Rob Herring
2015-06-12 9:30 ` Krzysztof Kozlowski
2015-06-12 14:05 ` Hans Ulli Kroll
2015-06-12 14:35 ` Rob Herring
2015-06-12 16:23 ` Hans Ulli Kroll
2015-06-13 11:32 ` Wan ZongShun
2015-06-09 18:26 ` [PATCH 02/15] regmap: " Rob Herring
2015-06-09 19:12 ` Mark Brown
2015-06-09 21:27 ` Russell King - ARM Linux
2015-06-09 23:20 ` Mark Brown
2015-06-09 18:26 ` [PATCH 03/15] clk: " Rob Herring
2015-06-09 18:44 ` Boris Brezillon
2015-06-09 18:52 ` Stephen Boyd
2015-06-09 18:26 ` [PATCH 04/15] dma: " Rob Herring
2015-06-09 18:26 ` [PATCH 05/15] gpio: " Rob Herring
2015-06-10 12:43 ` Linus Walleij
2015-06-09 18:26 ` [PATCH 06/15] gpu/drm: " Rob Herring
2015-06-09 18:26 ` [PATCH 07/15] irqchip: " Rob Herring
2015-06-10 17:13 ` Rob Herring [this message]
2015-06-09 18:26 ` [PATCH 08/15] memory: " Rob Herring
2015-06-11 12:18 ` Roger Quadros
2015-06-11 13:17 ` Rob Herring
2015-06-11 14:00 ` Roger Quadros
2015-06-09 18:26 ` [PATCH 09/15] mfd: " Rob Herring
2015-06-10 12:43 ` Linus Walleij
2015-06-11 8:51 ` Lee Jones
2015-06-09 18:26 ` [PATCH 10/15] PCI: " Rob Herring
2015-06-18 16:59 ` Bjorn Helgaas
2015-06-18 20:08 ` Rob Herring
2015-06-18 20:10 ` Bjorn Helgaas
2015-06-09 18:26 ` [PATCH 11/15] pinctrl: " Rob Herring
2015-06-10 12:42 ` Linus Walleij
2015-06-09 18:26 ` [PATCH 12/15] SH: " Rob Herring
2015-07-07 0:53 ` Simon Horman
2015-07-07 1:55 ` Simon Horman
2015-07-07 14:38 ` Rob Herring
2015-07-08 1:04 ` Simon Horman
2015-06-09 18:26 ` [PATCH 13/15] tty/serial: " Rob Herring
2015-06-09 18:26 ` [PATCH 14/15] ARM: remove ununsed set_irq_flags Rob Herring
2015-06-09 18:26 ` [PATCH 15/15] arm64: " Rob Herring
2015-06-10 16:56 ` Catalin Marinas
2015-06-09 20:28 ` [PATCH 00/15] Kill off set_irq_flags Russell King - ARM Linux
2015-06-09 21:23 ` Rob Herring
2015-06-10 23:32 ` Kevin Hilman
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=CAL_JsqL+3uSBZ5yjb60xL4xt_b3xnpZvLpnKHBuCdc0Fs2udAQ@mail.gmail.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).