1 #if !defined(_ATH6KL_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
3 #include <net/cfg80211.h>
4 #include <linux/skbuff.h>
5 #include <linux/tracepoint.h>
8 #if !defined(_ATH6KL_TRACE_H)
9 static inline unsigned int ath6kl_get_wmi_id(void *buf, size_t buf_len)
11 struct wmi_cmd_hdr *hdr = buf;
13 if (buf_len < sizeof(*hdr))
16 return le16_to_cpu(hdr->cmd_id);
18 #endif /* __ATH6KL_TRACE_H */
20 #define _ATH6KL_TRACE_H
22 /* create empty functions when tracing is disabled */
23 #if !defined(CONFIG_ATH6KL_TRACING)
25 #define TRACE_EVENT(name, proto, ...) \
26 static inline void trace_ ## name(proto) {}
27 #endif /* !CONFIG_ATH6KL_TRACING || __CHECKER__ */
30 #define TRACE_SYSTEM ath6kl
32 TRACE_EVENT(ath6kl_wmi_cmd,
33 TP_PROTO(void *buf, size_t buf_len),
35 TP_ARGS(buf, buf_len),
38 __field(unsigned int, id)
39 __field(size_t, buf_len)
40 __dynamic_array(u8, buf, buf_len)
44 __entry->id = ath6kl_get_wmi_id(buf, buf_len);
45 __entry->buf_len = buf_len;
46 memcpy(__get_dynamic_array(buf), buf, buf_len);
51 __entry->id, __entry->buf_len
55 TRACE_EVENT(ath6kl_wmi_event,
56 TP_PROTO(void *buf, size_t buf_len),
58 TP_ARGS(buf, buf_len),
61 __field(unsigned int, id)
62 __field(size_t, buf_len)
63 __dynamic_array(u8, buf, buf_len)
67 __entry->id = ath6kl_get_wmi_id(buf, buf_len);
68 __entry->buf_len = buf_len;
69 memcpy(__get_dynamic_array(buf), buf, buf_len);
74 __entry->id, __entry->buf_len
78 #endif /* _ ATH6KL_TRACE_H || TRACE_HEADER_MULTI_READ*/
80 /* we don't want to use include/trace/events */
81 #undef TRACE_INCLUDE_PATH
82 #define TRACE_INCLUDE_PATH .
83 #undef TRACE_INCLUDE_FILE
84 #define TRACE_INCLUDE_FILE trace
86 /* This part must be outside protection */
87 #include <trace/define_trace.h>