* [RESEND PATCH v3 3/5] sh: kill off set_irq_flags usage [not found] <1440889285-5637-1-git-send-email-robh@kernel.org> @ 2015-08-29 23:01 ` Rob Herring 2015-08-31 5:01 ` Simon Horman 0 siblings, 1 reply; 4+ messages in thread From: Rob Herring @ 2015-08-29 23:01 UTC (permalink / raw) To: linux-arm-kernel 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: 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..6ce7f0d 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_modify_status(irq, IRQ_NOREQUEST, IRQ_NOPROBE); } static inline int intc_handle_int_cmp(const void *a, const void *b) -- 2.1.4 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [RESEND PATCH v3 3/5] sh: kill off set_irq_flags usage 2015-08-29 23:01 ` [RESEND PATCH v3 3/5] sh: kill off set_irq_flags usage Rob Herring @ 2015-08-31 5:01 ` Simon Horman 2015-08-31 12:52 ` Rob Herring 0 siblings, 1 reply; 4+ messages in thread From: Simon Horman @ 2015-08-31 5:01 UTC (permalink / raw) To: linux-arm-kernel Hi Rob, On Sat, Aug 29, 2015 at 06:01:23PM -0500, Rob Herring 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 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: Simon Horman <horms@verge.net.au> > Cc: Magnus Damm <magnus.damm@gmail.com> > Cc: linux-sh@vger.kernel.org I have queued this up. Please let me know if that was not your intent. The patch is queued up in the sh-drivers-for-v4.3 branch of my renesas tree. At this point I plan to send a pull-request once dt changes that other patches in that branch depend on hit Linus's tree via the ARM SoC tree. I anticipate that being during the rc1 or rc2 timeframe. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [RESEND PATCH v3 3/5] sh: kill off set_irq_flags usage 2015-08-31 5:01 ` Simon Horman @ 2015-08-31 12:52 ` Rob Herring 2015-09-01 1:09 ` Simon Horman 0 siblings, 1 reply; 4+ messages in thread From: Rob Herring @ 2015-08-31 12:52 UTC (permalink / raw) To: linux-arm-kernel On Mon, Aug 31, 2015 at 12:01 AM, Simon Horman <horms@verge.net.au> wrote: > Hi Rob, > > On Sat, Aug 29, 2015 at 06:01:23PM -0500, Rob Herring 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 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: Simon Horman <horms@verge.net.au> >> Cc: Magnus Damm <magnus.damm@gmail.com> >> Cc: linux-sh@vger.kernel.org > > I have queued this up. Please let me know if that was not your intent. > > The patch is queued up in the sh-drivers-for-v4.3 branch of my renesas tree. > At this point I plan to send a pull-request once dt changes that other > patches in that branch depend on hit Linus's tree via the ARM SoC tree. > I anticipate that being during the rc1 or rc2 timeframe. This needs to go in before -rc1 so the final 2 patches removing set_irq_flags can go in at the end of the merge window. Given your timeline, I think you can just leave this one for Thomas to apply with those 2. Rob ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [RESEND PATCH v3 3/5] sh: kill off set_irq_flags usage 2015-08-31 12:52 ` Rob Herring @ 2015-09-01 1:09 ` Simon Horman 0 siblings, 0 replies; 4+ messages in thread From: Simon Horman @ 2015-09-01 1:09 UTC (permalink / raw) To: linux-arm-kernel On Mon, Aug 31, 2015 at 07:52:07AM -0500, Rob Herring wrote: > On Mon, Aug 31, 2015 at 12:01 AM, Simon Horman <horms@verge.net.au> wrote: > > Hi Rob, > > > > On Sat, Aug 29, 2015 at 06:01:23PM -0500, Rob Herring 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 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: Simon Horman <horms@verge.net.au> > >> Cc: Magnus Damm <magnus.damm@gmail.com> > >> Cc: linux-sh@vger.kernel.org > > > > I have queued this up. Please let me know if that was not your intent. > > > > The patch is queued up in the sh-drivers-for-v4.3 branch of my renesas tree. > > At this point I plan to send a pull-request once dt changes that other > > patches in that branch depend on hit Linus's tree via the ARM SoC tree. > > I anticipate that being during the rc1 or rc2 timeframe. > > This needs to go in before -rc1 so the final 2 patches removing > set_irq_flags can go in at the end of the merge window. Given your > timeline, I think you can just leave this one for Thomas to apply with > those 2. Sure, will do. ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-09-01 1:09 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <1440889285-5637-1-git-send-email-robh@kernel.org> 2015-08-29 23:01 ` [RESEND PATCH v3 3/5] sh: kill off set_irq_flags usage Rob Herring 2015-08-31 5:01 ` Simon Horman 2015-08-31 12:52 ` Rob Herring 2015-09-01 1:09 ` Simon Horman
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).