Back to home page

OSCL-LXR

 
 

    


0001 /*
0002  * Copyright (c) 2011 Broadcom Corporation
0003  *
0004  * Permission to use, copy, modify, and/or distribute this software for any
0005  * purpose with or without fee is hereby granted, provided that the above
0006  * copyright notice and this permission notice appear in all copies.
0007  *
0008  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
0009  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
0010  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
0011  * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
0012  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
0013  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
0014  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
0015  */
0016 
0017 #if !defined(__TRACE_BRCMSMAC_MSG_H) || defined(TRACE_HEADER_MULTI_READ)
0018 #define __TRACE_BRCMSMAC_MSG_H
0019 
0020 #include <linux/tracepoint.h>
0021 
0022 #undef TRACE_SYSTEM
0023 #define TRACE_SYSTEM brcmsmac_msg
0024 
0025 #define MAX_MSG_LEN 100
0026 
0027 DECLARE_EVENT_CLASS(brcms_msg_event,
0028     TP_PROTO(struct va_format *vaf),
0029     TP_ARGS(vaf),
0030     TP_STRUCT__entry(
0031         __vstring(msg, vaf->fmt, vaf->va)
0032     ),
0033     TP_fast_assign(
0034         __assign_vstr(msg, vaf->fmt, vaf->va);
0035     ),
0036     TP_printk("%s", __get_str(msg))
0037 );
0038 
0039 DEFINE_EVENT(brcms_msg_event, brcms_info,
0040     TP_PROTO(struct va_format *vaf),
0041     TP_ARGS(vaf)
0042 );
0043 
0044 DEFINE_EVENT(brcms_msg_event, brcms_warn,
0045     TP_PROTO(struct va_format *vaf),
0046     TP_ARGS(vaf)
0047 );
0048 
0049 DEFINE_EVENT(brcms_msg_event, brcms_err,
0050     TP_PROTO(struct va_format *vaf),
0051     TP_ARGS(vaf)
0052 );
0053 
0054 DEFINE_EVENT(brcms_msg_event, brcms_crit,
0055     TP_PROTO(struct va_format *vaf),
0056     TP_ARGS(vaf)
0057 );
0058 
0059 TRACE_EVENT(brcms_dbg,
0060     TP_PROTO(u32 level, const char *func, struct va_format *vaf),
0061     TP_ARGS(level, func, vaf),
0062     TP_STRUCT__entry(
0063         __field(u32, level)
0064         __string(func, func)
0065         __vstring(msg, vaf->fmt, vaf->va)
0066     ),
0067     TP_fast_assign(
0068         __entry->level = level;
0069         __assign_str(func, func);
0070         __assign_vstr(msg, vaf->fmt, vaf->va);
0071     ),
0072     TP_printk("%s: %s", __get_str(func), __get_str(msg))
0073 );
0074 #endif /* __TRACE_BRCMSMAC_MSG_H */
0075 
0076 #ifdef CONFIG_BRCM_TRACING
0077 
0078 #undef TRACE_INCLUDE_PATH
0079 #define TRACE_INCLUDE_PATH .
0080 #undef TRACE_INCLUDE_FILE
0081 #define TRACE_INCLUDE_FILE brcms_trace_brcmsmac_msg
0082 #include <trace/define_trace.h>
0083 
0084 #endif /* CONFIG_BRCM_TRACING */