diff options
Diffstat (limited to 'include/linux/cpuidle.h')
| -rw-r--r-- | include/linux/cpuidle.h | 11 | 
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/cpuidle.h b/include/linux/cpuidle.h index 89dcd30ac8e..040b13b5c14 100644 --- a/include/linux/cpuidle.h +++ b/include/linux/cpuidle.h @@ -58,6 +58,7 @@ struct cpuidle_state {  /* Idle State Flags */  #define CPUIDLE_FLAG_TIME_VALID	(0x01) /* is residency time measurable? */ +#define CPUIDLE_FLAG_COUPLED	(0x02) /* state applies to multiple cpus */  #define CPUIDLE_DRIVER_FLAGS_MASK (0xFFFF0000) @@ -101,6 +102,12 @@ struct cpuidle_device {  	struct list_head 	device_list;  	struct kobject		kobj;  	struct completion	kobj_unregister; + +#ifdef CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED +	int			safe_state_index; +	cpumask_t		coupled_cpus; +	struct cpuidle_coupled	*coupled; +#endif  };  DECLARE_PER_CPU(struct cpuidle_device *, cpuidle_devices); @@ -185,6 +192,10 @@ static inline int cpuidle_play_dead(void) {return -ENODEV; }  #endif +#ifdef CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED +void cpuidle_coupled_parallel_barrier(struct cpuidle_device *dev, atomic_t *a); +#endif +  /******************************   * CPUIDLE GOVERNOR INTERFACE *   ******************************/  |