diff options
author | Jean Pihet <j-pihet@ti.com> | 2011-08-25 09:35:03 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2011-08-25 09:35:03 -0400 |
commit | e8db0be1245de16a6cc6365506abc392c3c212d4 (patch) | |
tree | 01cf446568080c06c8797262554f3b0f758ae137 /include/linux/pm_qos.h | |
parent | b5e8d269d814763d597ccc0108d1fa6639ad35a1 (diff) |
PM QoS: Move and rename the implementation files
The PM QoS implementation files are better named
kernel/power/qos.c and include/linux/pm_qos.h.
The PM QoS support is compiled under the CONFIG_PM option.
Signed-off-by: Jean Pihet <j-pihet@ti.com>
Acked-by: markgross <markgross@thegnar.org>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'include/linux/pm_qos.h')
-rw-r--r-- | include/linux/pm_qos.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/include/linux/pm_qos.h b/include/linux/pm_qos.h new file mode 100644 index 000000000000..7ba675413b08 --- /dev/null +++ b/include/linux/pm_qos.h | |||
@@ -0,0 +1,61 @@ | |||
1 | #ifndef _LINUX_PM_QOS_H | ||
2 | #define _LINUX_PM_QOS_H | ||
3 | /* interface for the pm_qos_power infrastructure of the linux kernel. | ||
4 | * | ||
5 | * Mark Gross <mgross@linux.intel.com> | ||
6 | */ | ||
7 | #include <linux/plist.h> | ||
8 | #include <linux/notifier.h> | ||
9 | #include <linux/miscdevice.h> | ||
10 | |||
11 | #define PM_QOS_RESERVED 0 | ||
12 | #define PM_QOS_CPU_DMA_LATENCY 1 | ||
13 | #define PM_QOS_NETWORK_LATENCY 2 | ||
14 | #define PM_QOS_NETWORK_THROUGHPUT 3 | ||
15 | |||
16 | #define PM_QOS_NUM_CLASSES 4 | ||
17 | #define PM_QOS_DEFAULT_VALUE -1 | ||
18 | |||
19 | #define PM_QOS_CPU_DMA_LAT_DEFAULT_VALUE (2000 * USEC_PER_SEC) | ||
20 | #define PM_QOS_NETWORK_LAT_DEFAULT_VALUE (2000 * USEC_PER_SEC) | ||
21 | #define PM_QOS_NETWORK_THROUGHPUT_DEFAULT_VALUE 0 | ||
22 | |||
23 | struct pm_qos_request_list { | ||
24 | struct plist_node list; | ||
25 | int pm_qos_class; | ||
26 | }; | ||
27 | |||
28 | #ifdef CONFIG_PM | ||
29 | void pm_qos_add_request(struct pm_qos_request_list *l, | ||
30 | int pm_qos_class, s32 value); | ||
31 | void pm_qos_update_request(struct pm_qos_request_list *pm_qos_req, | ||
32 | s32 new_value); | ||
33 | void pm_qos_remove_request(struct pm_qos_request_list *pm_qos_req); | ||
34 | |||
35 | int pm_qos_request(int pm_qos_class); | ||
36 | int pm_qos_add_notifier(int pm_qos_class, struct notifier_block *notifier); | ||
37 | int pm_qos_remove_notifier(int pm_qos_class, struct notifier_block *notifier); | ||
38 | int pm_qos_request_active(struct pm_qos_request_list *req); | ||
39 | #else | ||
40 | static inline void pm_qos_add_request(struct pm_qos_request_list *l, | ||
41 | int pm_qos_class, s32 value) | ||
42 | { return; } | ||
43 | static inline void pm_qos_update_request(struct pm_qos_request_list *pm_qos_req, | ||
44 | s32 new_value) | ||
45 | { return; } | ||
46 | static inline void pm_qos_remove_request(struct pm_qos_request_list *pm_qos_req) | ||
47 | { return; } | ||
48 | |||
49 | static inline int pm_qos_request(int pm_qos_class) | ||
50 | { return 0; } | ||
51 | static inline int pm_qos_add_notifier(int pm_qos_class, | ||
52 | struct notifier_block *notifier) | ||
53 | { return 0; } | ||
54 | static inline int pm_qos_remove_notifier(int pm_qos_class, | ||
55 | struct notifier_block *notifier) | ||
56 | { return 0; } | ||
57 | static inline int pm_qos_request_active(struct pm_qos_request_list *req) | ||
58 | { return 0; } | ||
59 | #endif | ||
60 | |||
61 | #endif | ||