diff options
Diffstat (limited to 'Documentation/cpuidle/driver.txt')
-rw-r--r-- | Documentation/cpuidle/driver.txt | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Documentation/cpuidle/driver.txt b/Documentation/cpuidle/driver.txt new file mode 100644 index 000000000000..7a9e09ece931 --- /dev/null +++ b/Documentation/cpuidle/driver.txt | |||
@@ -0,0 +1,31 @@ | |||
1 | |||
2 | |||
3 | Supporting multiple CPU idle levels in kernel | ||
4 | |||
5 | cpuidle drivers | ||
6 | |||
7 | |||
8 | |||
9 | |||
10 | cpuidle driver hooks into the cpuidle infrastructure and handles the | ||
11 | architecture/platform dependent part of CPU idle states. Driver | ||
12 | provides the platform idle state detection capability and also | ||
13 | has mechanisms in place to support actual entry-exit into CPU idle states. | ||
14 | |||
15 | cpuidle driver initializes the cpuidle_device structure for each CPU device | ||
16 | and registers with cpuidle using cpuidle_register_device. | ||
17 | |||
18 | It can also support the dynamic changes (like battery <-> AC), by using | ||
19 | cpuidle_pause_and_lock, cpuidle_disable_device and cpuidle_enable_device, | ||
20 | cpuidle_resume_and_unlock. | ||
21 | |||
22 | Interfaces: | ||
23 | extern int cpuidle_register_driver(struct cpuidle_driver *drv); | ||
24 | extern void cpuidle_unregister_driver(struct cpuidle_driver *drv); | ||
25 | extern int cpuidle_register_device(struct cpuidle_device *dev); | ||
26 | extern void cpuidle_unregister_device(struct cpuidle_device *dev); | ||
27 | |||
28 | extern void cpuidle_pause_and_lock(void); | ||
29 | extern void cpuidle_resume_and_unlock(void); | ||
30 | extern int cpuidle_enable_device(struct cpuidle_device *dev); | ||
31 | extern void cpuidle_disable_device(struct cpuidle_device *dev); | ||