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(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(snd_soc_reg
, snd_soc_reg_write
,
52 TP_PROTO(struct snd_soc_codec
*codec
, unsigned int reg
,
55 TP_ARGS(codec
, reg
, val
)
59 LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_reg
, snd_soc_reg_read
,
61 TP_PROTO(struct snd_soc_codec
*codec
, unsigned int reg
,
64 TP_ARGS(codec
, reg
, val
)
68 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
69 LTTNG_TRACEPOINT_EVENT_CLASS(snd_soc_preg
,
71 TP_PROTO(struct snd_soc_platform
*platform
, unsigned int reg
,
74 TP_ARGS(platform
, reg
, val
),
77 ctf_string(name
, platform
->CODEC_NAME_FIELD
)
78 ctf_integer(int, id
, platform
->CODEC_ID_FIELD
)
79 ctf_integer(unsigned int, reg
, reg
)
80 ctf_integer(unsigned int, val
, val
)
84 LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_preg
, snd_soc_preg_write
,
86 TP_PROTO(struct snd_soc_platform
*platform
, unsigned int reg
,
89 TP_ARGS(platform
, reg
, val
)
93 LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_preg
, snd_soc_preg_read
,
95 TP_PROTO(struct snd_soc_platform
*platform
, unsigned int reg
,
98 TP_ARGS(platform
, reg
, val
)
103 LTTNG_TRACEPOINT_EVENT_CLASS(snd_soc_card
,
105 TP_PROTO(struct snd_soc_card
*card
, int val
),
110 ctf_string(name
, card
->name
)
111 ctf_integer(int, val
, val
)
115 LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_card
, snd_soc_bias_level_start
,
117 TP_PROTO(struct snd_soc_card
*card
, int val
),
123 LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_card
, snd_soc_bias_level_done
,
125 TP_PROTO(struct snd_soc_card
*card
, int val
),
131 LTTNG_TRACEPOINT_EVENT_CLASS(snd_soc_dapm_basic
,
133 TP_PROTO(struct snd_soc_card
*card
),
138 ctf_string(name
, card
->name
)
142 LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_dapm_basic
, snd_soc_dapm_start
,
144 TP_PROTO(struct snd_soc_card
*card
),
150 LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_dapm_basic
, snd_soc_dapm_done
,
152 TP_PROTO(struct snd_soc_card
*card
),
158 LTTNG_TRACEPOINT_EVENT_CLASS(snd_soc_dapm_widget
,
160 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
165 ctf_string(name
, w
->name
)
166 ctf_integer(int, val
, val
)
170 LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_dapm_widget
, snd_soc_dapm_widget_power
,
172 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
178 LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_dapm_widget
, snd_soc_dapm_widget_event_start
,
180 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
186 LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_dapm_widget
, snd_soc_dapm_widget_event_done
,
188 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
194 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
195 LTTNG_TRACEPOINT_EVENT(snd_soc_dapm_walk_done
,
197 TP_PROTO(struct snd_soc_card
*card
),
202 ctf_string(name
, card
->name
)
203 ctf_integer(int, power_checks
, card
->dapm_stats
.power_checks
)
204 ctf_integer(int, path_checks
, card
->dapm_stats
.path_checks
)
205 ctf_integer(int, neighbour_checks
, card
->dapm_stats
.neighbour_checks
)
210 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
211 LTTNG_TRACEPOINT_EVENT(snd_soc_dapm_output_path
,
213 TP_PROTO(struct snd_soc_dapm_widget
*widget
,
214 struct snd_soc_dapm_path
*path
),
216 TP_ARGS(widget
, path
),
219 ctf_string(wname
, widget
->name
)
220 ctf_string(pname
, path
->name
? path
->name
: DAPM_DIRECT
)
221 ctf_string(psname
, path
->sink
->name
)
222 ctf_integer(int, path_sink
, (long) path
->sink
)
223 ctf_integer(int, path_connect
, path
->connect
)
227 LTTNG_TRACEPOINT_EVENT(snd_soc_dapm_input_path
,
229 TP_PROTO(struct snd_soc_dapm_widget
*widget
,
230 struct snd_soc_dapm_path
*path
),
232 TP_ARGS(widget
, path
),
235 ctf_string(wname
, widget
->name
)
236 ctf_string(pname
,path
->name
? path
->name
: DAPM_DIRECT
)
237 ctf_string(psname
, path
->source
->name
)
238 ctf_integer(int, path_source
, (long) path
->source
)
239 ctf_integer(int, path_connect
, path
->connect
)
243 LTTNG_TRACEPOINT_EVENT(snd_soc_dapm_connected
,
245 TP_PROTO(int paths
, int stream
),
247 TP_ARGS(paths
, stream
),
250 ctf_integer(int, paths
, paths
)
251 ctf_integer(int, stream
, stream
)
256 LTTNG_TRACEPOINT_EVENT(snd_soc_jack_irq
,
258 TP_PROTO(const char *name
),
263 ctf_string(name
, name
)
267 LTTNG_TRACEPOINT_EVENT(snd_soc_jack_report
,
269 TP_PROTO(struct snd_soc_jack
*jack
, int mask
, int val
),
271 TP_ARGS(jack
, mask
, val
),
274 ctf_string(name
, jack
->jack
->name
)
275 ctf_integer(int, mask
, mask
)
276 ctf_integer(int, val
, val
)
280 LTTNG_TRACEPOINT_EVENT(snd_soc_jack_notify
,
282 TP_PROTO(struct snd_soc_jack
*jack
, int val
),
287 ctf_string(name
, jack
->jack
->name
)
288 ctf_integer(int, val
, val
)
292 LTTNG_TRACEPOINT_EVENT(snd_soc_cache_sync
,
294 TP_PROTO(struct snd_soc_codec
*codec
, const char *type
,
297 TP_ARGS(codec
, type
, status
),
300 ctf_string(name
, codec
->CODEC_NAME_FIELD
)
301 ctf_string(status
, status
)
302 ctf_string(type
, type
)
303 ctf_integer(int, id
, codec
->CODEC_ID_FIELD
)
307 #endif /* LTTNG_TRACE_ASOC_H */
309 /* This part must be outside protection */
310 #include "../../../probes/define_trace.h"