|
@@ -45,6 +45,7 @@ static struct gpio_controller __iomem * __init gpio2controller(unsigned gpio)
|
|
|
return __gpio_to_controller(gpio);
|
|
|
}
|
|
|
|
|
|
+static int __init davinci_gpio_irq_setup(void);
|
|
|
|
|
|
/*--------------------------------------------------------------------------*/
|
|
|
|
|
@@ -157,6 +158,7 @@ static int __init davinci_gpio_setup(void)
|
|
|
gpiochip_add(&chips[i].chip);
|
|
|
}
|
|
|
|
|
|
+ davinci_gpio_irq_setup();
|
|
|
return 0;
|
|
|
}
|
|
|
pure_initcall(davinci_gpio_setup);
|
|
@@ -238,6 +240,7 @@ gpio_irq_handler(unsigned irq, struct irq_desc *desc)
|
|
|
mask <<= 16;
|
|
|
|
|
|
/* temporarily mask (level sensitive) parent IRQ */
|
|
|
+ desc->chip->mask(irq);
|
|
|
desc->chip->ack(irq);
|
|
|
while (1) {
|
|
|
u32 status;
|
|
@@ -333,4 +336,3 @@ static int __init davinci_gpio_irq_setup(void)
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
|
-arch_initcall(davinci_gpio_irq_setup);
|