Fix: remove regmap instrumentation for kernels < 4.1
[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 /*
18 * Log register events
19 */
20 LTTNG_TRACEPOINT_EVENT_CLASS(regmap_reg,
21
22 TP_PROTO(struct regmap *map, unsigned int reg,
23 unsigned int val),
24
25 TP_ARGS(map, reg, val),
26
27 TP_STRUCT__entry(
28 __string( name, regmap_name(map))
29 __field( unsigned int, reg )
30 __field( unsigned int, val )
31 ),
32
33 TP_fast_assign(
34 tp_strcpy(name, regmap_name(map))
35 tp_assign(reg, reg)
36 tp_assign(val, val)
37 ),
38
39 TP_printk("%s reg=%x val=%x", __get_str(name),
40 (unsigned int)__entry->reg,
41 (unsigned int)__entry->val)
42 )
43
44 LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_write,
45
46 TP_PROTO(struct regmap *map, unsigned int reg,
47 unsigned int val),
48
49 TP_ARGS(map, reg, val)
50 )
51
52 LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_read,
53
54 TP_PROTO(struct regmap *map, unsigned int reg,
55 unsigned int val),
56
57 TP_ARGS(map, reg, val)
58 )
59
60 LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_read_cache,
61
62 TP_PROTO(struct regmap *map, unsigned int reg,
63 unsigned int val),
64
65 TP_ARGS(map, reg, val)
66 )
67
68 LTTNG_TRACEPOINT_EVENT_CLASS(regmap_block,
69
70 TP_PROTO(struct regmap *map, unsigned int reg, int count),
71
72 TP_ARGS(map, reg, count),
73
74 TP_STRUCT__entry(
75 __string( name, regmap_name(map))
76 __field( unsigned int, reg )
77 __field( int, count )
78 ),
79
80 TP_fast_assign(
81 tp_strcpy(name, regmap_name(map))
82 tp_assign(reg, reg)
83 tp_assign(count, count)
84 ),
85
86 TP_printk("%s reg=%x count=%d", __get_str(name),
87 (unsigned int)__entry->reg,
88 (int)__entry->count)
89 )
90
91 LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_read_start,
92
93 TP_PROTO(struct regmap *map, unsigned int reg, int count),
94
95 TP_ARGS(map, reg, count)
96 )
97
98 LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_read_done,
99
100 TP_PROTO(struct regmap *map, unsigned int reg, int count),
101
102 TP_ARGS(map, reg, count)
103 )
104
105 LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_write_start,
106
107 TP_PROTO(struct regmap *map, unsigned int reg, int count),
108
109 TP_ARGS(map, reg, count)
110 )
111
112 LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_write_done,
113
114 TP_PROTO(struct regmap *map, unsigned int reg, int count),
115
116 TP_ARGS(map, reg, count)
117 )
118
119 LTTNG_TRACEPOINT_EVENT(regcache_sync,
120
121 TP_PROTO(struct regmap *map, const char *type,
122 const char *status),
123
124 TP_ARGS(map, type, status),
125
126 TP_STRUCT__entry(
127 __string( name, regmap_name(map))
128 __string( status, status )
129 __string( type, type )
130 ),
131
132 TP_fast_assign(
133 tp_strcpy(name, regmap_name(map))
134 tp_strcpy(status, status)
135 tp_strcpy(type, type)
136 ),
137
138 TP_printk("%s type=%s status=%s", __get_str(name),
139 __get_str(type), __get_str(status))
140 )
141
142 LTTNG_TRACEPOINT_EVENT_CLASS(regmap_bool,
143
144 TP_PROTO(struct regmap *map, bool flag),
145
146 TP_ARGS(map, flag),
147
148 TP_STRUCT__entry(
149 __string( name, regmap_name(map))
150 __field( int, flag )
151 ),
152
153 TP_fast_assign(
154 tp_strcpy(name, regmap_name(map))
155 tp_assign(flag, flag)
156 ),
157
158 TP_printk("%s flag=%d", __get_str(name),
159 (int)__entry->flag)
160 )
161
162 LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_bool, regmap_cache_only,
163
164 TP_PROTO(struct regmap *map, bool flag),
165
166 TP_ARGS(map, flag)
167 )
168
169 LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_bool, regmap_cache_bypass,
170
171 TP_PROTO(struct regmap *map, bool flag),
172
173 TP_ARGS(map, flag)
174 )
175
176 #endif /* LTTNG_TRACE_REGMAP_H */
177
178 /* This part must be outside protection */
179 #include "../../../probes/define_trace.h"
This page took 0.032608 seconds and 4 git commands to generate.