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 89dcd30ac8ea..040b13b5c14a 100644 --- a/include/linux/cpuidle.h +++ b/include/linux/cpuidle.h | |||
@@ -58,6 +58,7 @@ struct cpuidle_state { | |||
58 | 58 | ||
59 | /* Idle State Flags */ | 59 | /* Idle State Flags */ |
60 | #define CPUIDLE_FLAG_TIME_VALID (0x01) /* is residency time measurable? */ | 60 | #define CPUIDLE_FLAG_TIME_VALID (0x01) /* is residency time measurable? */ |
61 | #define CPUIDLE_FLAG_COUPLED (0x02) /* state applies to multiple cpus */ | ||
61 | 62 | ||
62 | #define CPUIDLE_DRIVER_FLAGS_MASK (0xFFFF0000) | 63 | #define CPUIDLE_DRIVER_FLAGS_MASK (0xFFFF0000) |
63 | 64 | ||
@@ -101,6 +102,12 @@ struct cpuidle_device { | |||
101 | struct list_head device_list; | 102 | struct list_head device_list; |
102 | struct kobject kobj; | 103 | struct kobject kobj; |
103 | struct completion kobj_unregister; | 104 | struct completion kobj_unregister; |
105 | |||
106 | #ifdef CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED | ||
107 | int safe_state_index; | ||
108 | cpumask_t coupled_cpus; | ||
109 | struct cpuidle_coupled *coupled; | ||
110 | #endif | ||
104 | }; | 111 | }; |
105 | 112 | ||
106 | DECLARE_PER_CPU(struct cpuidle_device *, cpuidle_devices); | 113 | DECLARE_PER_CPU(struct cpuidle_device *, cpuidle_devices); |
@@ -185,6 +192,10 @@ static inline int cpuidle_play_dead(void) {return -ENODEV; } | |||
185 | 192 | ||
186 | #endif | 193 | #endif |
187 | 194 | ||
195 | #ifdef CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED | ||
196 | void cpuidle_coupled_parallel_barrier(struct cpuidle_device *dev, atomic_t *a); | ||
197 | #endif | ||
198 | |||
188 | /****************************** | 199 | /****************************** |
189 | * CPUIDLE GOVERNOR INTERFACE * | 200 | * CPUIDLE GOVERNOR INTERFACE * |
190 | ******************************/ | 201 | ******************************/ |