2 #define TRACE_SYSTEM asoc
4 #if !defined(LTTNG_TRACE_ASOC_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define LTTNG_TRACE_ASOC_H
7 #include <probes/lttng-tracepoint-event.h>
8 #include <linux/ktime.h>
9 #include <linux/version.h>
11 #define DAPM_DIRECT "(direct)"
13 #ifndef _TRACE_ASOC_DEF
14 #define _TRACE_ASOC_DEF
17 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
18 struct snd_soc_platform
;
21 struct snd_soc_dapm_widget
;
24 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0))
25 #define CODEC_NAME_FIELD component.name
26 #define CODEC_ID_FIELD component.id
28 #define CODEC_NAME_FIELD name
29 #define CODEC_ID_FIELD id
35 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_reg
,
37 TP_PROTO(struct snd_soc_codec
*codec
, unsigned int reg
,
40 TP_ARGS(codec
, reg
, val
),
43 ctf_string(name
, codec
->CODEC_NAME_FIELD
)
44 ctf_integer(int, id
, codec
->CODEC_ID_FIELD
)
45 ctf_integer(unsigned int, reg
, reg
)
46 ctf_integer(unsigned int, val
, val
)
50 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_reg
, snd_soc_reg_write
,
52 asoc_snd_soc_reg_write
,
54 TP_PROTO(struct snd_soc_codec
*codec
, unsigned int reg
,
57 TP_ARGS(codec
, reg
, val
)
61 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_reg
, snd_soc_reg_read
,
63 asoc_snd_soc_reg_read
,
65 TP_PROTO(struct snd_soc_codec
*codec
, unsigned int reg
,
68 TP_ARGS(codec
, reg
, val
)
72 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
73 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_preg
,
75 TP_PROTO(struct snd_soc_platform
*platform
, unsigned int reg
,
78 TP_ARGS(platform
, reg
, val
),
81 ctf_string(name
, platform
->CODEC_NAME_FIELD
)
82 ctf_integer(int, id
, platform
->CODEC_ID_FIELD
)
83 ctf_integer(unsigned int, reg
, reg
)
84 ctf_integer(unsigned int, val
, val
)
88 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_preg
, snd_soc_preg_write
,
90 asoc_snd_soc_preg_write
,
92 TP_PROTO(struct snd_soc_platform
*platform
, unsigned int reg
,
95 TP_ARGS(platform
, reg
, val
)
99 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_preg
, snd_soc_preg_read
,
101 asoc_snd_soc_preg_read
,
103 TP_PROTO(struct snd_soc_platform
*platform
, unsigned int reg
,
106 TP_ARGS(platform
, reg
, val
)
111 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_card
,
113 TP_PROTO(struct snd_soc_card
*card
, int val
),
118 ctf_string(name
, card
->name
)
119 ctf_integer(int, val
, val
)
123 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_card
, snd_soc_bias_level_start
,
125 asoc_snd_soc_bias_level_start
,
127 TP_PROTO(struct snd_soc_card
*card
, int val
),
133 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_card
, snd_soc_bias_level_done
,
135 asoc_snd_soc_bias_level_done
,
137 TP_PROTO(struct snd_soc_card
*card
, int val
),
143 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_basic
,
145 TP_PROTO(struct snd_soc_card
*card
),
150 ctf_string(name
, card
->name
)
154 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic
, snd_soc_dapm_start
,
156 asoc_snd_soc_dapm_start
,
158 TP_PROTO(struct snd_soc_card
*card
),
164 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic
, snd_soc_dapm_done
,
166 asoc_snd_soc_dapm_done
,
168 TP_PROTO(struct snd_soc_card
*card
),
174 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_widget
,
176 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
181 ctf_string(name
, w
->name
)
182 ctf_integer(int, val
, val
)
186 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_widget
, snd_soc_dapm_widget_power
,
188 asoc_snd_soc_dapm_widget_power
,
190 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
196 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_widget
, snd_soc_dapm_widget_event_start
,
198 asoc_snd_soc_dapm_widget_event_start
,
200 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
206 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_widget
, snd_soc_dapm_widget_event_done
,
208 asoc_snd_soc_dapm_widget_event_done
,
210 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
216 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
217 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_dapm_walk_done
,
219 asoc_snd_soc_dapm_walk_done
,
221 TP_PROTO(struct snd_soc_card
*card
),
226 ctf_string(name
, card
->name
)
227 ctf_integer(int, power_checks
, card
->dapm_stats
.power_checks
)
228 ctf_integer(int, path_checks
, card
->dapm_stats
.path_checks
)
229 ctf_integer(int, neighbour_checks
, card
->dapm_stats
.neighbour_checks
)
234 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
235 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_dapm_output_path
,
237 asoc_snd_soc_dapm_output_path
,
239 TP_PROTO(struct snd_soc_dapm_widget
*widget
,
240 struct snd_soc_dapm_path
*path
),
242 TP_ARGS(widget
, path
),
245 ctf_string(wname
, widget
->name
)
246 ctf_string(pname
, path
->name
? path
->name
: DAPM_DIRECT
)
247 ctf_string(psname
, path
->sink
->name
)
248 ctf_integer(int, path_sink
, (long) path
->sink
)
249 ctf_integer(int, path_connect
, path
->connect
)
253 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_dapm_input_path
,
255 asoc_snd_soc_dapm_input_path
,
257 TP_PROTO(struct snd_soc_dapm_widget
*widget
,
258 struct snd_soc_dapm_path
*path
),
260 TP_ARGS(widget
, path
),
263 ctf_string(wname
, widget
->name
)
264 ctf_string(pname
,path
->name
? path
->name
: DAPM_DIRECT
)
265 ctf_string(psname
, path
->source
->name
)
266 ctf_integer(int, path_source
, (long) path
->source
)
267 ctf_integer(int, path_connect
, path
->connect
)
271 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_dapm_connected
,
273 asoc_snd_soc_dapm_connected
,
275 TP_PROTO(int paths
, int stream
),
277 TP_ARGS(paths
, stream
),
280 ctf_integer(int, paths
, paths
)
281 ctf_integer(int, stream
, stream
)
286 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_jack_irq
,
288 asoc_snd_soc_jack_irq
,
290 TP_PROTO(const char *name
),
295 ctf_string(name
, name
)
299 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_jack_report
,
301 asoc_snd_soc_jack_report
,
303 TP_PROTO(struct snd_soc_jack
*jack
, int mask
, int val
),
305 TP_ARGS(jack
, mask
, val
),
308 ctf_string(name
, jack
->jack
->name
)
309 ctf_integer(int, mask
, mask
)
310 ctf_integer(int, val
, val
)
314 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_jack_notify
,
316 asoc_snd_soc_jack_notify
,
318 TP_PROTO(struct snd_soc_jack
*jack
, int val
),
323 ctf_string(name
, jack
->jack
->name
)
324 ctf_integer(int, val
, val
)
328 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_cache_sync
,
330 asoc_snd_soc_cache_sync
,
332 TP_PROTO(struct snd_soc_codec
*codec
, const char *type
,
335 TP_ARGS(codec
, type
, status
),
338 ctf_string(name
, codec
->CODEC_NAME_FIELD
)
339 ctf_string(status
, status
)
340 ctf_string(type
, type
)
341 ctf_integer(int, id
, codec
->CODEC_ID_FIELD
)
345 #endif /* LTTNG_TRACE_ASOC_H */
347 /* This part must be outside protection */
348 #include <probes/define_trace.h>