1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifdef CONFIG_MAC80211_MESSAGE_TRACING 3 4 #if !defined(__MAC80211_MSG_DRIVER_TRACE) || defined(TRACE_HEADER_MULTI_READ) 5 #define __MAC80211_MSG_DRIVER_TRACE 6 7 #include <linux/tracepoint.h> 8 #include <net/mac80211.h> 9 #include "ieee80211_i.h" 10 11 #undef TRACE_SYSTEM 12 #define TRACE_SYSTEM mac80211_msg 13 14 #define MAX_MSG_LEN 100 15 16 DECLARE_EVENT_CLASS(mac80211_msg_event, 17 TP_PROTO(struct va_format *vaf), 18 19 TP_ARGS(vaf), 20 21 TP_STRUCT__entry( 22 __dynamic_array(char, msg, MAX_MSG_LEN) 23 ), 24 25 TP_fast_assign( 26 WARN_ON_ONCE(vsnprintf(__get_dynamic_array(msg), 27 MAX_MSG_LEN, vaf->fmt, 28 *vaf->va) >= MAX_MSG_LEN); 29 ), 30 31 TP_printk("%s", __get_str(msg)) 32 ); 33 34 DEFINE_EVENT(mac80211_msg_event, mac80211_info, 35 TP_PROTO(struct va_format *vaf), 36 TP_ARGS(vaf) 37 ); 38 DEFINE_EVENT(mac80211_msg_event, mac80211_dbg, 39 TP_PROTO(struct va_format *vaf), 40 TP_ARGS(vaf) 41 ); 42 DEFINE_EVENT(mac80211_msg_event, mac80211_err, 43 TP_PROTO(struct va_format *vaf), 44 TP_ARGS(vaf) 45 ); 46 #endif /* !__MAC80211_MSG_DRIVER_TRACE || TRACE_HEADER_MULTI_READ */ 47 48 #undef TRACE_INCLUDE_PATH 49 #define TRACE_INCLUDE_PATH . 50 #undef TRACE_INCLUDE_FILE 51 #define TRACE_INCLUDE_FILE trace_msg 52 #include <trace/define_trace.h> 53 54 #endif 55