xref: /openbmc/linux/drivers/usb/musb/musb_trace.h (revision f89252ad19a1a93095bdee58a4d857023f069280)
1*f89252adSBin Liu /*
2*f89252adSBin Liu  * musb_trace.h - MUSB Controller Trace Support
3*f89252adSBin Liu  *
4*f89252adSBin Liu  * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com
5*f89252adSBin Liu  *
6*f89252adSBin Liu  * Author: Bin Liu <b-liu@ti.com>
7*f89252adSBin Liu  *
8*f89252adSBin Liu  * This program is free software: you can redistribute it and/or modify
9*f89252adSBin Liu  * it under the terms of the GNU General Public License version 2  of
10*f89252adSBin Liu  * the License as published by the Free Software Foundation.
11*f89252adSBin Liu  *
12*f89252adSBin Liu  * This program is distributed in the hope that it will be useful,
13*f89252adSBin Liu  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14*f89252adSBin Liu  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15*f89252adSBin Liu  * GNU General Public License for more details.
16*f89252adSBin Liu  */
17*f89252adSBin Liu 
18*f89252adSBin Liu #undef TRACE_SYSTEM
19*f89252adSBin Liu #define TRACE_SYSTEM musb
20*f89252adSBin Liu 
21*f89252adSBin Liu #if !defined(__MUSB_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
22*f89252adSBin Liu #define __MUSB_TRACE_H
23*f89252adSBin Liu 
24*f89252adSBin Liu #include <linux/types.h>
25*f89252adSBin Liu #include <linux/tracepoint.h>
26*f89252adSBin Liu #include "musb_core.h"
27*f89252adSBin Liu 
28*f89252adSBin Liu #define MUSB_MSG_MAX   500
29*f89252adSBin Liu 
30*f89252adSBin Liu TRACE_EVENT(musb_log,
31*f89252adSBin Liu 	TP_PROTO(struct musb *musb, struct va_format *vaf),
32*f89252adSBin Liu 	TP_ARGS(musb, vaf),
33*f89252adSBin Liu 	TP_STRUCT__entry(
34*f89252adSBin Liu 		__string(name, dev_name(musb->controller))
35*f89252adSBin Liu 		__dynamic_array(char, msg, MUSB_MSG_MAX)
36*f89252adSBin Liu 	),
37*f89252adSBin Liu 	TP_fast_assign(
38*f89252adSBin Liu 		__assign_str(name, dev_name(musb->controller));
39*f89252adSBin Liu 		vsnprintf(__get_str(msg), MUSB_MSG_MAX, vaf->fmt, *vaf->va);
40*f89252adSBin Liu 	),
41*f89252adSBin Liu 	TP_printk("%s: %s", __get_str(name), __get_str(msg))
42*f89252adSBin Liu );
43*f89252adSBin Liu 
44*f89252adSBin Liu #endif /* __MUSB_TRACE_H */
45*f89252adSBin Liu 
46*f89252adSBin Liu /* this part has to be here */
47*f89252adSBin Liu 
48*f89252adSBin Liu #undef TRACE_INCLUDE_PATH
49*f89252adSBin Liu #define TRACE_INCLUDE_PATH .
50*f89252adSBin Liu 
51*f89252adSBin Liu #undef TRACE_INCLUDE_FILE
52*f89252adSBin Liu #define TRACE_INCLUDE_FILE musb_trace
53*f89252adSBin Liu 
54*f89252adSBin Liu #include <trace/define_trace.h>
55