summaryrefslogtreecommitdiffstats
path: root/arch/arm/include/asm
diff options
context:
space:
mode:
authorStephen Boyd2015-06-09 20:24:23 +0200
committerRussell King2015-06-12 22:17:17 +0200
commit32e55a777f839316ffcabd0c1a5192e5ffca55e7 (patch)
tree6912bc1737fd9f374914bb7244b5b95751086cf1 /arch/arm/include/asm
parentARM: v7 setup function should invalidate L1 cache (diff)
downloadkernel-qcow2-linux-32e55a777f839316ffcabd0c1a5192e5ffca55e7.tar.gz
kernel-qcow2-linux-32e55a777f839316ffcabd0c1a5192e5ffca55e7.tar.xz
kernel-qcow2-linux-32e55a777f839316ffcabd0c1a5192e5ffca55e7.zip
ARM: 8389/1: Add cpu_resume_arm() for firmwares that resume in ARM state
Some platforms always enter the kernel in the ARM state even if the kernel is compiled for THUMB2. Add a small wrapper on top of cpu_resume() that switches into THUMB2 state. This provides the functionality to fix a problem reported by Kevin Hilman on next-20150601 where the ifc6410 fails to boot a THUMB2 kernel because the platform's firmware always enters the kernel in ARM mode from deep idle states. (rmk: tweaked to work without BSYM->badr changes.) Reported-by: Kevin Hilman <khilman@linaro.org> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Lina Iyer <lina.iyer@linaro.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/include/asm')
-rw-r--r--arch/arm/include/asm/suspend.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/include/asm/suspend.h b/arch/arm/include/asm/suspend.h
index cd20029bcd94..6c7182f32cef 100644
--- a/arch/arm/include/asm/suspend.h
+++ b/arch/arm/include/asm/suspend.h
@@ -7,6 +7,7 @@ struct sleep_save_sp {
};
extern void cpu_resume(void);
+extern void cpu_resume_arm(void);
extern int cpu_suspend(unsigned long, int (*)(unsigned long));
#endif