Commit 31c27390 authored by Dario Binacchi's avatar Dario Binacchi Committed by Greg Gallagher
Browse files

arm: ipipe: omap-gpio: Fix interrupts delivering

If you set the irq trigger as edge rising or falling the interrupts are
no longer delivered to the upper layers. The gpiokeys driver, for
example, no longer detects the change in the state of the pins mapped
to the buttons.

Fixes: c041e938

 ("arm: ipipe: Fix up the omap-gpio driver to deliver interrupts properly to the pipeline")
Signed-off-by: default avatarDario Binacchi <dariobin@libero.it>
parent 6b588b7d
......@@ -577,9 +577,6 @@ static int omap_gpio_irq_type(struct irq_data *d, unsigned type)
}
raw_spin_unlock_irqrestore(&bank->lock, flags);
#ifdef CONFIG_IPIPE
irq_set_handler_locked(d, handle_level_irq);
#else
if (type & (IRQ_TYPE_LEVEL_LOW | IRQ_TYPE_LEVEL_HIGH))
irq_set_handler_locked(d, handle_level_irq);
else if (type & (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING))
......@@ -590,7 +587,6 @@ static int omap_gpio_irq_type(struct irq_data *d, unsigned type)
* So just use handle_simple_irq.
*/
irq_set_handler_locked(d, handle_simple_irq);
#endif
return 0;
error:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment