1/* 2 * cpuidle.h - The internal header file 3 */ 4 5#ifndef __DRIVER_CPUIDLE_H 6#define __DRIVER_CPUIDLE_H 7 8#include <linux/sysdev.h> 9 10/* For internal use only */ 11extern struct cpuidle_governor *cpuidle_curr_governor; 12extern struct list_head cpuidle_governors; 13extern struct list_head cpuidle_detected_devices; 14extern struct mutex cpuidle_lock; 15extern spinlock_t cpuidle_driver_lock; 16 17/* idle loop */ 18extern void cpuidle_install_idle_handler(void); 19extern void cpuidle_uninstall_idle_handler(void); 20 21/* governors */ 22extern int cpuidle_switch_governor(struct cpuidle_governor *gov); 23 24/* sysfs */ 25extern int cpuidle_add_class_sysfs(struct sysdev_class *cls); 26extern void cpuidle_remove_class_sysfs(struct sysdev_class *cls); 27extern int cpuidle_add_state_sysfs(struct cpuidle_device *device); 28extern void cpuidle_remove_state_sysfs(struct cpuidle_device *device); 29extern int cpuidle_add_sysfs(struct sys_device *sysdev); 30extern void cpuidle_remove_sysfs(struct sys_device *sysdev); 31 32#endif /* __DRIVER_CPUIDLE_H */ 33