aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa/pxa25x.c
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2008-05-08 11:50:39 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-05-08 13:04:02 -0400
commitdc38e2ad53ca27968919dea6d7fa60575782d5a6 (patch)
treec7311b540e910ee4e001197ace16470d94e51806 /arch/arm/mach-pxa/pxa25x.c
parentffebabe0bf0de9ee500d4605d6acb71e1ee3b79f (diff)
[ARM] pxa: Fix RCSR handling
Related to d3930614e68bdf83a120d904c039a64e9f75dba1. RCSR is only present on PXA2xx CPUs, not on PXA3xx CPUs. Therefore, we should not be unconditionally writing to RCSR from generic code. Since we now clear the RCSR status from the SoC specific PXA PM code and before reset in the arch_reset() function, the duplication in the corgi, poodle, spitz and tosa code can be removed. Acked-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-pxa/pxa25x.c')
-rw-r--r--arch/arm/mach-pxa/pxa25x.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c
index 3642f81f8f0e..e5b417d14bb0 100644
--- a/arch/arm/mach-pxa/pxa25x.c
+++ b/arch/arm/mach-pxa/pxa25x.c
@@ -198,6 +198,9 @@ static void pxa25x_cpu_pm_restore(unsigned long *sleep_save)
198 198
199static void pxa25x_cpu_pm_enter(suspend_state_t state) 199static void pxa25x_cpu_pm_enter(suspend_state_t state)
200{ 200{
201 /* Clear reset status */
202 RCSR = RCSR_HWR | RCSR_WDR | RCSR_SMR | RCSR_GPR;
203
201 switch (state) { 204 switch (state) {
202 case PM_SUSPEND_MEM: 205 case PM_SUSPEND_MEM:
203 /* set resume return address */ 206 /* set resume return address */