aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2011-07-02 04:54:01 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2011-07-02 04:54:01 -0400
commit29cb3cd208dd0e4471bb80bec4facc49ceb199fa (patch)
tree035128bf7af997d5e1e5208c900ba78c5a1df46d /arch/arm/mach-omap2
parentcbe263497def23befb6f475977661bae5d1f82e4 (diff)
ARM: pm: allow suspend finisher to return error codes
There are SoCs where attempting to enter a low power state is ignored, and the CPU continues executing instructions with all state preserved. It is over-complex at that point to disable the MMU just to call the resume path. Instead, allow the suspend finisher to return error codes to abort suspend in this circumstance, where the cpu_suspend internals will then unwind the saved state on the stack. Also omit the tlb flush as no changes to the page tables will have happened. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r--arch/arm/mach-omap2/pm34xx.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index 7238a63e24e2..b77d82665abb 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -321,9 +321,10 @@ static void omap34xx_save_context(u32 *save)
321 *save++ = val; 321 *save++ = val;
322} 322}
323 323
324static void omap34xx_do_sram_idle(unsigned long save_state) 324static int omap34xx_do_sram_idle(unsigned long save_state)
325{ 325{
326 omap34xx_cpu_suspend(save_state); 326 omap34xx_cpu_suspend(save_state);
327 return 0;
327} 328}
328 329
329void omap_sram_idle(void) 330void omap_sram_idle(void)