2 #define TRACE_SYSTEM asoc
4 #if !defined(_TRACE_ASOC_H) || defined(TRACE_HEADER_MULTI_READ)
7 #include <linux/ktime.h>
8 #include <linux/tracepoint.h>
9 #include <linux/version.h>
11 #ifndef _TRACE_ASOC_DEF
12 #define _TRACE_ASOC_DEF
15 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
16 struct snd_soc_platform
;
19 struct snd_soc_dapm_widget
;
25 DECLARE_EVENT_CLASS(snd_soc_reg
,
27 TP_PROTO(struct snd_soc_codec
*codec
, unsigned int reg
,
30 TP_ARGS(codec
, reg
, val
),
33 __string( name
, codec
->name
)
35 __field( unsigned int, reg
)
36 __field( unsigned int, val
)
40 tp_strcpy(name
, codec
->name
)
41 tp_assign(id
, codec
->id
)
46 TP_printk("codec=%s.%d reg=%x val=%x", __get_str(name
),
47 (int)__entry
->id
, (unsigned int)__entry
->reg
,
48 (unsigned int)__entry
->val
)
51 DEFINE_EVENT(snd_soc_reg
, snd_soc_reg_write
,
53 TP_PROTO(struct snd_soc_codec
*codec
, unsigned int reg
,
56 TP_ARGS(codec
, reg
, val
)
60 DEFINE_EVENT(snd_soc_reg
, snd_soc_reg_read
,
62 TP_PROTO(struct snd_soc_codec
*codec
, unsigned int reg
,
65 TP_ARGS(codec
, reg
, val
)
69 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
70 DECLARE_EVENT_CLASS(snd_soc_preg
,
72 TP_PROTO(struct snd_soc_platform
*platform
, unsigned int reg
,
75 TP_ARGS(platform
, reg
, val
),
78 __string( name
, platform
->name
)
80 __field( unsigned int, reg
)
81 __field( unsigned int, val
)
85 tp_strcpy(name
, platform
->name
)
86 tp_assign(id
, platform
->id
)
91 TP_printk("platform=%s.%d reg=%x val=%x", __get_str(name
),
92 (int)__entry
->id
, (unsigned int)__entry
->reg
,
93 (unsigned int)__entry
->val
)
96 DEFINE_EVENT(snd_soc_preg
, snd_soc_preg_write
,
98 TP_PROTO(struct snd_soc_platform
*platform
, unsigned int reg
,
101 TP_ARGS(platform
, reg
, val
)
105 DEFINE_EVENT(snd_soc_preg
, snd_soc_preg_read
,
107 TP_PROTO(struct snd_soc_platform
*platform
, unsigned int reg
,
110 TP_ARGS(platform
, reg
, val
)
115 DECLARE_EVENT_CLASS(snd_soc_card
,
117 TP_PROTO(struct snd_soc_card
*card
, int val
),
122 __string( name
, card
->name
)
127 tp_strcpy(name
, card
->name
)
131 TP_printk("card=%s val=%d", __get_str(name
), (int)__entry
->val
)
134 DEFINE_EVENT(snd_soc_card
, snd_soc_bias_level_start
,
136 TP_PROTO(struct snd_soc_card
*card
, int val
),
142 DEFINE_EVENT(snd_soc_card
, snd_soc_bias_level_done
,
144 TP_PROTO(struct snd_soc_card
*card
, int val
),
150 DECLARE_EVENT_CLASS(snd_soc_dapm_basic
,
152 TP_PROTO(struct snd_soc_card
*card
),
157 __string( name
, card
->name
)
161 tp_strcpy(name
, card
->name
)
164 TP_printk("card=%s", __get_str(name
))
167 DEFINE_EVENT(snd_soc_dapm_basic
, snd_soc_dapm_start
,
169 TP_PROTO(struct snd_soc_card
*card
),
175 DEFINE_EVENT(snd_soc_dapm_basic
, snd_soc_dapm_done
,
177 TP_PROTO(struct snd_soc_card
*card
),
183 DECLARE_EVENT_CLASS(snd_soc_dapm_widget
,
185 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
190 __string( name
, w
->name
)
195 tp_strcpy(name
, w
->name
)
199 TP_printk("widget=%s val=%d", __get_str(name
),
203 DEFINE_EVENT(snd_soc_dapm_widget
, snd_soc_dapm_widget_power
,
205 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
211 DEFINE_EVENT(snd_soc_dapm_widget
, snd_soc_dapm_widget_event_start
,
213 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
219 DEFINE_EVENT(snd_soc_dapm_widget
, snd_soc_dapm_widget_event_done
,
221 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
227 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
228 TRACE_EVENT(snd_soc_dapm_walk_done
,
230 TP_PROTO(struct snd_soc_card
*card
),
235 __string( name
, card
->name
)
236 __field( int, power_checks
)
237 __field( int, path_checks
)
238 __field( int, neighbour_checks
)
242 tp_strcpy(name
, card
->name
)
243 tp_assign(power_checks
, card
->dapm_stats
.power_checks
)
244 tp_assign(path_checks
, card
->dapm_stats
.path_checks
)
245 tp_assign(neighbour_checks
, card
->dapm_stats
.neighbour_checks
)
248 TP_printk("%s: checks %d power, %d path, %d neighbour",
249 __get_str(name
), (int)__entry
->power_checks
,
250 (int)__entry
->path_checks
, (int)__entry
->neighbour_checks
)
254 TRACE_EVENT(snd_soc_jack_irq
,
256 TP_PROTO(const char *name
),
261 __string( name
, name
)
265 tp_strcpy(name
, name
)
268 TP_printk("%s", __get_str(name
))
271 TRACE_EVENT(snd_soc_jack_report
,
273 TP_PROTO(struct snd_soc_jack
*jack
, int mask
, int val
),
275 TP_ARGS(jack
, mask
, val
),
278 __string( name
, jack
->jack
->name
)
284 tp_strcpy(name
, jack
->jack
->name
)
285 tp_assign(mask
, mask
)
289 TP_printk("jack=%s %x/%x", __get_str(name
), (int)__entry
->val
,
293 TRACE_EVENT(snd_soc_jack_notify
,
295 TP_PROTO(struct snd_soc_jack
*jack
, int val
),
300 __string( name
, jack
->jack
->name
)
305 tp_strcpy(name
, jack
->jack
->name
)
309 TP_printk("jack=%s %x", __get_str(name
), (int)__entry
->val
)
312 TRACE_EVENT(snd_soc_cache_sync
,
314 TP_PROTO(struct snd_soc_codec
*codec
, const char *type
,
317 TP_ARGS(codec
, type
, status
),
320 __string( name
, codec
->name
)
321 __string( status
, status
)
322 __string( type
, type
)
327 tp_strcpy(name
, codec
->name
)
328 tp_strcpy(status
, status
)
329 tp_strcpy(type
, type
)
330 tp_assign(id
, codec
->id
)
333 TP_printk("codec=%s.%d type=%s status=%s", __get_str(name
),
334 (int)__entry
->id
, __get_str(type
), __get_str(status
))
337 #endif /* _TRACE_ASOC_H */
339 /* This part must be outside protection */
340 #include "../../../probes/define_trace.h"