diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2015-08-11 15:38:01 -0400 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-08-13 07:40:16 -0400 |
commit | 6e588a0d839b51bae49852b68740a25cacc91978 (patch) | |
tree | 45b25b05c35879cd9589bad7d3bed2ccc59444ef | |
parent | a3423b02cf745c1418f1f199646c450d6fc9ca4e (diff) |
ASoC: dapm: Consolidate path trace events
The snd_soc_dapm_input_path and snd_soc_dapm_output_path trace events are
identical except for the direction. Instead of having two events have a
single one that has a field that contains the direction.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | include/trace/events/asoc.h | 53 | ||||
-rw-r--r-- | sound/soc/soc-dapm.c | 9 |
2 files changed, 15 insertions, 47 deletions
diff --git a/include/trace/events/asoc.h b/include/trace/events/asoc.h index 88cf39d96d0f..317a1ed2f4ac 100644 --- a/include/trace/events/asoc.h +++ b/include/trace/events/asoc.h | |||
@@ -8,6 +8,7 @@ | |||
8 | #include <linux/tracepoint.h> | 8 | #include <linux/tracepoint.h> |
9 | 9 | ||
10 | #define DAPM_DIRECT "(direct)" | 10 | #define DAPM_DIRECT "(direct)" |
11 | #define DAPM_ARROW(dir) (((dir) == SND_SOC_DAPM_DIR_OUT) ? "->" : "<-") | ||
11 | 12 | ||
12 | struct snd_soc_jack; | 13 | struct snd_soc_jack; |
13 | struct snd_soc_codec; | 14 | struct snd_soc_codec; |
@@ -152,62 +153,38 @@ TRACE_EVENT(snd_soc_dapm_walk_done, | |||
152 | (int)__entry->path_checks, (int)__entry->neighbour_checks) | 153 | (int)__entry->path_checks, (int)__entry->neighbour_checks) |
153 | ); | 154 | ); |
154 | 155 | ||
155 | TRACE_EVENT(snd_soc_dapm_output_path, | 156 | TRACE_EVENT(snd_soc_dapm_path, |
156 | 157 | ||
157 | TP_PROTO(struct snd_soc_dapm_widget *widget, | 158 | TP_PROTO(struct snd_soc_dapm_widget *widget, |
159 | enum snd_soc_dapm_direction dir, | ||
158 | struct snd_soc_dapm_path *path), | 160 | struct snd_soc_dapm_path *path), |
159 | 161 | ||
160 | TP_ARGS(widget, path), | 162 | TP_ARGS(widget, dir, path), |
161 | 163 | ||
162 | TP_STRUCT__entry( | 164 | TP_STRUCT__entry( |
163 | __string( wname, widget->name ) | 165 | __string( wname, widget->name ) |
164 | __string( pname, path->name ? path->name : DAPM_DIRECT) | 166 | __string( pname, path->name ? path->name : DAPM_DIRECT) |
165 | __string( psname, path->sink->name ) | 167 | __string( pnname, path->node[dir]->name ) |
166 | __field( int, path_sink ) | 168 | __field( int, path_node ) |
167 | __field( int, path_connect ) | 169 | __field( int, path_connect ) |
170 | __field( int, path_dir ) | ||
168 | ), | 171 | ), |
169 | 172 | ||
170 | TP_fast_assign( | 173 | TP_fast_assign( |
171 | __assign_str(wname, widget->name); | 174 | __assign_str(wname, widget->name); |
172 | __assign_str(pname, path->name ? path->name : DAPM_DIRECT); | 175 | __assign_str(pname, path->name ? path->name : DAPM_DIRECT); |
173 | __assign_str(psname, path->sink->name); | 176 | __assign_str(pnname, path->node[dir]->name); |
174 | __entry->path_connect = path->connect; | 177 | __entry->path_connect = path->connect; |
175 | __entry->path_sink = (long)path->sink; | 178 | __entry->path_node = (long)path->node[dir]; |
179 | __entry->path_dir = dir; | ||
176 | ), | 180 | ), |
177 | 181 | ||
178 | TP_printk("%c%s -> %s -> %s", | 182 | TP_printk("%c%s %s %s %s %s", |
179 | (int) __entry->path_sink && | 183 | (int) __entry->path_node && |
180 | (int) __entry->path_connect ? '*' : ' ', | 184 | (int) __entry->path_connect ? '*' : ' ', |
181 | __get_str(wname), __get_str(pname), __get_str(psname)) | 185 | __get_str(wname), DAPM_ARROW(__entry->path_dir), |
182 | ); | 186 | __get_str(pname), DAPM_ARROW(__entry->path_dir), |
183 | 187 | __get_str(pnname)) | |
184 | TRACE_EVENT(snd_soc_dapm_input_path, | ||
185 | |||
186 | TP_PROTO(struct snd_soc_dapm_widget *widget, | ||
187 | struct snd_soc_dapm_path *path), | ||
188 | |||
189 | TP_ARGS(widget, path), | ||
190 | |||
191 | TP_STRUCT__entry( | ||
192 | __string( wname, widget->name ) | ||
193 | __string( pname, path->name ? path->name : DAPM_DIRECT) | ||
194 | __string( psname, path->source->name ) | ||
195 | __field( int, path_source ) | ||
196 | __field( int, path_connect ) | ||
197 | ), | ||
198 | |||
199 | TP_fast_assign( | ||
200 | __assign_str(wname, widget->name); | ||
201 | __assign_str(pname, path->name ? path->name : DAPM_DIRECT); | ||
202 | __assign_str(psname, path->source->name); | ||
203 | __entry->path_connect = path->connect; | ||
204 | __entry->path_source = (long)path->source; | ||
205 | ), | ||
206 | |||
207 | TP_printk("%c%s <- %s <- %s", | ||
208 | (int) __entry->path_source && | ||
209 | (int) __entry->path_connect ? '*' : ' ', | ||
210 | __get_str(wname), __get_str(pname), __get_str(psname)) | ||
211 | ); | 188 | ); |
212 | 189 | ||
213 | TRACE_EVENT(snd_soc_dapm_connected, | 190 | TRACE_EVENT(snd_soc_dapm_connected, |
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index 27b7fd96e819..cf2a0696b4a7 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c | |||
@@ -1047,15 +1047,6 @@ static int dapm_widget_list_create(struct snd_soc_dapm_widget_list **list, | |||
1047 | return 0; | 1047 | return 0; |
1048 | } | 1048 | } |
1049 | 1049 | ||
1050 | static void trace_snd_soc_dapm_path(struct snd_soc_dapm_widget *w, | ||
1051 | enum snd_soc_dapm_direction dir, struct snd_soc_dapm_path *p) | ||
1052 | { | ||
1053 | if (dir == SND_SOC_DAPM_DIR_IN) | ||
1054 | trace_snd_soc_dapm_input_path(w, p); | ||
1055 | else | ||
1056 | trace_snd_soc_dapm_output_path(w, p); | ||
1057 | } | ||
1058 | |||
1059 | /* | 1050 | /* |
1060 | * Common implementation for is_connected_output_ep() and | 1051 | * Common implementation for is_connected_output_ep() and |
1061 | * is_connected_input_ep(). The function is inlined since the combined size of | 1052 | * is_connected_input_ep(). The function is inlined since the combined size of |