xref: /openbmc/linux/include/trace/events/asoc.h (revision 22fd411a)
1 #undef TRACE_SYSTEM
2 #define TRACE_SYSTEM asoc
3 
4 #if !defined(_TRACE_ASOC_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define _TRACE_ASOC_H
6 
7 #include <linux/ktime.h>
8 #include <linux/tracepoint.h>
9 
10 struct snd_soc_jack;
11 struct snd_soc_codec;
12 struct snd_soc_card;
13 struct snd_soc_dapm_widget;
14 
15 /*
16  * Log register events
17  */
18 DECLARE_EVENT_CLASS(snd_soc_reg,
19 
20 	TP_PROTO(struct snd_soc_codec *codec, unsigned int reg,
21 		 unsigned int val),
22 
23 	TP_ARGS(codec, reg, val),
24 
25 	TP_STRUCT__entry(
26 		__string(	name,		codec->name	)
27 		__field(	int,		id		)
28 		__field(	unsigned int,	reg		)
29 		__field(	unsigned int,	val		)
30 	),
31 
32 	TP_fast_assign(
33 		__assign_str(name, codec->name);
34 		__entry->id = codec->id;
35 		__entry->reg = reg;
36 		__entry->val = val;
37 	),
38 
39 	TP_printk("codec=%s.%d reg=%x val=%x", __get_str(name),
40 		  (int)__entry->id, (unsigned int)__entry->reg,
41 		  (unsigned int)__entry->val)
42 );
43 
44 DEFINE_EVENT(snd_soc_reg, snd_soc_reg_write,
45 
46 	TP_PROTO(struct snd_soc_codec *codec, unsigned int reg,
47 		 unsigned int val),
48 
49 	TP_ARGS(codec, reg, val)
50 
51 );
52 
53 DEFINE_EVENT(snd_soc_reg, snd_soc_reg_read,
54 
55 	TP_PROTO(struct snd_soc_codec *codec, unsigned int reg,
56 		 unsigned int val),
57 
58 	TP_ARGS(codec, reg, val)
59 
60 );
61 
62 DECLARE_EVENT_CLASS(snd_soc_card,
63 
64 	TP_PROTO(struct snd_soc_card *card, int val),
65 
66 	TP_ARGS(card, val),
67 
68 	TP_STRUCT__entry(
69 		__string(	name,		card->name	)
70 		__field(	int,		val		)
71 	),
72 
73 	TP_fast_assign(
74 		__assign_str(name, card->name);
75 		__entry->val = val;
76 	),
77 
78 	TP_printk("card=%s val=%d", __get_str(name), (int)__entry->val)
79 );
80 
81 DEFINE_EVENT(snd_soc_card, snd_soc_bias_level_start,
82 
83 	TP_PROTO(struct snd_soc_card *card, int val),
84 
85 	TP_ARGS(card, val)
86 
87 );
88 
89 DEFINE_EVENT(snd_soc_card, snd_soc_bias_level_done,
90 
91 	TP_PROTO(struct snd_soc_card *card, int val),
92 
93 	TP_ARGS(card, val)
94 
95 );
96 
97 DECLARE_EVENT_CLASS(snd_soc_dapm_basic,
98 
99 	TP_PROTO(struct snd_soc_card *card),
100 
101 	TP_ARGS(card),
102 
103 	TP_STRUCT__entry(
104 		__string(	name,	card->name	)
105 	),
106 
107 	TP_fast_assign(
108 		__assign_str(name, card->name);
109 	),
110 
111 	TP_printk("card=%s", __get_str(name))
112 );
113 
114 DEFINE_EVENT(snd_soc_dapm_basic, snd_soc_dapm_start,
115 
116 	TP_PROTO(struct snd_soc_card *card),
117 
118 	TP_ARGS(card)
119 
120 );
121 
122 DEFINE_EVENT(snd_soc_dapm_basic, snd_soc_dapm_done,
123 
124 	TP_PROTO(struct snd_soc_card *card),
125 
126 	TP_ARGS(card)
127 
128 );
129 
130 DECLARE_EVENT_CLASS(snd_soc_dapm_widget,
131 
132 	TP_PROTO(struct snd_soc_dapm_widget *w, int val),
133 
134 	TP_ARGS(w, val),
135 
136 	TP_STRUCT__entry(
137 		__string(	name,	w->name		)
138 		__field(	int,	val		)
139 	),
140 
141 	TP_fast_assign(
142 		__assign_str(name, w->name);
143 		__entry->val = val;
144 	),
145 
146 	TP_printk("widget=%s val=%d", __get_str(name),
147 		  (int)__entry->val)
148 );
149 
150 DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_power,
151 
152 	TP_PROTO(struct snd_soc_dapm_widget *w, int val),
153 
154 	TP_ARGS(w, val)
155 
156 );
157 
158 DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_event_start,
159 
160 	TP_PROTO(struct snd_soc_dapm_widget *w, int val),
161 
162 	TP_ARGS(w, val)
163 
164 );
165 
166 DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_event_done,
167 
168 	TP_PROTO(struct snd_soc_dapm_widget *w, int val),
169 
170 	TP_ARGS(w, val)
171 
172 );
173 
174 TRACE_EVENT(snd_soc_jack_irq,
175 
176 	TP_PROTO(const char *name),
177 
178 	TP_ARGS(name),
179 
180 	TP_STRUCT__entry(
181 		__string(	name,	name		)
182 	),
183 
184 	TP_fast_assign(
185 		__assign_str(name, name);
186 	),
187 
188 	TP_printk("%s", __get_str(name))
189 );
190 
191 TRACE_EVENT(snd_soc_jack_report,
192 
193 	TP_PROTO(struct snd_soc_jack *jack, int mask, int val),
194 
195 	TP_ARGS(jack, mask, val),
196 
197 	TP_STRUCT__entry(
198 		__string(	name,		jack->jack->name	)
199 		__field(	int,		mask			)
200 		__field(	int,		val			)
201 	),
202 
203 	TP_fast_assign(
204 		__assign_str(name, jack->jack->name);
205 		__entry->mask = mask;
206 		__entry->val = val;
207 	),
208 
209 	TP_printk("jack=%s %x/%x", __get_str(name), (int)__entry->val,
210 		  (int)__entry->mask)
211 );
212 
213 TRACE_EVENT(snd_soc_jack_notify,
214 
215 	TP_PROTO(struct snd_soc_jack *jack, int val),
216 
217 	TP_ARGS(jack, val),
218 
219 	TP_STRUCT__entry(
220 		__string(	name,		jack->jack->name	)
221 		__field(	int,		val			)
222 	),
223 
224 	TP_fast_assign(
225 		__assign_str(name, jack->jack->name);
226 		__entry->val = val;
227 	),
228 
229 	TP_printk("jack=%s %x", __get_str(name), (int)__entry->val)
230 );
231 
232 #endif /* _TRACE_ASOC_H */
233 
234 /* This part must be outside protection */
235 #include <trace/define_trace.h>
236