Committer: Michael Beasley <mike@snafu.setup>
[mikesnafu-overlay.git] / drivers / cpuidle / cpuidle.h
blob9476ba33ee2c119e4f7a464666758b98c76f26cc
1 /*
2 * cpuidle.h - The internal header file
3 */
5 #ifndef __DRIVER_CPUIDLE_H
6 #define __DRIVER_CPUIDLE_H
8 #include <linux/sysdev.h>
10 /* For internal use only */
11 extern struct cpuidle_governor *cpuidle_curr_governor;
12 extern struct cpuidle_driver *cpuidle_curr_driver;
13 extern struct list_head cpuidle_governors;
14 extern struct list_head cpuidle_detected_devices;
15 extern struct mutex cpuidle_lock;
16 extern spinlock_t cpuidle_driver_lock;
18 /* idle loop */
19 extern void cpuidle_install_idle_handler(void);
20 extern void cpuidle_uninstall_idle_handler(void);
22 /* governors */
23 extern int cpuidle_switch_governor(struct cpuidle_governor *gov);
25 /* sysfs */
26 extern int cpuidle_add_class_sysfs(struct sysdev_class *cls);
27 extern void cpuidle_remove_class_sysfs(struct sysdev_class *cls);
28 extern int cpuidle_add_state_sysfs(struct cpuidle_device *device);
29 extern void cpuidle_remove_state_sysfs(struct cpuidle_device *device);
30 extern int cpuidle_add_sysfs(struct sys_device *sysdev);
31 extern void cpuidle_remove_sysfs(struct sys_device *sysdev);
33 #endif /* __DRIVER_CPUIDLE_H */