diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-01-28 21:59:58 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-01-28 21:59:58 +0000 |
commit | 0b6c135ea9d563f77fe121deff6f19af222b3b0e (patch) | |
tree | 3d48d7582c0d10befaa0e440c1c3c756e547edbd /arch/arm/mach-pxa/irq.c | |
parent | 00e4acb1e2352477e4d0a19dcbff2af870e8b401 (diff) | |
parent | c70f5a60994058895384f593989a9fbe6fe6adee (diff) | |
download | linux-stable-0b6c135ea9d563f77fe121deff6f19af222b3b0e.tar.gz linux-stable-0b6c135ea9d563f77fe121deff6f19af222b3b0e.tar.bz2 linux-stable-0b6c135ea9d563f77fe121deff6f19af222b3b0e.zip |
Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6
Diffstat (limited to 'arch/arm/mach-pxa/irq.c')
-rw-r--r-- | arch/arm/mach-pxa/irq.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/arch/arm/mach-pxa/irq.c b/arch/arm/mach-pxa/irq.c index 6112af431fa4..1beb40f692fc 100644 --- a/arch/arm/mach-pxa/irq.c +++ b/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; |