[PATCH 1/2] [ARM] pxa3xx: add set_type to the ext_wakeup irq chip.

Eric Miao eric.y.miao at gmail.com
Sun Jun 13 12:00:11 EDT 2010


On Sun, Jun 13, 2010 at 4:31 PM, Igor Grinberg <grinberg at compulab.co.il> wrote:
> pxa3xx cpu needs the irq type setup to be able to
> wakeup from low power mode on IRQ_WAKEUPx events.
>
> Signed-off-by: Igor Grinberg <grinberg at compulab.co.il>
> Signed-off-by: Mike Rapoport <mike at compulab.co.il>

OK, applied.

> ---
>  arch/arm/mach-pxa/pxa3xx.c |   12 ++++++++++++
>  1 files changed, 12 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/pxa3xx.c b/arch/arm/mach-pxa/pxa3xx.c
> index f2f4127..2d54812 100644
> --- a/arch/arm/mach-pxa/pxa3xx.c
> +++ b/arch/arm/mach-pxa/pxa3xx.c
> @@ -566,11 +566,23 @@ static void pxa_unmask_ext_wakeup(unsigned int irq)
>        PECR |= PECR_IE(irq - IRQ_WAKEUP0);
>  }
>
> +static int pxa_set_ext_wakeup_type(unsigned int irq, unsigned int flow_type)
> +{
> +       if (flow_type & IRQ_TYPE_EDGE_RISING)
> +               PWER |= 1 << (irq - IRQ_WAKEUP0);
> +
> +       if (flow_type & IRQ_TYPE_EDGE_FALLING)
> +               PWER |= 1 << (irq - IRQ_WAKEUP0 + 2);
> +
> +       return 0;
> +}
> +
>  static struct irq_chip pxa_ext_wakeup_chip = {
>        .name           = "WAKEUP",
>        .ack            = pxa_ack_ext_wakeup,
>        .mask           = pxa_mask_ext_wakeup,
>        .unmask         = pxa_unmask_ext_wakeup,
> +       .set_type       = pxa_set_ext_wakeup_type,
>  };
>
>  static void __init pxa_init_ext_wakeup_irq(set_wake_t fn)
> --
> 1.6.4.4
>
>



More information about the linux-arm-kernel mailing list