Fix: remove regmap instrumentation for kernels < 4.1
[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
206584b2
MD
17/*
18 * Log register events
19 */
20LTTNG_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
44LTTNG_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
52LTTNG_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)
b87700e3 59
206584b2
MD
60LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_read_cache,
61
62 TP_PROTO(struct regmap *map, unsigned int reg,
63 unsigned int val),
b87700e3 64
206584b2
MD
65 TP_ARGS(map, reg, val)
66)
b87700e3 67
206584b2
MD
68LTTNG_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
91LTTNG_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
98LTTNG_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
105LTTNG_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
112LTTNG_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)
b87700e3 118
206584b2
MD
119LTTNG_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)
206584b2 141
206584b2 142LTTNG_TRACEPOINT_EVENT_CLASS(regmap_bool,
b87700e3 143
206584b2
MD
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
162LTTNG_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
169LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_bool, regmap_cache_bypass,
170
171 TP_PROTO(struct regmap *map, bool flag),
172
173 TP_ARGS(map, flag)
174)
b87700e3 175
3bc29f0a 176#endif /* LTTNG_TRACE_REGMAP_H */
b87700e3
AG
177
178/* This part must be outside protection */
179#include "../../../probes/define_trace.h"
This page took 0.032431 seconds and 4 git commands to generate.