linux/Documentation/cpuidle/driver.txt
<<
>>
Prefs
   1
   2
   3                Supporting multiple CPU idle levels in kernel
   4
   5                                cpuidle drivers
   6
   7
   8
   9
  10cpuidle driver hooks into the cpuidle infrastructure and handles the
  11architecture/platform dependent part of CPU idle states. Driver
  12provides the platform idle state detection capability and also
  13has mechanisms in place to support actual entry-exit into CPU idle states.
  14
  15cpuidle driver initializes the cpuidle_device structure for each CPU device
  16and registers with cpuidle using cpuidle_register_device.
  17
  18It can also support the dynamic changes (like battery <-> AC), by using
  19cpuidle_pause_and_lock, cpuidle_disable_device and cpuidle_enable_device,
  20cpuidle_resume_and_unlock.
  21
  22Interfaces:
  23extern int cpuidle_register_driver(struct cpuidle_driver *drv);
  24extern void cpuidle_unregister_driver(struct cpuidle_driver *drv);
  25extern int cpuidle_register_device(struct cpuidle_device *dev);
  26extern void cpuidle_unregister_device(struct cpuidle_device *dev);
  27
  28extern void cpuidle_pause_and_lock(void);
  29extern void cpuidle_resume_and_unlock(void);
  30extern int cpuidle_enable_device(struct cpuidle_device *dev);
  31extern void cpuidle_disable_device(struct cpuidle_device *dev);
  32