On Wed, 2014-07-23 at 04:36PM +0200, Linus Walleij wrote:
> On Fri, Jul 18, 2014 at 11:52 AM, Lars-Peter Clausen <[email protected]> wrote:
> 
> > The Zynq GPIO interrupt handling code as two main issues:
> > 1) It does not support IRQF_ONESHOT interrupt since it uses 
> > handle_simple_irq()
> > for the interrupt handler. handle_simple_irq() does not do masking and 
> > unmasking
> > of the IRQ that is required for this chip to be able to support IRQF_ONESHOT
> > IRQs, causing the CPU to lock up in a interrupt storm if such a interrupt is
> > requested.
> > 2) Interrupts are acked after the primary interrupt handlers for all 
> > asserted
> > interrupts in a bank have been called. For edge triggered interrupt this is 
> > to
> > late and may cause a interrupt to be missed. For level triggered oneshot
> > interrupts this is to early and causes the interrupt handler to run twice 
> > per
> > interrupt.
> >
> > This patch addresses the issue by updating the driver to use the correct IRQ
> > chip handler functions that are appropriate for this kind of IRQ controller.
> 
> This looks very thought-through. I will give Harini and Soren some days
> more to react before applying (unless patch 1/3 is required to apply this).

Took me a while, but I finally got to pulling the diffs from some
web-archive and applied them on the current linux-next. I didn't test
any of the new/fixed functionality, but it doesn't break any of my old
use-cases. So, I think this is all good.

For the whole series:
Acked-by: Soren Brinkmann <[email protected]>

        Thanks,
        Sören

--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to