Loading...
1/* SPDX-License-Identifier: GPL-2.0-only */
2/******************************************************************************
3 *
4 * Copyright(c) 2009 - 2014 Intel Corporation. All rights reserved.
5 *
6 * Contact Information:
7 * Intel Linux Wireless <linuxwifi@intel.com>
8 * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
9 *
10 *****************************************************************************/
11
12#if !defined(__IWLWIFI_DEVICE_TRACE_MSG) || defined(TRACE_HEADER_MULTI_READ)
13#define __IWLWIFI_DEVICE_TRACE_MSG
14
15#include <linux/tracepoint.h>
16
17#undef TRACE_SYSTEM
18#define TRACE_SYSTEM iwlwifi_msg
19
20#define MAX_MSG_LEN 110
21
22DECLARE_EVENT_CLASS(iwlwifi_msg_event,
23 TP_PROTO(struct va_format *vaf),
24 TP_ARGS(vaf),
25 TP_STRUCT__entry(
26 __dynamic_array(char, msg, MAX_MSG_LEN)
27 ),
28 TP_fast_assign(
29 WARN_ON_ONCE(vsnprintf(__get_dynamic_array(msg),
30 MAX_MSG_LEN, vaf->fmt,
31 *vaf->va) >= MAX_MSG_LEN);
32 ),
33 TP_printk("%s", __get_str(msg))
34);
35
36DEFINE_EVENT(iwlwifi_msg_event, iwlwifi_err,
37 TP_PROTO(struct va_format *vaf),
38 TP_ARGS(vaf)
39);
40
41DEFINE_EVENT(iwlwifi_msg_event, iwlwifi_warn,
42 TP_PROTO(struct va_format *vaf),
43 TP_ARGS(vaf)
44);
45
46DEFINE_EVENT(iwlwifi_msg_event, iwlwifi_info,
47 TP_PROTO(struct va_format *vaf),
48 TP_ARGS(vaf)
49);
50
51DEFINE_EVENT(iwlwifi_msg_event, iwlwifi_crit,
52 TP_PROTO(struct va_format *vaf),
53 TP_ARGS(vaf)
54);
55
56TRACE_EVENT(iwlwifi_dbg,
57 TP_PROTO(u32 level, const char *function,
58 struct va_format *vaf),
59 TP_ARGS(level, function, vaf),
60 TP_STRUCT__entry(
61 __field(u32, level)
62 __string(function, function)
63 __dynamic_array(char, msg, MAX_MSG_LEN)
64 ),
65 TP_fast_assign(
66 __entry->level = level;
67 __assign_str(function, function);
68 WARN_ON_ONCE(vsnprintf(__get_dynamic_array(msg),
69 MAX_MSG_LEN, vaf->fmt,
70 *vaf->va) >= MAX_MSG_LEN);
71 ),
72 TP_printk("%s", __get_str(msg))
73);
74#endif /* __IWLWIFI_DEVICE_TRACE_MSG */
75
76#undef TRACE_INCLUDE_PATH
77#define TRACE_INCLUDE_PATH .
78#undef TRACE_INCLUDE_FILE
79#define TRACE_INCLUDE_FILE iwl-devtrace-msg
80#include <trace/define_trace.h>
1/* SPDX-License-Identifier: GPL-2.0-only */
2/******************************************************************************
3 *
4 * Copyright(c) 2009 - 2014 Intel Corporation. All rights reserved.
5 *****************************************************************************/
6
7#if !defined(__IWLWIFI_DEVICE_TRACE_MSG) || defined(TRACE_HEADER_MULTI_READ)
8#define __IWLWIFI_DEVICE_TRACE_MSG
9
10#include <linux/tracepoint.h>
11
12#undef TRACE_SYSTEM
13#define TRACE_SYSTEM iwlwifi_msg
14
15#define MAX_MSG_LEN 110
16
17DECLARE_EVENT_CLASS(iwlwifi_msg_event,
18 TP_PROTO(struct va_format *vaf),
19 TP_ARGS(vaf),
20 TP_STRUCT__entry(
21 __vstring(msg, vaf->fmt, vaf->va)
22 ),
23 TP_fast_assign(
24 __assign_vstr(msg, vaf->fmt, vaf->va);
25 ),
26 TP_printk("%s", __get_str(msg))
27);
28
29DEFINE_EVENT(iwlwifi_msg_event, iwlwifi_err,
30 TP_PROTO(struct va_format *vaf),
31 TP_ARGS(vaf)
32);
33
34DEFINE_EVENT(iwlwifi_msg_event, iwlwifi_warn,
35 TP_PROTO(struct va_format *vaf),
36 TP_ARGS(vaf)
37);
38
39DEFINE_EVENT(iwlwifi_msg_event, iwlwifi_info,
40 TP_PROTO(struct va_format *vaf),
41 TP_ARGS(vaf)
42);
43
44DEFINE_EVENT(iwlwifi_msg_event, iwlwifi_crit,
45 TP_PROTO(struct va_format *vaf),
46 TP_ARGS(vaf)
47);
48
49TRACE_EVENT(iwlwifi_dbg,
50 TP_PROTO(u32 level, const char *function,
51 struct va_format *vaf),
52 TP_ARGS(level, function, vaf),
53 TP_STRUCT__entry(
54 __field(u32, level)
55 __string(function, function)
56 __vstring(msg, vaf->fmt, vaf->va)
57 ),
58 TP_fast_assign(
59 __entry->level = level;
60 __assign_str(function, function);
61 __assign_vstr(msg, vaf->fmt, vaf->va);
62 ),
63 TP_printk("%s", __get_str(msg))
64);
65#endif /* __IWLWIFI_DEVICE_TRACE_MSG */
66
67#undef TRACE_INCLUDE_PATH
68#define TRACE_INCLUDE_PATH .
69#undef TRACE_INCLUDE_FILE
70#define TRACE_INCLUDE_FILE iwl-devtrace-msg
71#include <trace/define_trace.h>