ARM: introduce common set_auxcr/get_auxcr functions

Move the private set_auxcr/get_auxcr functions from
drivers/cpuidle/cpuidle-calxeda.c so they can be used across platforms.

Signed-off-by: Rob Herring <[email protected]>
Cc: Russell King <[email protected]>
Signed-off-by: Nicolas Pitre <[email protected]>
Acked-by: Tony Lindgren <[email protected]>
Acked-by: Santosh Shilimkar <[email protected]>
Reviewed-by: Will Deacon <[email protected]>
This commit is contained in:
Rob Herring 2013-01-16 17:57:33 -06:00 • committed by Nicolas Pitre
commit bbc8d77db6
2 changed files with 14 additions and 14 deletions

View file

@ -37,20 +37,6 @@
extern void highbank_set_cpu_jump(int cpu, void *jump_addr);
extern void *scu_base_addr;
static inline unsigned int get_auxcr(void)
{
unsigned int val;
asm("mrc p15, 0, %0, c1, c0, 1 @ get AUXCR" : "=r" (val) : : "cc");
return val;
}
static inline void set_auxcr(unsigned int val)
{
asm volatile("mcr p15, 0, %0, c1, c0, 1 @ set AUXCR"
: : "r" (val) : "cc");
isb();
}
static noinline void calxeda_idle_restore(void)
{
set_cr(get_cr() | CR_C);