From 8cc1cab8ec95b118ecc41c34ca2db4f003fbaf34 Mon Sep 17 00:00:00 2001 From: Eric Miao Date: Mon, 11 Jan 2010 20:39:37 +0800 Subject: [PATCH] --- yaml --- r: 180031 b: refs/heads/master c: c70f5a60994058895384f593989a9fbe6fe6adee h: refs/heads/master i: 180029: 7f7d7e75e1848a88e6a2d1d01508d1fcf09283dd 180027: f2ecc387dec13395d38cca0b7f629a905614e708 180023: 8147afa7f2edda541ff01109adb4da5b7805353a 180015: d1f50186c3e89a6c4d77a5f7e6f78f3ffa8df77c 179999: 0f20d0d4ef94e45258b8c75d12eb4773763c9701 179967: c95ecf0ad5183c24b250da97a79f1a0c2714398c v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-pxa/irq.c | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index cc0d0deb1e9f..1e9aab694203 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 463de2096d8040af2f79f8c4f6a61c965a5109f0 +refs/heads/master: c70f5a60994058895384f593989a9fbe6fe6adee diff --git a/trunk/arch/arm/mach-pxa/irq.c b/trunk/arch/arm/mach-pxa/irq.c index 6112af431fa4..1beb40f692fc 100644 --- a/trunk/arch/arm/mach-pxa/irq.c +++ b/trunk/arch/arm/mach-pxa/irq.c @@ -164,8 +164,11 @@ static int pxa_irq_suspend(struct sys_device *dev, pm_message_t state) saved_icmr[i] = _ICMR(irq); _ICMR(irq) = 0; } - for (i = 0; i < pxa_internal_irq_nr; i++) - saved_ipr[i] = IPR(i); + + if (cpu_is_pxa27x() || cpu_is_pxa3xx()) { + for (i = 0; i < pxa_internal_irq_nr; i++) + saved_ipr[i] = IPR(i); + } return 0; } @@ -174,12 +177,15 @@ static int pxa_irq_resume(struct sys_device *dev) { int i, irq = PXA_IRQ(0); + if (cpu_is_pxa27x() || cpu_is_pxa3xx()) { + for (i = 0; i < pxa_internal_irq_nr; i++) + IPR(i) = saved_ipr[i]; + } + for (i = 0; irq < PXA_IRQ(pxa_internal_irq_nr); i++, irq += 32) { _ICMR(irq) = saved_icmr[i]; _ICLR(irq) = 0; } - for (i = 0; i < pxa_internal_irq_nr; i++) - IPR(i) = saved_ipr[i]; ICCR = 1; return 0;