This source file includes following definitions.
- devfreq_event_get_drvdata
- devfreq_event_enable_edev
- devfreq_event_disable_edev
- devfreq_event_is_enabled
- devfreq_event_set_event
- devfreq_event_get_event
- devfreq_event_reset_event
- devfreq_event_get_edev_by_phandle
- devfreq_event_get_edev_count
- devfreq_event_add_edev
- devfreq_event_remove_edev
- devm_devfreq_event_add_edev
- devm_devfreq_event_remove_edev
- devfreq_event_get_drvdata
1
2
3
4
5
6
7
8
9 #ifndef __LINUX_DEVFREQ_EVENT_H__
10 #define __LINUX_DEVFREQ_EVENT_H__
11
12 #include <linux/device.h>
13
14
15
16
17
18
19
20
21
22
23
24
25
26 struct devfreq_event_dev {
27 struct list_head node;
28
29 struct device dev;
30 struct mutex lock;
31 u32 enable_count;
32
33 const struct devfreq_event_desc *desc;
34 };
35
36
37
38
39
40
41
42
43
44
45
46
47 struct devfreq_event_data {
48 unsigned long load_count;
49 unsigned long total_count;
50 };
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65 struct devfreq_event_ops {
66
67 int (*enable)(struct devfreq_event_dev *edev);
68 int (*disable)(struct devfreq_event_dev *edev);
69 int (*reset)(struct devfreq_event_dev *edev);
70
71
72 int (*set_event)(struct devfreq_event_dev *edev);
73 int (*get_event)(struct devfreq_event_dev *edev,
74 struct devfreq_event_data *edata);
75 };
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92 struct devfreq_event_desc {
93 const char *name;
94 u32 event_type;
95 void *driver_data;
96
97 const struct devfreq_event_ops *ops;
98 };
99
100 #if defined(CONFIG_PM_DEVFREQ_EVENT)
101 extern int devfreq_event_enable_edev(struct devfreq_event_dev *edev);
102 extern int devfreq_event_disable_edev(struct devfreq_event_dev *edev);
103 extern bool devfreq_event_is_enabled(struct devfreq_event_dev *edev);
104 extern int devfreq_event_set_event(struct devfreq_event_dev *edev);
105 extern int devfreq_event_get_event(struct devfreq_event_dev *edev,
106 struct devfreq_event_data *edata);
107 extern int devfreq_event_reset_event(struct devfreq_event_dev *edev);
108 extern struct devfreq_event_dev *devfreq_event_get_edev_by_phandle(
109 struct device *dev, int index);
110 extern int devfreq_event_get_edev_count(struct device *dev);
111 extern struct devfreq_event_dev *devfreq_event_add_edev(struct device *dev,
112 struct devfreq_event_desc *desc);
113 extern int devfreq_event_remove_edev(struct devfreq_event_dev *edev);
114 extern struct devfreq_event_dev *devm_devfreq_event_add_edev(struct device *dev,
115 struct devfreq_event_desc *desc);
116 extern void devm_devfreq_event_remove_edev(struct device *dev,
117 struct devfreq_event_dev *edev);
118 static inline void *devfreq_event_get_drvdata(struct devfreq_event_dev *edev)
119 {
120 return edev->desc->driver_data;
121 }
122 #else
123 static inline int devfreq_event_enable_edev(struct devfreq_event_dev *edev)
124 {
125 return -EINVAL;
126 }
127
128 static inline int devfreq_event_disable_edev(struct devfreq_event_dev *edev)
129 {
130 return -EINVAL;
131 }
132
133 static inline bool devfreq_event_is_enabled(struct devfreq_event_dev *edev)
134 {
135 return false;
136 }
137
138 static inline int devfreq_event_set_event(struct devfreq_event_dev *edev)
139 {
140 return -EINVAL;
141 }
142
143 static inline int devfreq_event_get_event(struct devfreq_event_dev *edev,
144 struct devfreq_event_data *edata)
145 {
146 return -EINVAL;
147 }
148
149 static inline int devfreq_event_reset_event(struct devfreq_event_dev *edev)
150 {
151 return -EINVAL;
152 }
153
154 static inline struct devfreq_event_dev *devfreq_event_get_edev_by_phandle(
155 struct device *dev, int index)
156 {
157 return ERR_PTR(-EINVAL);
158 }
159
160 static inline int devfreq_event_get_edev_count(struct device *dev)
161 {
162 return -EINVAL;
163 }
164
165 static inline struct devfreq_event_dev *devfreq_event_add_edev(struct device *dev,
166 struct devfreq_event_desc *desc)
167 {
168 return ERR_PTR(-EINVAL);
169 }
170
171 static inline int devfreq_event_remove_edev(struct devfreq_event_dev *edev)
172 {
173 return -EINVAL;
174 }
175
176 static inline struct devfreq_event_dev *devm_devfreq_event_add_edev(
177 struct device *dev,
178 struct devfreq_event_desc *desc)
179 {
180 return ERR_PTR(-EINVAL);
181 }
182
183 static inline void devm_devfreq_event_remove_edev(struct device *dev,
184 struct devfreq_event_dev *edev)
185 {
186 }
187
188 static inline void *devfreq_event_get_drvdata(struct devfreq_event_dev *edev)
189 {
190 return NULL;
191 }
192 #endif
193
194 #endif