cpuidle.h 1.0 KB

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