Lines Matching defs:drv

42  * @drv: a valid pointer to a struct cpuidle_driver
45 * variable. If @drv is different from the registered driver, the corresponding
48 static inline void __cpuidle_unset_driver(struct cpuidle_driver *drv)
52 for_each_cpu(cpu, drv->cpumask) {
54 if (drv != __cpuidle_get_cpu_driver(cpu))
63 * @drv: a valid pointer to a struct cpuidle_driver
66 * different from drv already.
68 static inline int __cpuidle_set_driver(struct cpuidle_driver *drv)
72 for_each_cpu(cpu, drv->cpumask) {
76 if (old_drv && old_drv != drv)
80 for_each_cpu(cpu, drv->cpumask)
81 per_cpu(cpuidle_drivers, cpu) = drv;
104 * @drv: pointer to a struct cpuidle_driver object
108 static inline int __cpuidle_set_driver(struct cpuidle_driver *drv)
113 cpuidle_curr_driver = drv;
120 * @drv: a pointer to a struct cpuidle_driver
122 * Reset the global cpuidle variable to NULL. If @drv does not match the
125 static inline void __cpuidle_unset_driver(struct cpuidle_driver *drv)
127 if (drv == cpuidle_curr_driver)
152 * @drv: a valid pointer to a struct cpuidle_driver
154 static void __cpuidle_driver_init(struct cpuidle_driver *drv)
163 if (!drv->cpumask)
164 drv->cpumask = (struct cpumask *)cpu_possible_mask;
166 for (i = 0; i < drv->state_count; i++) {
167 struct cpuidle_state *s = &drv->states[i];
175 drv->bctimer = 1;
192 * @drv: a valid pointer to a struct cpuidle_driver
203 static int __cpuidle_register_driver(struct cpuidle_driver *drv)
207 if (!drv || !drv->state_count)
210 ret = cpuidle_coupled_state_verify(drv);
217 __cpuidle_driver_init(drv);
219 ret = __cpuidle_set_driver(drv);
223 if (drv->bctimer)
224 on_each_cpu_mask(drv->cpumask, cpuidle_setup_broadcast_timer,
232 * @drv: a valid pointer to a struct cpuidle_driver
239 static void __cpuidle_unregister_driver(struct cpuidle_driver *drv)
241 if (drv->bctimer) {
242 drv->bctimer = 0;
243 on_each_cpu_mask(drv->cpumask, cpuidle_setup_broadcast_timer,
247 __cpuidle_unset_driver(drv);
252 * @drv: a pointer to a valid struct cpuidle_driver
260 int cpuidle_register_driver(struct cpuidle_driver *drv)
266 ret = __cpuidle_register_driver(drv);
269 if (!ret && !strlen(param_governor) && drv->governor &&
270 (cpuidle_get_driver() == drv)) {
272 gov = cpuidle_find_governor(drv->governor);
287 * @drv: a pointer to a valid struct cpuidle_driver
290 * to [un]register the driver from occuring at the same time. @drv has to
293 void cpuidle_unregister_driver(struct cpuidle_driver *drv)
295 bool enabled = (cpuidle_get_driver() == drv);
298 __cpuidle_unregister_driver(drv);
320 struct cpuidle_driver *drv;
324 drv = __cpuidle_get_cpu_driver(cpu);
327 return drv;
349 * @drv: cpuidle driver owning the state
353 void cpuidle_driver_state_disabled(struct cpuidle_driver *drv, int idx,
362 if (!drv->cpumask) {
363 drv->states[idx].flags |= CPUIDLE_FLAG_UNUSABLE;
367 for_each_cpu(cpu, drv->cpumask) {