diff options
Diffstat (limited to 'arch/arm/mach-pxa/pxa3xx.c')
-rw-r--r-- | arch/arm/mach-pxa/pxa3xx.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/mach-pxa/pxa3xx.c b/arch/arm/mach-pxa/pxa3xx.c index e66dc1562cd..8521d7d6f1d 100644 --- a/arch/arm/mach-pxa/pxa3xx.c +++ b/arch/arm/mach-pxa/pxa3xx.c @@ -31,6 +31,7 @@ #include <mach/ohci.h> #include <mach/pm.h> #include <mach/dma.h> +#include <mach/regs-intc.h> #include <mach/smemc.h> #include "generic.h" @@ -327,13 +328,13 @@ static void pxa_ack_ext_wakeup(struct irq_data *d) static void pxa_mask_ext_wakeup(struct irq_data *d) { - pxa_mask_irq(d); + ICMR2 &= ~(1 << ((d->irq - PXA_IRQ(0)) & 0x1f)); PECR &= ~PECR_IE(d->irq - IRQ_WAKEUP0); } static void pxa_unmask_ext_wakeup(struct irq_data *d) { - pxa_unmask_irq(d); + ICMR2 |= 1 << ((d->irq - PXA_IRQ(0)) & 0x1f); PECR |= PECR_IE(d->irq - IRQ_WAKEUP0); } |