Implement filtering infrastructure
[lttng-modules.git] / instrumentation / events / lttng-module / regmap.h
CommitLineData
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_
13struct device;
14struct regmap;
15#endif
16
17/*
18 * Log register events
19 */
3bc29f0a 20LTTNG_TRACEPOINT_EVENT_CLASS(regmap_reg,
b87700e3
AG
21
22 TP_PROTO(struct device *dev, unsigned int reg,
23 unsigned int val),
24
25 TP_ARGS(dev, reg, val),
26
27 TP_STRUCT__entry(
28 __string( name, dev_name(dev) )
29 __field( unsigned int, reg )
30 __field( unsigned int, val )
31 ),
32
33 TP_fast_assign(
34 tp_strcpy(name, dev_name(dev))
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
3bc29f0a 44LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_write,
b87700e3
AG
45
46 TP_PROTO(struct device *dev, unsigned int reg,
47 unsigned int val),
48
49 TP_ARGS(dev, reg, val)
50
51)
52
3bc29f0a 53LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_read,
b87700e3
AG
54
55 TP_PROTO(struct device *dev, unsigned int reg,
56 unsigned int val),
57
58 TP_ARGS(dev, reg, val)
59
60)
61
62#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
3bc29f0a 63LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_read_cache,
b87700e3
AG
64
65 TP_PROTO(struct device *dev, unsigned int reg,
66 unsigned int val),
67
68 TP_ARGS(dev, reg, val)
69
70)
71#endif
72
3bc29f0a 73LTTNG_TRACEPOINT_EVENT_CLASS(regmap_block,
b87700e3
AG
74
75 TP_PROTO(struct device *dev, unsigned int reg, int count),
76
77 TP_ARGS(dev, reg, count),
78
79 TP_STRUCT__entry(
80 __string( name, dev_name(dev) )
81 __field( unsigned int, reg )
82 __field( int, count )
83 ),
84
85 TP_fast_assign(
86 tp_strcpy(name, dev_name(dev))
87 tp_assign(reg, reg)
88 tp_assign(count, count)
89 ),
90
91 TP_printk("%s reg=%x count=%d", __get_str(name),
92 (unsigned int)__entry->reg,
93 (int)__entry->count)
94)
95
3bc29f0a 96LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_read_start,
b87700e3
AG
97
98 TP_PROTO(struct device *dev, unsigned int reg, int count),
99
100 TP_ARGS(dev, reg, count)
101)
102
3bc29f0a 103LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_read_done,
b87700e3
AG
104
105 TP_PROTO(struct device *dev, unsigned int reg, int count),
106
107 TP_ARGS(dev, reg, count)
108)
109
3bc29f0a 110LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_write_start,
b87700e3
AG
111
112 TP_PROTO(struct device *dev, unsigned int reg, int count),
113
114 TP_ARGS(dev, reg, count)
115)
116
3bc29f0a 117LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_write_done,
b87700e3
AG
118
119 TP_PROTO(struct device *dev, unsigned int reg, int count),
120
121 TP_ARGS(dev, reg, count)
122)
123
9bbf98da
MD
124LTTNG_TRACEPOINT_EVENT_MAP(regcache_sync,
125
126 regmap_regcache_sync,
b87700e3
AG
127
128 TP_PROTO(struct device *dev, const char *type,
129 const char *status),
130
131 TP_ARGS(dev, type, status),
132
133 TP_STRUCT__entry(
134 __string( name, dev_name(dev) )
135 __string( status, status )
136 __string( type, type )
137 ),
138
139 TP_fast_assign(
140 tp_strcpy(name, dev_name(dev))
141 tp_strcpy(status, status)
142 tp_strcpy(type, type)
143 ),
144
145 TP_printk("%s type=%s status=%s", __get_str(name),
146 __get_str(type), __get_str(status))
147)
148
149#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
3bc29f0a 150LTTNG_TRACEPOINT_EVENT_CLASS(regmap_bool,
b87700e3
AG
151
152 TP_PROTO(struct device *dev, bool flag),
153
154 TP_ARGS(dev, flag),
155
156 TP_STRUCT__entry(
157 __string( name, dev_name(dev) )
158 __field( int, flag )
159 ),
160
161 TP_fast_assign(
162 tp_strcpy(name, dev_name(dev))
163 tp_assign(flag, flag)
164 ),
165
166 TP_printk("%s flag=%d", __get_str(name),
167 (int)__entry->flag)
168)
169
3bc29f0a 170LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_bool, regmap_cache_only,
b87700e3
AG
171
172 TP_PROTO(struct device *dev, bool flag),
173
174 TP_ARGS(dev, flag)
175
176)
177
3bc29f0a 178LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_bool, regmap_cache_bypass,
b87700e3
AG
179
180 TP_PROTO(struct device *dev, bool flag),
181
182 TP_ARGS(dev, flag)
183
184)
185#endif
186
3bc29f0a 187#endif /* LTTNG_TRACE_REGMAP_H */
b87700e3
AG
188
189/* This part must be outside protection */
190#include "../../../probes/define_trace.h"
This page took 0.031549 seconds and 4 git commands to generate.