diff options
Diffstat (limited to 'include/linux/cpuidle.h')
| -rw-r--r-- | include/linux/cpuidle.h | 18 | 
1 files changed, 18 insertions, 0 deletions
| diff --git a/include/linux/cpuidle.h b/include/linux/cpuidle.h index 07b83d32f66c..bb31373c3478 100644 --- a/include/linux/cpuidle.h +++ b/include/linux/cpuidle.h @@ -252,4 +252,22 @@ static inline int cpuidle_register_governor(struct cpuidle_governor *gov)  #define CPUIDLE_DRIVER_STATE_START	0  #endif +#define CPU_PM_CPU_IDLE_ENTER(low_level_idle_enter, idx)	\ +({								\ +	int __ret;						\ +								\ +	if (!idx) {						\ +		cpu_do_idle();					\ +		return idx;					\ +	}							\ +								\ +	__ret = cpu_pm_enter();					\ +	if (!__ret) {						\ +		__ret = low_level_idle_enter(idx);		\ +		cpu_pm_exit();					\ +	}							\ +								\ +	__ret ? -1 : idx;					\ +}) +  #endif /* _LINUX_CPUIDLE_H */ |