|
@@ -14,9 +14,6 @@
|
|
|
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
|
*/
|
|
|
|
|
|
-#undef TRACE_SYSTEM
|
|
|
-#define TRACE_SYSTEM brcmsmac
|
|
|
-
|
|
|
#if !defined(__TRACE_BRCMSMAC_H) || defined(TRACE_HEADER_MULTI_READ)
|
|
|
|
|
|
#define __TRACE_BRCMSMAC_H
|
|
@@ -28,8 +25,16 @@
|
|
|
#undef TRACE_EVENT
|
|
|
#define TRACE_EVENT(name, proto, ...) \
|
|
|
static inline void trace_ ## name(proto) {}
|
|
|
+#undef DECLARE_EVENT_CLASS
|
|
|
+#define DECLARE_EVENT_CLASS(...)
|
|
|
+#undef DEFINE_EVENT
|
|
|
+#define DEFINE_EVENT(evt_class, name, proto, ...) \
|
|
|
+static inline void trace_ ## name(proto) {}
|
|
|
#endif
|
|
|
|
|
|
+#undef TRACE_SYSTEM
|
|
|
+#define TRACE_SYSTEM brcmsmac
|
|
|
+
|
|
|
/*
|
|
|
* We define a tracepoint, its arguments, its printk format and its
|
|
|
* 'fast binary record' layout.
|
|
@@ -78,6 +83,63 @@ TRACE_EVENT(brcms_dpc,
|
|
|
)
|
|
|
);
|
|
|
|
|
|
+#undef TRACE_SYSTEM
|
|
|
+#define TRACE_SYSTEM brcmsmac_msg
|
|
|
+
|
|
|
+#define MAX_MSG_LEN 100
|
|
|
+
|
|
|
+DECLARE_EVENT_CLASS(brcms_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(brcms_msg_event, brcms_info,
|
|
|
+ TP_PROTO(struct va_format *vaf),
|
|
|
+ TP_ARGS(vaf)
|
|
|
+);
|
|
|
+
|
|
|
+DEFINE_EVENT(brcms_msg_event, brcms_warn,
|
|
|
+ TP_PROTO(struct va_format *vaf),
|
|
|
+ TP_ARGS(vaf)
|
|
|
+);
|
|
|
+
|
|
|
+DEFINE_EVENT(brcms_msg_event, brcms_err,
|
|
|
+ TP_PROTO(struct va_format *vaf),
|
|
|
+ TP_ARGS(vaf)
|
|
|
+);
|
|
|
+
|
|
|
+DEFINE_EVENT(brcms_msg_event, brcms_crit,
|
|
|
+ TP_PROTO(struct va_format *vaf),
|
|
|
+ TP_ARGS(vaf)
|
|
|
+);
|
|
|
+
|
|
|
+TRACE_EVENT(brcms_dbg,
|
|
|
+ TP_PROTO(u32 level, const char *func, struct va_format *vaf),
|
|
|
+ TP_ARGS(level, func, vaf),
|
|
|
+ TP_STRUCT__entry(
|
|
|
+ __field(u32, level)
|
|
|
+ __string(func, func)
|
|
|
+ __dynamic_array(char, msg, MAX_MSG_LEN)
|
|
|
+ ),
|
|
|
+ TP_fast_assign(
|
|
|
+ __entry->level = level;
|
|
|
+ __assign_str(func, func);
|
|
|
+ WARN_ON_ONCE(vsnprintf(__get_dynamic_array(msg),
|
|
|
+ MAX_MSG_LEN, vaf->fmt,
|
|
|
+ *vaf->va) >= MAX_MSG_LEN);
|
|
|
+ ),
|
|
|
+ TP_printk("%s: %s", __get_str(func), __get_str(msg))
|
|
|
+);
|
|
|
+
|
|
|
#endif /* __TRACE_BRCMSMAC_H */
|
|
|
|
|
|
#ifdef CONFIG_BRCM_TRACING
|