cpuidle.h revision 8a25a2fd126c621f44f3aeaef80d51f00fc11639
14f86d3a8e297205780cca027e974fd5f81064780Len Brown/* 24f86d3a8e297205780cca027e974fd5f81064780Len Brown * cpuidle.h - The internal header file 34f86d3a8e297205780cca027e974fd5f81064780Len Brown */ 44f86d3a8e297205780cca027e974fd5f81064780Len Brown 54f86d3a8e297205780cca027e974fd5f81064780Len Brown#ifndef __DRIVER_CPUIDLE_H 64f86d3a8e297205780cca027e974fd5f81064780Len Brown#define __DRIVER_CPUIDLE_H 74f86d3a8e297205780cca027e974fd5f81064780Len Brown 88a25a2fd126c621f44f3aeaef80d51f00fc11639Kay Sievers#include <linux/device.h> 94f86d3a8e297205780cca027e974fd5f81064780Len Brown 104f86d3a8e297205780cca027e974fd5f81064780Len Brown/* For internal use only */ 114f86d3a8e297205780cca027e974fd5f81064780Len Brownextern struct cpuidle_governor *cpuidle_curr_governor; 124f86d3a8e297205780cca027e974fd5f81064780Len Brownextern struct list_head cpuidle_governors; 134f86d3a8e297205780cca027e974fd5f81064780Len Brownextern struct list_head cpuidle_detected_devices; 144f86d3a8e297205780cca027e974fd5f81064780Len Brownextern struct mutex cpuidle_lock; 154f86d3a8e297205780cca027e974fd5f81064780Len Brownextern spinlock_t cpuidle_driver_lock; 1662027aea23fcd14478abdddd3b74a4e0f5fb2984Len Brownextern int cpuidle_disabled(void); 174f86d3a8e297205780cca027e974fd5f81064780Len Brown 184f86d3a8e297205780cca027e974fd5f81064780Len Brown/* idle loop */ 194f86d3a8e297205780cca027e974fd5f81064780Len Brownextern void cpuidle_install_idle_handler(void); 204f86d3a8e297205780cca027e974fd5f81064780Len Brownextern void cpuidle_uninstall_idle_handler(void); 214f86d3a8e297205780cca027e974fd5f81064780Len Brown 224f86d3a8e297205780cca027e974fd5f81064780Len Brown/* governors */ 234f86d3a8e297205780cca027e974fd5f81064780Len Brownextern int cpuidle_switch_governor(struct cpuidle_governor *gov); 244f86d3a8e297205780cca027e974fd5f81064780Len Brown 254f86d3a8e297205780cca027e974fd5f81064780Len Brown/* sysfs */ 268a25a2fd126c621f44f3aeaef80d51f00fc11639Kay Sieversextern int cpuidle_add_interface(struct device *dev); 278a25a2fd126c621f44f3aeaef80d51f00fc11639Kay Sieversextern void cpuidle_remove_interface(struct device *dev); 284f86d3a8e297205780cca027e974fd5f81064780Len Brownextern int cpuidle_add_state_sysfs(struct cpuidle_device *device); 294f86d3a8e297205780cca027e974fd5f81064780Len Brownextern void cpuidle_remove_state_sysfs(struct cpuidle_device *device); 308a25a2fd126c621f44f3aeaef80d51f00fc11639Kay Sieversextern int cpuidle_add_sysfs(struct device *dev); 318a25a2fd126c621f44f3aeaef80d51f00fc11639Kay Sieversextern void cpuidle_remove_sysfs(struct device *dev); 324f86d3a8e297205780cca027e974fd5f81064780Len Brown 334f86d3a8e297205780cca027e974fd5f81064780Len Brown#endif /* __DRIVER_CPUIDLE_H */ 34