[PATCH 3/4] ARM: pxa: add irq ack for gpio irq
Eric Miao
eric.y.miao at gmail.com
Thu Sep 8 23:22:40 EDT 2011
On Thu, Sep 8, 2011 at 9:18 PM, Chao Xie <chao.xie at marvell.com> wrote:
> For previous pxa3xx and pxa168, pxa9xx, the interrupt controller does
> not need any ack for the interrupt.
> For next ARM V7 SMP core, it will use GIC, and it need ack for the
> interrupt.
>
> Signed-off-by: Chao Xie <chao.xie at marvell.com>
> ---
> arch/arm/plat-pxa/gpio.c | 4 ++++
> 1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/plat-pxa/gpio.c b/arch/arm/plat-pxa/gpio.c
> index 15de09d..66ae80a 100644
> --- a/arch/arm/plat-pxa/gpio.c
> +++ b/arch/arm/plat-pxa/gpio.c
> @@ -19,6 +19,7 @@
> #include <linux/slab.h>
>
> #include <mach/gpio.h>
> +#include <asm/mach/irq.h>
>
> int pxa_last_gpio;
>
> @@ -206,7 +207,9 @@ static void pxa_gpio_demux_handler(unsigned int irq, struct irq_desc *desc)
> struct pxa_gpio_chip *c;
> int loop, gpio, gpio_base, n;
> unsigned long gedr;
> + struct irq_chip *chip = irq_get_chip(irq);
>
> + chained_irq_enter(chip, desc);
> do {
> loop = 0;
> for_each_gpio_chip(gpio, c) {
> @@ -225,6 +228,7 @@ static void pxa_gpio_demux_handler(unsigned int irq, struct irq_desc *desc)
> }
> }
> } while (loop);
> + chained_irq_exit(chip, desc);
> }
>
> static void pxa_ack_muxed_gpio(struct irq_data *d)
Looks good to me.
More information about the linux-arm-kernel
mailing list