e1a27e73f32e8f39bc895d37161c0e5873775b96
[lttng-modules.git] / instrumentation / events / lttng-module / regmap.h
1 #undef TRACE_SYSTEM
2 #define TRACE_SYSTEM regmap
3
4 #if !defined(LTTNG_TRACE_REGMAP_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define LTTNG_TRACE_REGMAP_H
6
7 #include "../../../probes/lttng-tracepoint-event.h"
8 #include <linux/ktime.h>
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
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
61 /*
62 * Log register events
63 */
64 LTTNG_TRACEPOINT_EVENT_CLASS(regmap_reg,
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
88 LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_write,
89
90 TP_PROTO(struct device *dev, unsigned int reg,
91 unsigned int val),
92
93 TP_ARGS(dev, reg, val)
94 )
95
96 LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_read,
97
98 TP_PROTO(struct device *dev, unsigned int reg,
99 unsigned int val),
100
101 TP_ARGS(dev, reg, val)
102 )
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),
110
111 TP_ARGS(map, reg, val)
112 )
113 #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
114 LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_read_cache,
115
116 TP_PROTO(struct device *dev, unsigned int reg,
117 unsigned int val),
118
119 TP_ARGS(dev, reg, val)
120 )
121 #endif
122
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
175 LTTNG_TRACEPOINT_EVENT_CLASS(regmap_block,
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
198 LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_read_start,
199
200 TP_PROTO(struct device *dev, unsigned int reg, int count),
201
202 TP_ARGS(dev, reg, count)
203 )
204
205 LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_read_done,
206
207 TP_PROTO(struct device *dev, unsigned int reg, int count),
208
209 TP_ARGS(dev, reg, count)
210 )
211
212 LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_write_start,
213
214 TP_PROTO(struct device *dev, unsigned int reg, int count),
215
216 TP_ARGS(dev, reg, count)
217 )
218
219 LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_write_done,
220
221 TP_PROTO(struct device *dev, unsigned int reg, int count),
222
223 TP_ARGS(dev, reg, count)
224 )
225 #endif
226
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
251 LTTNG_TRACEPOINT_EVENT(regcache_sync,
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 )
273 #endif
274
275
276 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,4))
277 LTTNG_TRACEPOINT_EVENT_CLASS(regmap_bool,
278
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))
311 LTTNG_TRACEPOINT_EVENT_CLASS(regmap_bool,
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
331 LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_bool, regmap_cache_only,
332
333 TP_PROTO(struct device *dev, bool flag),
334
335 TP_ARGS(dev, flag)
336
337 )
338
339 LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_bool, regmap_cache_bypass,
340
341 TP_PROTO(struct device *dev, bool flag),
342
343 TP_ARGS(dev, flag)
344
345 )
346 #endif
347
348 #endif /* LTTNG_TRACE_REGMAP_H */
349
350 /* This part must be outside protection */
351 #include "../../../probes/define_trace.h"
This page took 0.036779 seconds and 3 git commands to generate.