Merge tag 'wireless-drivers-for-davem-2016-04-13' of git://git.kernel.org/pub/scm...
[linux-2.6-block.git] / drivers / base / regmap / trace.h
CommitLineData
fb2736bb
MB
1#undef TRACE_SYSTEM
2#define TRACE_SYSTEM regmap
3
4#if !defined(_TRACE_REGMAP_H) || defined(TRACE_HEADER_MULTI_READ)
5#define _TRACE_REGMAP_H
6
fb2736bb
MB
7#include <linux/ktime.h>
8#include <linux/tracepoint.h>
9
f58078da 10#include "internal.h"
fb2736bb
MB
11
12/*
13 * Log register events
14 */
15DECLARE_EVENT_CLASS(regmap_reg,
16
c6b570d9 17 TP_PROTO(struct regmap *map, unsigned int reg,
fb2736bb
MB
18 unsigned int val),
19
c6b570d9 20 TP_ARGS(map, reg, val),
fb2736bb
MB
21
22 TP_STRUCT__entry(
c6b570d9
PZ
23 __string( name, regmap_name(map) )
24 __field( unsigned int, reg )
25 __field( unsigned int, val )
fb2736bb
MB
26 ),
27
28 TP_fast_assign(
c6b570d9 29 __assign_str(name, regmap_name(map));
fb2736bb
MB
30 __entry->reg = reg;
31 __entry->val = val;
32 ),
33
34 TP_printk("%s reg=%x val=%x", __get_str(name),
35 (unsigned int)__entry->reg,
36 (unsigned int)__entry->val)
37);
38
39DEFINE_EVENT(regmap_reg, regmap_reg_write,
40
c6b570d9 41 TP_PROTO(struct regmap *map, unsigned int reg,
fb2736bb
MB
42 unsigned int val),
43
c6b570d9 44 TP_ARGS(map, reg, val)
fb2736bb
MB
45
46);
47
48DEFINE_EVENT(regmap_reg, regmap_reg_read,
49
c6b570d9 50 TP_PROTO(struct regmap *map, unsigned int reg,
fb2736bb
MB
51 unsigned int val),
52
c6b570d9 53 TP_ARGS(map, reg, val)
fb2736bb
MB
54
55);
56
bc7ee556
MB
57DEFINE_EVENT(regmap_reg, regmap_reg_read_cache,
58
c6b570d9 59 TP_PROTO(struct regmap *map, unsigned int reg,
bc7ee556
MB
60 unsigned int val),
61
c6b570d9 62 TP_ARGS(map, reg, val)
bc7ee556
MB
63
64);
65
fb2736bb
MB
66DECLARE_EVENT_CLASS(regmap_block,
67
c6b570d9 68 TP_PROTO(struct regmap *map, unsigned int reg, int count),
fb2736bb 69
c6b570d9 70 TP_ARGS(map, reg, count),
fb2736bb
MB
71
72 TP_STRUCT__entry(
c6b570d9
PZ
73 __string( name, regmap_name(map) )
74 __field( unsigned int, reg )
75 __field( int, count )
fb2736bb
MB
76 ),
77
78 TP_fast_assign(
c6b570d9 79 __assign_str(name, regmap_name(map));
fb2736bb
MB
80 __entry->reg = reg;
81 __entry->count = count;
82 ),
83
84 TP_printk("%s reg=%x count=%d", __get_str(name),
85 (unsigned int)__entry->reg,
3d9ead7c 86 (int)__entry->count)
fb2736bb
MB
87);
88
89DEFINE_EVENT(regmap_block, regmap_hw_read_start,
90
c6b570d9 91 TP_PROTO(struct regmap *map, unsigned int reg, int count),
fb2736bb 92
c6b570d9 93 TP_ARGS(map, reg, count)
fb2736bb
MB
94);
95
96DEFINE_EVENT(regmap_block, regmap_hw_read_done,
97
c6b570d9 98 TP_PROTO(struct regmap *map, unsigned int reg, int count),
fb2736bb 99
c6b570d9 100 TP_ARGS(map, reg, count)
fb2736bb
MB
101);
102
103DEFINE_EVENT(regmap_block, regmap_hw_write_start,
104
c6b570d9 105 TP_PROTO(struct regmap *map, unsigned int reg, int count),
fb2736bb 106
c6b570d9 107 TP_ARGS(map, reg, count)
fb2736bb
MB
108);
109
110DEFINE_EVENT(regmap_block, regmap_hw_write_done,
111
c6b570d9 112 TP_PROTO(struct regmap *map, unsigned int reg, int count),
fb2736bb 113
c6b570d9 114 TP_ARGS(map, reg, count)
fb2736bb
MB
115);
116
59360089
DP
117TRACE_EVENT(regcache_sync,
118
c6b570d9 119 TP_PROTO(struct regmap *map, const char *type,
59360089
DP
120 const char *status),
121
c6b570d9 122 TP_ARGS(map, type, status),
59360089
DP
123
124 TP_STRUCT__entry(
c6b570d9
PZ
125 __string( name, regmap_name(map) )
126 __string( status, status )
127 __string( type, type )
128 __field( int, type )
59360089
DP
129 ),
130
131 TP_fast_assign(
c6b570d9 132 __assign_str(name, regmap_name(map));
59360089
DP
133 __assign_str(status, status);
134 __assign_str(type, type);
135 ),
136
137 TP_printk("%s type=%s status=%s", __get_str(name),
138 __get_str(type), __get_str(status))
139);
140
5d5b7d4f
MB
141DECLARE_EVENT_CLASS(regmap_bool,
142
c6b570d9 143 TP_PROTO(struct regmap *map, bool flag),
5d5b7d4f 144
c6b570d9 145 TP_ARGS(map, flag),
5d5b7d4f
MB
146
147 TP_STRUCT__entry(
c6b570d9
PZ
148 __string( name, regmap_name(map) )
149 __field( int, flag )
5d5b7d4f
MB
150 ),
151
152 TP_fast_assign(
c6b570d9 153 __assign_str(name, regmap_name(map));
5d5b7d4f
MB
154 __entry->flag = flag;
155 ),
156
157 TP_printk("%s flag=%d", __get_str(name),
158 (int)__entry->flag)
159);
160
161DEFINE_EVENT(regmap_bool, regmap_cache_only,
162
c6b570d9 163 TP_PROTO(struct regmap *map, bool flag),
5d5b7d4f 164
c6b570d9 165 TP_ARGS(map, flag)
5d5b7d4f
MB
166
167);
168
169DEFINE_EVENT(regmap_bool, regmap_cache_bypass,
170
c6b570d9 171 TP_PROTO(struct regmap *map, bool flag),
5d5b7d4f 172
c6b570d9 173 TP_ARGS(map, flag)
5d5b7d4f
MB
174
175);
176
fe7d4ccd
MB
177DECLARE_EVENT_CLASS(regmap_async,
178
c6b570d9 179 TP_PROTO(struct regmap *map),
fe7d4ccd 180
c6b570d9 181 TP_ARGS(map),
fe7d4ccd
MB
182
183 TP_STRUCT__entry(
c6b570d9 184 __string( name, regmap_name(map) )
fe7d4ccd
MB
185 ),
186
187 TP_fast_assign(
c6b570d9 188 __assign_str(name, regmap_name(map));
fe7d4ccd
MB
189 ),
190
191 TP_printk("%s", __get_str(name))
192);
193
194DEFINE_EVENT(regmap_block, regmap_async_write_start,
195
c6b570d9 196 TP_PROTO(struct regmap *map, unsigned int reg, int count),
fe7d4ccd 197
c6b570d9 198 TP_ARGS(map, reg, count)
fe7d4ccd
MB
199);
200
201DEFINE_EVENT(regmap_async, regmap_async_io_complete,
202
c6b570d9 203 TP_PROTO(struct regmap *map),
fe7d4ccd 204
c6b570d9 205 TP_ARGS(map)
fe7d4ccd
MB
206
207);
208
209DEFINE_EVENT(regmap_async, regmap_async_complete_start,
210
c6b570d9 211 TP_PROTO(struct regmap *map),
fe7d4ccd 212
c6b570d9 213 TP_ARGS(map)
fe7d4ccd
MB
214
215);
216
217DEFINE_EVENT(regmap_async, regmap_async_complete_done,
218
c6b570d9 219 TP_PROTO(struct regmap *map),
fe7d4ccd 220
c6b570d9 221 TP_ARGS(map)
fe7d4ccd
MB
222
223);
224
697e85bc
MB
225TRACE_EVENT(regcache_drop_region,
226
c6b570d9 227 TP_PROTO(struct regmap *map, unsigned int from,
697e85bc
MB
228 unsigned int to),
229
c6b570d9 230 TP_ARGS(map, from, to),
697e85bc
MB
231
232 TP_STRUCT__entry(
c6b570d9
PZ
233 __string( name, regmap_name(map) )
234 __field( unsigned int, from )
235 __field( unsigned int, to )
697e85bc
MB
236 ),
237
238 TP_fast_assign(
c6b570d9 239 __assign_str(name, regmap_name(map));
697e85bc
MB
240 __entry->from = from;
241 __entry->to = to;
242 ),
243
244 TP_printk("%s %u-%u", __get_str(name), (unsigned int)__entry->from,
245 (unsigned int)__entry->to)
246);
247
fb2736bb
MB
248#endif /* _TRACE_REGMAP_H */
249
f58078da
SR
250#undef TRACE_INCLUDE_PATH
251#define TRACE_INCLUDE_PATH .
252
253#undef TRACE_INCLUDE_FILE
254#define TRACE_INCLUDE_FILE trace
255
fb2736bb
MB
256/* This part must be outside protection */
257#include <trace/define_trace.h>