forked from Minki/linux
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>
|
#include <linux/tracepoint.h>
|
||||||
|
|
||||||
#define DAPM_DIRECT "(direct)"
|
#define DAPM_DIRECT "(direct)"
|
||||||
|
#define DAPM_ARROW(dir) (((dir) == SND_SOC_DAPM_DIR_OUT) ? "->" : "<-")
|
||||||
|
|
||||||
struct snd_soc_jack;
|
struct snd_soc_jack;
|
||||||
struct snd_soc_codec;
|
struct snd_soc_codec;
|
||||||
@ -152,62 +153,38 @@ TRACE_EVENT(snd_soc_dapm_walk_done,
|
|||||||
(int)__entry->path_checks, (int)__entry->neighbour_checks)
|
(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,
|
TP_PROTO(struct snd_soc_dapm_widget *widget,
|
||||||
|
enum snd_soc_dapm_direction dir,
|
||||||
struct snd_soc_dapm_path *path),
|
struct snd_soc_dapm_path *path),
|
||||||
|
|
||||||
TP_ARGS(widget, path),
|
TP_ARGS(widget, dir, path),
|
||||||
|
|
||||||
TP_STRUCT__entry(
|
TP_STRUCT__entry(
|
||||||
__string( wname, widget->name )
|
__string( wname, widget->name )
|
||||||
__string( pname, path->name ? path->name : DAPM_DIRECT)
|
__string( pname, path->name ? path->name : DAPM_DIRECT)
|
||||||
__string( psname, path->sink->name )
|
__string( pnname, path->node[dir]->name )
|
||||||
__field( int, path_sink )
|
__field( int, path_node )
|
||||||
__field( int, path_connect )
|
__field( int, path_connect )
|
||||||
|
__field( int, path_dir )
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_fast_assign(
|
TP_fast_assign(
|
||||||
__assign_str(wname, widget->name);
|
__assign_str(wname, widget->name);
|
||||||
__assign_str(pname, path->name ? path->name : DAPM_DIRECT);
|
__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_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",
|
TP_printk("%c%s %s %s %s %s",
|
||||||
(int) __entry->path_sink &&
|
(int) __entry->path_node &&
|
||||||
(int) __entry->path_connect ? '*' : ' ',
|
(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_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))
|
|
||||||
);
|
);
|
||||||
|
|
||||||
TRACE_EVENT(snd_soc_dapm_connected,
|
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;
|
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
|
* Common implementation for is_connected_output_ep() and
|
||||||
* is_connected_input_ep(). The function is inlined since the combined size of
|
* is_connected_input_ep(). The function is inlined since the combined size of
|
||||||
|
Loading…
Reference in New Issue
Block a user