| /* SPDX-License-Identifier: GPL-2.0 */ | 
 | /* | 
 |  * Portions of this file | 
 |  * Copyright (C) 2019 Intel Corporation | 
 |  */ | 
 |  | 
 | #ifdef CONFIG_MAC80211_MESSAGE_TRACING | 
 |  | 
 | #if !defined(__MAC80211_MSG_DRIVER_TRACE) || defined(TRACE_HEADER_MULTI_READ) | 
 | #define __MAC80211_MSG_DRIVER_TRACE | 
 |  | 
 | #include <linux/tracepoint.h> | 
 | #include <net/mac80211.h> | 
 | #include "ieee80211_i.h" | 
 |  | 
 | #undef TRACE_SYSTEM | 
 | #define TRACE_SYSTEM mac80211_msg | 
 |  | 
 | #define MAX_MSG_LEN	120 | 
 |  | 
 | DECLARE_EVENT_CLASS(mac80211_msg_event, | 
 | 	TP_PROTO(struct va_format *vaf), | 
 |  | 
 | 	TP_ARGS(vaf), | 
 |  | 
 | 	TP_STRUCT__entry( | 
 | 		__dynamic_array(char, msg, MAX_MSG_LEN) | 
 | 	), | 
 |  | 
 | 	TP_fast_assign( | 
 | 		WARN_ON_ONCE(vsnprintf(__get_dynamic_array(msg), | 
 | 				       MAX_MSG_LEN, vaf->fmt, | 
 | 				       *vaf->va) >= MAX_MSG_LEN); | 
 | 	), | 
 |  | 
 | 	TP_printk("%s", __get_str(msg)) | 
 | ); | 
 |  | 
 | DEFINE_EVENT(mac80211_msg_event, mac80211_info, | 
 | 	TP_PROTO(struct va_format *vaf), | 
 | 	TP_ARGS(vaf) | 
 | ); | 
 | DEFINE_EVENT(mac80211_msg_event, mac80211_dbg, | 
 | 	TP_PROTO(struct va_format *vaf), | 
 | 	TP_ARGS(vaf) | 
 | ); | 
 | DEFINE_EVENT(mac80211_msg_event, mac80211_err, | 
 | 	TP_PROTO(struct va_format *vaf), | 
 | 	TP_ARGS(vaf) | 
 | ); | 
 | #endif /* !__MAC80211_MSG_DRIVER_TRACE || TRACE_HEADER_MULTI_READ */ | 
 |  | 
 | #undef TRACE_INCLUDE_PATH | 
 | #define TRACE_INCLUDE_PATH . | 
 | #undef TRACE_INCLUDE_FILE | 
 | #define TRACE_INCLUDE_FILE trace_msg | 
 | #include <trace/define_trace.h> | 
 |  | 
 | #endif |