diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2008-05-08 16:50:39 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-05-08 18:04:02 +0100 |
commit | dc38e2ad53ca27968919dea6d7fa60575782d5a6 (patch) | |
tree | c7311b540e910ee4e001197ace16470d94e51806 /arch/arm/mach-pxa/pxa27x.c | |
parent | ffebabe0bf0de9ee500d4605d6acb71e1ee3b79f (diff) | |
download | kernel_samsung_smdk4412-dc38e2ad53ca27968919dea6d7fa60575782d5a6.zip kernel_samsung_smdk4412-dc38e2ad53ca27968919dea6d7fa60575782d5a6.tar.gz kernel_samsung_smdk4412-dc38e2ad53ca27968919dea6d7fa60575782d5a6.tar.bz2 |
[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/pxa27x.c')
-rw-r--r-- | arch/arm/mach-pxa/pxa27x.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index 505dcca..7e94583 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c @@ -249,6 +249,9 @@ void pxa27x_cpu_pm_enter(suspend_state_t state) /* Clear edge-detect status register. */ PEDR = 0xDF12FE1B; + /* Clear reset status */ + RCSR = RCSR_HWR | RCSR_WDR | RCSR_SMR | RCSR_GPR; + switch (state) { case PM_SUSPEND_STANDBY: pxa_cpu_standby(); |