 2c4cbe6e5a
			
		
	
	
	2c4cbe6e5a
	
	
	
		
			
			When we're debugging hard-to-reproduce and time-sensitive use cases, printk() poses too much overhead. That's when the kernel's tracing infrastructure comes into play. This patch implements a few initial tracepoints for the dwc3 driver. More traces can be added as necessary in order to ease the task of debugging dwc3. Reviewed-by: Paul Zimmerman <paulz@synopsys.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
		
			
				
	
	
		
			32 lines
		
	
	
	
		
			868 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
	
		
			868 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /**
 | |
|  * debug.c - DesignWare USB3 DRD Controller Debug/Trace Support
 | |
|  *
 | |
|  * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com
 | |
|  *
 | |
|  * Author: Felipe Balbi <balbi@ti.com>
 | |
|  *
 | |
|  * This program is free software: you can redistribute it and/or modify
 | |
|  * it under the terms of the GNU General Public License version 2  of
 | |
|  * the License as published by the Free Software Foundation.
 | |
|  *
 | |
|  * This program is distributed in the hope that it will be useful,
 | |
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
|  * GNU General Public License for more details.
 | |
|  */
 | |
| 
 | |
| #include "debug.h"
 | |
| 
 | |
| void dwc3_trace(void (*trace)(struct va_format *), const char *fmt, ...)
 | |
| {
 | |
| 	struct va_format vaf;
 | |
| 	va_list args;
 | |
| 
 | |
| 	va_start(args, fmt);
 | |
| 	vaf.fmt = fmt;
 | |
| 	vaf.va = &args;
 | |
| 
 | |
| 	trace(&vaf);
 | |
| 
 | |
| 	va_end(args);
 | |
| }
 |