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