Commit | Line | Data |
---|---|---|
b87700e3 AG |
1 | #undef TRACE_SYSTEM |
2 | #define TRACE_SYSTEM regmap | |
3 | ||
3bc29f0a MD |
4 | #if !defined(LTTNG_TRACE_REGMAP_H) || defined(TRACE_HEADER_MULTI_READ) |
5 | #define LTTNG_TRACE_REGMAP_H | |
b87700e3 | 6 | |
3bc29f0a | 7 | #include "../../../probes/lttng-tracepoint-event.h" |
b87700e3 | 8 | #include <linux/ktime.h> |
b87700e3 AG |
9 | #include <linux/version.h> |
10 | ||
11 | #ifndef _TRACE_REGMAP_DEF_ | |
12 | #define _TRACE_REGMAP_DEF_ | |
13 | struct device; | |
14 | struct regmap; | |
15 | #endif | |
16 | ||
206584b2 MD |
17 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,4)) |
18 | /* | |
19 | * Log register events | |
20 | */ | |
21 | LTTNG_TRACEPOINT_EVENT_CLASS(regmap_reg, | |
22 | ||
23 | TP_PROTO(struct regmap *map, unsigned int reg, | |
24 | unsigned int val), | |
25 | ||
26 | TP_ARGS(map, reg, val), | |
27 | ||
28 | TP_STRUCT__entry( | |
29 | __string( name, regmap_name(map)) | |
30 | __field( unsigned int, reg ) | |
31 | __field( unsigned int, val ) | |
32 | ), | |
33 | ||
34 | TP_fast_assign( | |
35 | tp_strcpy(name, regmap_name(map)) | |
36 | tp_assign(reg, reg) | |
37 | tp_assign(val, val) | |
38 | ), | |
39 | ||
40 | TP_printk("%s reg=%x val=%x", __get_str(name), | |
41 | (unsigned int)__entry->reg, | |
42 | (unsigned int)__entry->val) | |
43 | ) | |
44 | ||
45 | LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_write, | |
46 | ||
47 | TP_PROTO(struct regmap *map, unsigned int reg, | |
48 | unsigned int val), | |
49 | ||
50 | TP_ARGS(map, reg, val) | |
51 | ) | |
52 | ||
53 | LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_read, | |
54 | ||
55 | TP_PROTO(struct regmap *map, unsigned int reg, | |
56 | unsigned int val), | |
57 | ||
58 | TP_ARGS(map, reg, val) | |
59 | ) | |
60 | #else | |
b87700e3 AG |
61 | /* |
62 | * Log register events | |
63 | */ | |
3bc29f0a | 64 | LTTNG_TRACEPOINT_EVENT_CLASS(regmap_reg, |
b87700e3 AG |
65 | |
66 | TP_PROTO(struct device *dev, unsigned int reg, | |
67 | unsigned int val), | |
68 | ||
69 | TP_ARGS(dev, reg, val), | |
70 | ||
71 | TP_STRUCT__entry( | |
72 | __string( name, dev_name(dev) ) | |
73 | __field( unsigned int, reg ) | |
74 | __field( unsigned int, val ) | |
75 | ), | |
76 | ||
77 | TP_fast_assign( | |
78 | tp_strcpy(name, dev_name(dev)) | |
79 | tp_assign(reg, reg) | |
80 | tp_assign(val, val) | |
81 | ), | |
82 | ||
83 | TP_printk("%s reg=%x val=%x", __get_str(name), | |
84 | (unsigned int)__entry->reg, | |
85 | (unsigned int)__entry->val) | |
86 | ) | |
87 | ||
3bc29f0a | 88 | LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_write, |
b87700e3 AG |
89 | |
90 | TP_PROTO(struct device *dev, unsigned int reg, | |
91 | unsigned int val), | |
92 | ||
93 | TP_ARGS(dev, reg, val) | |
b87700e3 AG |
94 | ) |
95 | ||
3bc29f0a | 96 | LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_read, |
b87700e3 AG |
97 | |
98 | TP_PROTO(struct device *dev, unsigned int reg, | |
99 | unsigned int val), | |
100 | ||
101 | TP_ARGS(dev, reg, val) | |
b87700e3 | 102 | ) |
206584b2 MD |
103 | #endif |
104 | ||
105 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,4)) | |
106 | LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_read_cache, | |
107 | ||
108 | TP_PROTO(struct regmap *map, unsigned int reg, | |
109 | unsigned int val), | |
b87700e3 | 110 | |
206584b2 MD |
111 | TP_ARGS(map, reg, val) |
112 | ) | |
113 | #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)) | |
3bc29f0a | 114 | LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_read_cache, |
b87700e3 AG |
115 | |
116 | TP_PROTO(struct device *dev, unsigned int reg, | |
117 | unsigned int val), | |
118 | ||
119 | TP_ARGS(dev, reg, val) | |
b87700e3 AG |
120 | ) |
121 | #endif | |
122 | ||
206584b2 MD |
123 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,4)) |
124 | LTTNG_TRACEPOINT_EVENT_CLASS(regmap_block, | |
125 | ||
126 | TP_PROTO(struct regmap *map, unsigned int reg, int count), | |
127 | ||
128 | TP_ARGS(map, reg, count), | |
129 | ||
130 | TP_STRUCT__entry( | |
131 | __string( name, regmap_name(map)) | |
132 | __field( unsigned int, reg ) | |
133 | __field( int, count ) | |
134 | ), | |
135 | ||
136 | TP_fast_assign( | |
137 | tp_strcpy(name, regmap_name(map)) | |
138 | tp_assign(reg, reg) | |
139 | tp_assign(count, count) | |
140 | ), | |
141 | ||
142 | TP_printk("%s reg=%x count=%d", __get_str(name), | |
143 | (unsigned int)__entry->reg, | |
144 | (int)__entry->count) | |
145 | ) | |
146 | ||
147 | LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_read_start, | |
148 | ||
149 | TP_PROTO(struct regmap *map, unsigned int reg, int count), | |
150 | ||
151 | TP_ARGS(map, reg, count) | |
152 | ) | |
153 | ||
154 | LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_read_done, | |
155 | ||
156 | TP_PROTO(struct regmap *map, unsigned int reg, int count), | |
157 | ||
158 | TP_ARGS(map, reg, count) | |
159 | ) | |
160 | ||
161 | LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_write_start, | |
162 | ||
163 | TP_PROTO(struct regmap *map, unsigned int reg, int count), | |
164 | ||
165 | TP_ARGS(map, reg, count) | |
166 | ) | |
167 | ||
168 | LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_write_done, | |
169 | ||
170 | TP_PROTO(struct regmap *map, unsigned int reg, int count), | |
171 | ||
172 | TP_ARGS(map, reg, count) | |
173 | ) | |
174 | #else | |
3bc29f0a | 175 | LTTNG_TRACEPOINT_EVENT_CLASS(regmap_block, |
b87700e3 AG |
176 | |
177 | TP_PROTO(struct device *dev, unsigned int reg, int count), | |
178 | ||
179 | TP_ARGS(dev, reg, count), | |
180 | ||
181 | TP_STRUCT__entry( | |
182 | __string( name, dev_name(dev) ) | |
183 | __field( unsigned int, reg ) | |
184 | __field( int, count ) | |
185 | ), | |
186 | ||
187 | TP_fast_assign( | |
188 | tp_strcpy(name, dev_name(dev)) | |
189 | tp_assign(reg, reg) | |
190 | tp_assign(count, count) | |
191 | ), | |
192 | ||
193 | TP_printk("%s reg=%x count=%d", __get_str(name), | |
194 | (unsigned int)__entry->reg, | |
195 | (int)__entry->count) | |
196 | ) | |
197 | ||
3bc29f0a | 198 | LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_read_start, |
b87700e3 AG |
199 | |
200 | TP_PROTO(struct device *dev, unsigned int reg, int count), | |
201 | ||
202 | TP_ARGS(dev, reg, count) | |
203 | ) | |
204 | ||
3bc29f0a | 205 | LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_read_done, |
b87700e3 AG |
206 | |
207 | TP_PROTO(struct device *dev, unsigned int reg, int count), | |
208 | ||
209 | TP_ARGS(dev, reg, count) | |
210 | ) | |
211 | ||
3bc29f0a | 212 | LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_write_start, |
b87700e3 AG |
213 | |
214 | TP_PROTO(struct device *dev, unsigned int reg, int count), | |
215 | ||
216 | TP_ARGS(dev, reg, count) | |
217 | ) | |
218 | ||
3bc29f0a | 219 | LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_write_done, |
b87700e3 AG |
220 | |
221 | TP_PROTO(struct device *dev, unsigned int reg, int count), | |
222 | ||
223 | TP_ARGS(dev, reg, count) | |
224 | ) | |
206584b2 | 225 | #endif |
b87700e3 | 226 | |
206584b2 MD |
227 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,4)) |
228 | LTTNG_TRACEPOINT_EVENT(regcache_sync, | |
229 | ||
230 | TP_PROTO(struct regmap *map, const char *type, | |
231 | const char *status), | |
232 | ||
233 | TP_ARGS(map, type, status), | |
234 | ||
235 | TP_STRUCT__entry( | |
236 | __string( name, regmap_name(map)) | |
237 | __string( status, status ) | |
238 | __string( type, type ) | |
239 | ), | |
240 | ||
241 | TP_fast_assign( | |
242 | tp_strcpy(name, regmap_name(map)) | |
243 | tp_strcpy(status, status) | |
244 | tp_strcpy(type, type) | |
245 | ), | |
246 | ||
247 | TP_printk("%s type=%s status=%s", __get_str(name), | |
248 | __get_str(type), __get_str(status)) | |
249 | ) | |
250 | #else | |
3bc29f0a | 251 | LTTNG_TRACEPOINT_EVENT(regcache_sync, |
b87700e3 AG |
252 | |
253 | TP_PROTO(struct device *dev, const char *type, | |
254 | const char *status), | |
255 | ||
256 | TP_ARGS(dev, type, status), | |
257 | ||
258 | TP_STRUCT__entry( | |
259 | __string( name, dev_name(dev) ) | |
260 | __string( status, status ) | |
261 | __string( type, type ) | |
262 | ), | |
263 | ||
264 | TP_fast_assign( | |
265 | tp_strcpy(name, dev_name(dev)) | |
266 | tp_strcpy(status, status) | |
267 | tp_strcpy(type, type) | |
268 | ), | |
269 | ||
270 | TP_printk("%s type=%s status=%s", __get_str(name), | |
271 | __get_str(type), __get_str(status)) | |
272 | ) | |
206584b2 MD |
273 | #endif |
274 | ||
275 | ||
276 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,4)) | |
277 | LTTNG_TRACEPOINT_EVENT_CLASS(regmap_bool, | |
b87700e3 | 278 | |
206584b2 MD |
279 | TP_PROTO(struct regmap *map, bool flag), |
280 | ||
281 | TP_ARGS(map, flag), | |
282 | ||
283 | TP_STRUCT__entry( | |
284 | __string( name, regmap_name(map)) | |
285 | __field( int, flag ) | |
286 | ), | |
287 | ||
288 | TP_fast_assign( | |
289 | tp_strcpy(name, regmap_name(map)) | |
290 | tp_assign(flag, flag) | |
291 | ), | |
292 | ||
293 | TP_printk("%s flag=%d", __get_str(name), | |
294 | (int)__entry->flag) | |
295 | ) | |
296 | ||
297 | LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_bool, regmap_cache_only, | |
298 | ||
299 | TP_PROTO(struct regmap *map, bool flag), | |
300 | ||
301 | TP_ARGS(map, flag) | |
302 | ) | |
303 | ||
304 | LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_bool, regmap_cache_bypass, | |
305 | ||
306 | TP_PROTO(struct regmap *map, bool flag), | |
307 | ||
308 | TP_ARGS(map, flag) | |
309 | ) | |
310 | #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) | |
3bc29f0a | 311 | LTTNG_TRACEPOINT_EVENT_CLASS(regmap_bool, |
b87700e3 AG |
312 | |
313 | TP_PROTO(struct device *dev, bool flag), | |
314 | ||
315 | TP_ARGS(dev, flag), | |
316 | ||
317 | TP_STRUCT__entry( | |
318 | __string( name, dev_name(dev) ) | |
319 | __field( int, flag ) | |
320 | ), | |
321 | ||
322 | TP_fast_assign( | |
323 | tp_strcpy(name, dev_name(dev)) | |
324 | tp_assign(flag, flag) | |
325 | ), | |
326 | ||
327 | TP_printk("%s flag=%d", __get_str(name), | |
328 | (int)__entry->flag) | |
329 | ) | |
330 | ||
3bc29f0a | 331 | LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_bool, regmap_cache_only, |
b87700e3 AG |
332 | |
333 | TP_PROTO(struct device *dev, bool flag), | |
334 | ||
335 | TP_ARGS(dev, flag) | |
336 | ||
337 | ) | |
338 | ||
3bc29f0a | 339 | LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_bool, regmap_cache_bypass, |
b87700e3 AG |
340 | |
341 | TP_PROTO(struct device *dev, bool flag), | |
342 | ||
343 | TP_ARGS(dev, flag) | |
344 | ||
345 | ) | |
346 | #endif | |
347 | ||
3bc29f0a | 348 | #endif /* LTTNG_TRACE_REGMAP_H */ |
b87700e3 AG |
349 | |
350 | /* This part must be outside protection */ | |
351 | #include "../../../probes/define_trace.h" |