diff options
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/sh/include/asm/suspend.h | 4 | ||||
| -rw-r--r-- | arch/sh/kernel/cpu/shmobile/cpuidle.c | 11 | ||||
| -rw-r--r-- | arch/sh/kernel/cpu/shmobile/pm.c | 3 | 
3 files changed, 11 insertions, 7 deletions
| diff --git a/arch/sh/include/asm/suspend.h b/arch/sh/include/asm/suspend.h index e14567a7e9a1..70ae0b2888ab 100644 --- a/arch/sh/include/asm/suspend.h +++ b/arch/sh/include/asm/suspend.h @@ -14,9 +14,9 @@ struct swsusp_arch_regs {  void sh_mobile_call_standby(unsigned long mode);  #ifdef CONFIG_CPU_IDLE -void sh_mobile_setup_cpuidle(void); +int sh_mobile_setup_cpuidle(void);  #else -static inline void sh_mobile_setup_cpuidle(void) {} +static inline int sh_mobile_setup_cpuidle(void) { return 0; }  #endif  /* notifier chains for pre/post sleep hooks */ diff --git a/arch/sh/kernel/cpu/shmobile/cpuidle.c b/arch/sh/kernel/cpu/shmobile/cpuidle.c index aae346811da4..ea6ab0278490 100644 --- a/arch/sh/kernel/cpu/shmobile/cpuidle.c +++ b/arch/sh/kernel/cpu/shmobile/cpuidle.c @@ -91,14 +91,19 @@ static struct cpuidle_driver cpuidle_driver = {  	.state_count = 3,  }; -void sh_mobile_setup_cpuidle(void) +int __init sh_mobile_setup_cpuidle(void)  { +	int ret; +  	if (sh_mobile_sleep_supported & SUSP_SH_SF)  		cpuidle_driver.states[1].disabled = false;  	if (sh_mobile_sleep_supported & SUSP_SH_STANDBY)  		cpuidle_driver.states[2].disabled = false; -	if (!cpuidle_register_driver(&cpuidle_driver)) -		cpuidle_register_device(&cpuidle_dev); +	ret = cpuidle_register_driver(&cpuidle_driver); +	if (ret) +		return ret; + +	return cpuidle_register_device(&cpuidle_dev);  } diff --git a/arch/sh/kernel/cpu/shmobile/pm.c b/arch/sh/kernel/cpu/shmobile/pm.c index 08d27fac8d08..ac37b7234f85 100644 --- a/arch/sh/kernel/cpu/shmobile/pm.c +++ b/arch/sh/kernel/cpu/shmobile/pm.c @@ -150,8 +150,7 @@ static const struct platform_suspend_ops sh_pm_ops = {  static int __init sh_pm_init(void)  {  	suspend_set_ops(&sh_pm_ops); -	sh_mobile_setup_cpuidle(); -	return 0; +	return sh_mobile_setup_cpuidle();  }  late_initcall(sh_pm_init); | 
