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