xref: /linux-6.15/include/trace/events/sof.h (revision fa6e73d6)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright(c) 2022 Intel Corporation. All rights reserved.
4  *
5  * Author: Noah Klayman <[email protected]>
6  */
7 
8 #undef TRACE_SYSTEM
9 #define TRACE_SYSTEM sof
10 
11 #if !defined(_TRACE_SOF_H) || defined(TRACE_HEADER_MULTI_READ)
12 #define _TRACE_SOF_H
13 #include <linux/tracepoint.h>
14 #include <sound/sof/stream.h>
15 #include "../../../sound/soc/sof/sof-audio.h"
16 
17 DECLARE_EVENT_CLASS(sof_widget_template,
18 	TP_PROTO(struct snd_sof_widget *swidget),
19 	TP_ARGS(swidget),
20 	TP_STRUCT__entry(
21 		__string(name, swidget->widget->name)
22 		__field(int, use_count)
23 	),
24 	TP_fast_assign(
25 		__assign_str(name, swidget->widget->name);
26 		__entry->use_count = swidget->use_count;
27 	),
28 	TP_printk("name=%s use_count=%d", __get_str(name), __entry->use_count)
29 );
30 
31 DEFINE_EVENT(sof_widget_template, sof_widget_setup,
32 	TP_PROTO(struct snd_sof_widget *swidget),
33 	TP_ARGS(swidget)
34 );
35 
36 DEFINE_EVENT(sof_widget_template, sof_widget_free,
37 	TP_PROTO(struct snd_sof_widget *swidget),
38 	TP_ARGS(swidget)
39 );
40 
41 #endif /* _TRACE_SOF_H */
42 
43 /* This part must be outside protection */
44 #include <trace/define_trace.h>
45