diff options
| author | Nicolas Pitre <nicolas.pitre@linaro.org> | 2011-08-03 06:55:31 -0400 | 
|---|---|---|
| committer | Nicolas Pitre <nico@fluxnic.net> | 2012-01-20 18:55:12 -0500 | 
| commit | 50edbf78f566bcb7749c558129a849c63ae15838 (patch) | |
| tree | 26d2d3aacfc8040763d97deb2473946011cbd2c4 | |
| parent | 8925b0f88ec3f6c65418bf5f430a16a827f4c77b (diff) | |
| download | olio-linux-3.10-50edbf78f566bcb7749c558129a849c63ae15838.tar.xz olio-linux-3.10-50edbf78f566bcb7749c558129a849c63ae15838.zip  | |
ARM: mach-h720x: move special idle code out of line
... and hook it to arm_pm_idle.
Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
| -rw-r--r-- | arch/arm/mach-h720x/common.c | 18 | ||||
| -rw-r--r-- | arch/arm/mach-h720x/include/mach/system.h | 7 | 
2 files changed, 19 insertions, 6 deletions
diff --git a/arch/arm/mach-h720x/common.c b/arch/arm/mach-h720x/common.c index f8a2f6bb548..e756d1ac00c 100644 --- a/arch/arm/mach-h720x/common.c +++ b/arch/arm/mach-h720x/common.c @@ -247,3 +247,21 @@ void h720x_restart(char mode, const char *cmd)  {  	CPU_REG (PMU_BASE, PMU_STAT) |= PMU_WARMRESET;  } + +static void h720x__idle(void) +{ +	CPU_REG (PMU_BASE, PMU_MODE) = PMU_MODE_IDLE; +	nop(); +	nop(); +	CPU_REG (PMU_BASE, PMU_MODE) = PMU_MODE_RUN; +	nop(); +	nop(); +} + +static int __init h720x_idle_init(void) +{ +	arm_pm_idle = h720x__idle; +	return 0; +} + +arch_initcall(h720x_idle_init); diff --git a/arch/arm/mach-h720x/include/mach/system.h b/arch/arm/mach-h720x/include/mach/system.h index 16ac46e239a..008ed164b25 100644 --- a/arch/arm/mach-h720x/include/mach/system.h +++ b/arch/arm/mach-h720x/include/mach/system.h @@ -16,12 +16,7 @@  static void arch_idle(void)  { -	CPU_REG (PMU_BASE, PMU_MODE) = PMU_MODE_IDLE; -	nop(); -	nop(); -	CPU_REG (PMU_BASE, PMU_MODE) = PMU_MODE_RUN; -	nop(); -	nop(); +	cpu_do_idle();  }  #endif  |