Thread (38 messages) 38 messages, 7 authors, 2016-09-18

Re: [PATCH] pinctrl: cherryview: Do not mask all interrupts on probe

From: Linus Walleij <hidden>
Date: 2016-09-13 09:18:52
Also in: lkml

On Mon, Sep 12, 2016 at 3:11 PM, Mika Westerberg
[off-list ref] wrote:
On Mon, Sep 12, 2016 at 09:04:44PM +0800, Phidias Chiang wrote:
quoted
On Mon, Sep 12, 2016 at 12:04:01PM +0300, Mika Westerberg wrote:
quoted
OK, I see what is going on now. When I changed handle_simple_irq to
handle_bad_irq, the IRQ core in __irq_do_set_handler() thinks the
handler is uninstalled and masks the line.

If you change handle_bad_irq to handle_simple_irq, in call to
gpiochip_irqchip_add(), does it work then?
Yes it does :), thank you for the support!
Thanks for testing.

So we need to use handle_simple_irq here instead.

Linus, do you see any problems with that?
I need to see the patch in its context with a commit message,
I can't figure it out from the thread.

handle_simple_irq() is for something generic not level- or
edge-triggered. If you support specific triggers only, it
should not be used.

Nominally assigning handle_bad_irq() until a specific
edge or level is requested is the right thing to do, since
the IRQ is really not configured for anything at all and
hence has undefined behaviour.

But write a patch and involve the irqchip people I guess?

Yours,
Linus Walleij
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help