|
@@ -224,6 +224,9 @@ static int tegra_gpio_irq_set_type(struct irq_data *d, unsigned int type)
|
|
|
|
|
|
spin_unlock_irqrestore(&bank->lvl_lock[port], flags);
|
|
|
|
|
|
+ tegra_gpio_mask_write(GPIO_MSK_OE(gpio), gpio, 0);
|
|
|
+ tegra_gpio_enable(gpio);
|
|
|
+
|
|
|
if (type & (IRQ_TYPE_LEVEL_LOW | IRQ_TYPE_LEVEL_HIGH))
|
|
|
__irq_set_handler_locked(d->irq, handle_level_irq);
|
|
|
else if (type & (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING))
|