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>
This commit is contained in:
parent
a3423b02cf
commit
6e588a0d83
|
@ -8,6 +8,7 @@
|
|||
#include <linux/tracepoint.h>
|
||||
|
||||
#define DAPM_DIRECT "(direct)"
|
||||
#define DAPM_ARROW(dir) (((dir) == SND_SOC_DAPM_DIR_OUT) ? "->" : "<-")
|
||||
|
||||
struct snd_soc_jack;
|
||||
struct snd_soc_codec;
|
||||
|
@ -152,62 +153,38 @@ TRACE_EVENT(snd_soc_dapm_walk_done,
|
|||
(int)__entry->path_checks, (int)__entry->neighbour_checks)
|
||||
);
|
||||
|
||||
TRACE_EVENT(snd_soc_dapm_output_path,
|
||||
TRACE_EVENT(snd_soc_dapm_path,
|
||||
|
||||
TP_PROTO(struct snd_soc_dapm_widget *widget,
|
||||
enum snd_soc_dapm_direction dir,
|
||||
struct snd_soc_dapm_path *path),
|
||||
|
||||
TP_ARGS(widget, path),
|
||||
TP_ARGS(widget, dir, path),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__string( wname, widget->name )
|
||||
__string( pname, path->name ? path->name : DAPM_DIRECT)
|
||||
__string( psname, path->sink->name )
|
||||
__field( int, path_sink )
|
||||
__string( pnname, path->node[dir]->name )
|
||||
__field( int, path_node )
|
||||
__field( int, path_connect )
|
||||
__field( int, path_dir )
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__assign_str(wname, widget->name);
|
||||
__assign_str(pname, path->name ? path->name : DAPM_DIRECT);
|
||||
__assign_str(psname, path->sink->name);
|
||||
__assign_str(pnname, path->node[dir]->name);
|
||||
__entry->path_connect = path->connect;
|
||||
__entry->path_sink = (long)path->sink;
|
||||
__entry->path_node = (long)path->node[dir];
|
||||
__entry->path_dir = dir;
|
||||
),
|
||||
|
||||
TP_printk("%c%s -> %s -> %s",
|
||||
(int) __entry->path_sink &&
|
||||
TP_printk("%c%s %s %s %s %s",
|
||||
(int) __entry->path_node &&
|
||||
(int) __entry->path_connect ? '*' : ' ',
|
||||
__get_str(wname), __get_str(pname), __get_str(psname))
|
||||
);
|
||||
|
||||
TRACE_EVENT(snd_soc_dapm_input_path,
|
||||
|
||||
TP_PROTO(struct snd_soc_dapm_widget *widget,
|
||||
struct snd_soc_dapm_path *path),
|
||||
|
||||
TP_ARGS(widget, path),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__string( wname, widget->name )
|
||||
__string( pname, path->name ? path->name : DAPM_DIRECT)
|
||||
__string( psname, path->source->name )
|
||||
__field( int, path_source )
|
||||
__field( int, path_connect )
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__assign_str(wname, widget->name);
|
||||
__assign_str(pname, path->name ? path->name : DAPM_DIRECT);
|
||||
__assign_str(psname, path->source->name);
|
||||
__entry->path_connect = path->connect;
|
||||
__entry->path_source = (long)path->source;
|
||||
),
|
||||
|
||||
TP_printk("%c%s <- %s <- %s",
|
||||
(int) __entry->path_source &&
|
||||
(int) __entry->path_connect ? '*' : ' ',
|
||||
__get_str(wname), __get_str(pname), __get_str(psname))
|
||||
__get_str(wname), DAPM_ARROW(__entry->path_dir),
|
||||
__get_str(pname), DAPM_ARROW(__entry->path_dir),
|
||||
__get_str(pnname))
|
||||
);
|
||||
|
||||
TRACE_EVENT(snd_soc_dapm_connected,
|
||||
|
|
|
@ -1047,15 +1047,6 @@ static int dapm_widget_list_create(struct snd_soc_dapm_widget_list **list,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void trace_snd_soc_dapm_path(struct snd_soc_dapm_widget *w,
|
||||
enum snd_soc_dapm_direction dir, struct snd_soc_dapm_path *p)
|
||||
{
|
||||
if (dir == SND_SOC_DAPM_DIR_IN)
|
||||
trace_snd_soc_dapm_input_path(w, p);
|
||||
else
|
||||
trace_snd_soc_dapm_output_path(w, p);
|
||||
}
|
||||
|
||||
/*
|
||||
* Common implementation for is_connected_output_ep() and
|
||||
* is_connected_input_ep(). The function is inlined since the combined size of
|
||||
|
|
Loading…
Reference in a new issue