aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath6kl/trace.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath/ath6kl/trace.h')
-rw-r--r--drivers/net/wireless/ath/ath6kl/trace.h87
1 files changed, 87 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/trace.h b/drivers/net/wireless/ath/ath6kl/trace.h
new file mode 100644
index 000000000000..07876190ce05
--- /dev/null
+++ b/drivers/net/wireless/ath/ath6kl/trace.h
@@ -0,0 +1,87 @@
1#if !defined(_ATH6KL_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
2
3#include <net/cfg80211.h>
4#include <linux/skbuff.h>
5#include <linux/tracepoint.h>
6#include "wmi.h"
7
8#if !defined(_ATH6KL_TRACE_H)
9static inline unsigned int ath6kl_get_wmi_id(void *buf, size_t buf_len)
10{
11 struct wmi_cmd_hdr *hdr = buf;
12
13 if (buf_len < sizeof(*hdr))
14 return 0;
15
16 return le16_to_cpu(hdr->cmd_id);
17}
18#endif /* __ATH6KL_TRACE_H */
19
20#define _ATH6KL_TRACE_H
21
22/* create empty functions when tracing is disabled */
23#if !defined(CONFIG_ATH6KL_TRACING)
24#undef TRACE_EVENT
25#define TRACE_EVENT(name, proto, ...) \
26static inline void trace_ ## name(proto) {}
27#endif /* !CONFIG_ATH6KL_TRACING || __CHECKER__ */
28
29#undef TRACE_SYSTEM
30#define TRACE_SYSTEM ath6kl
31
32TRACE_EVENT(ath6kl_wmi_cmd,
33 TP_PROTO(void *buf, size_t buf_len),
34
35 TP_ARGS(buf, buf_len),
36
37 TP_STRUCT__entry(
38 __field(unsigned int, id)
39 __field(size_t, buf_len)
40 __dynamic_array(u8, buf, buf_len)
41 ),
42
43 TP_fast_assign(
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);
47 ),
48
49 TP_printk(
50 "id %d len %d",
51 __entry->id, __entry->buf_len
52 )
53);
54
55TRACE_EVENT(ath6kl_wmi_event,
56 TP_PROTO(void *buf, size_t buf_len),
57
58 TP_ARGS(buf, buf_len),
59
60 TP_STRUCT__entry(
61 __field(unsigned int, id)
62 __field(size_t, buf_len)
63 __dynamic_array(u8, buf, buf_len)
64 ),
65
66 TP_fast_assign(
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);
70 ),
71
72 TP_printk(
73 "id %d len %d",
74 __entry->id, __entry->buf_len
75 )
76);
77
78#endif /* _ ATH6KL_TRACE_H || TRACE_HEADER_MULTI_READ*/
79
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
85
86/* This part must be outside protection */
87#include <trace/define_trace.h>