Message ID | 1440889285-5637-4-git-send-email-robh@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Commit | a42be497678087e2f92a25454992ca32c94b418c |
Headers | show |
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. -- To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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 -- To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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. -- To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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)