mirror of
https://github.com/torvalds/linux.git
synced 2024-12-26 21:02:19 +00:00
32e55a777f
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>
14 lines
267 B
C
14 lines
267 B
C
#ifndef __ASM_ARM_SUSPEND_H
|
|
#define __ASM_ARM_SUSPEND_H
|
|
|
|
struct sleep_save_sp {
|
|
u32 *save_ptr_stash;
|
|
u32 save_ptr_stash_phys;
|
|
};
|
|
|
|
extern void cpu_resume(void);
|
|
extern void cpu_resume_arm(void);
|
|
extern int cpu_suspend(unsigned long, int (*)(unsigned long));
|
|
|
|
#endif
|