1*297a344dSUwe Kleine-König #undef TRACE_SYSTEM 2*297a344dSUwe Kleine-König #define TRACE_SYSTEM siox 3*297a344dSUwe Kleine-König 4*297a344dSUwe Kleine-König #if !defined(_TRACE_SIOX_H) || defined(TRACE_HEADER_MULTI_READ) 5*297a344dSUwe Kleine-König #define _TRACE_SIOX_H 6*297a344dSUwe Kleine-König 7*297a344dSUwe Kleine-König #include <linux/tracepoint.h> 8*297a344dSUwe Kleine-König 9*297a344dSUwe Kleine-König TRACE_EVENT(siox_set_data, 10*297a344dSUwe Kleine-König TP_PROTO(const struct siox_master *smaster, 11*297a344dSUwe Kleine-König const struct siox_device *sdevice, 12*297a344dSUwe Kleine-König unsigned int devno, size_t bufoffset), 13*297a344dSUwe Kleine-König TP_ARGS(smaster, sdevice, devno, bufoffset), 14*297a344dSUwe Kleine-König TP_STRUCT__entry( 15*297a344dSUwe Kleine-König __field(int, busno) 16*297a344dSUwe Kleine-König __field(unsigned int, devno) 17*297a344dSUwe Kleine-König __field(size_t, inbytes) 18*297a344dSUwe Kleine-König __dynamic_array(u8, buf, sdevice->inbytes) 19*297a344dSUwe Kleine-König ), 20*297a344dSUwe Kleine-König TP_fast_assign( 21*297a344dSUwe Kleine-König __entry->busno = smaster->busno; 22*297a344dSUwe Kleine-König __entry->devno = devno; 23*297a344dSUwe Kleine-König __entry->inbytes = sdevice->inbytes; 24*297a344dSUwe Kleine-König memcpy(__get_dynamic_array(buf), 25*297a344dSUwe Kleine-König smaster->buf + bufoffset, sdevice->inbytes); 26*297a344dSUwe Kleine-König ), 27*297a344dSUwe Kleine-König TP_printk("siox-%d-%u [%*phD]", 28*297a344dSUwe Kleine-König __entry->busno, 29*297a344dSUwe Kleine-König __entry->devno, 30*297a344dSUwe Kleine-König (int)__entry->inbytes, __get_dynamic_array(buf) 31*297a344dSUwe Kleine-König ) 32*297a344dSUwe Kleine-König ); 33*297a344dSUwe Kleine-König 34*297a344dSUwe Kleine-König TRACE_EVENT(siox_get_data, 35*297a344dSUwe Kleine-König TP_PROTO(const struct siox_master *smaster, 36*297a344dSUwe Kleine-König const struct siox_device *sdevice, 37*297a344dSUwe Kleine-König unsigned int devno, u8 status_clean, 38*297a344dSUwe Kleine-König size_t bufoffset), 39*297a344dSUwe Kleine-König TP_ARGS(smaster, sdevice, devno, status_clean, bufoffset), 40*297a344dSUwe Kleine-König TP_STRUCT__entry( 41*297a344dSUwe Kleine-König __field(int, busno) 42*297a344dSUwe Kleine-König __field(unsigned int, devno) 43*297a344dSUwe Kleine-König __field(u8, status_clean) 44*297a344dSUwe Kleine-König __field(size_t, outbytes) 45*297a344dSUwe Kleine-König __dynamic_array(u8, buf, sdevice->outbytes) 46*297a344dSUwe Kleine-König ), 47*297a344dSUwe Kleine-König TP_fast_assign( 48*297a344dSUwe Kleine-König __entry->busno = smaster->busno; 49*297a344dSUwe Kleine-König __entry->devno = devno; 50*297a344dSUwe Kleine-König __entry->status_clean = status_clean; 51*297a344dSUwe Kleine-König __entry->outbytes = sdevice->outbytes; 52*297a344dSUwe Kleine-König memcpy(__get_dynamic_array(buf), 53*297a344dSUwe Kleine-König smaster->buf + bufoffset, sdevice->outbytes); 54*297a344dSUwe Kleine-König ), 55*297a344dSUwe Kleine-König TP_printk("siox-%d-%u (%02hhx) [%*phD]", 56*297a344dSUwe Kleine-König __entry->busno, 57*297a344dSUwe Kleine-König __entry->devno, 58*297a344dSUwe Kleine-König __entry->status_clean, 59*297a344dSUwe Kleine-König (int)__entry->outbytes, __get_dynamic_array(buf) 60*297a344dSUwe Kleine-König ) 61*297a344dSUwe Kleine-König ); 62*297a344dSUwe Kleine-König 63*297a344dSUwe Kleine-König #endif /* if !defined(_TRACE_SIOX_H) || defined(TRACE_HEADER_MULTI_READ) */ 64*297a344dSUwe Kleine-König 65*297a344dSUwe Kleine-König /* This part must be outside protection */ 66*297a344dSUwe Kleine-König #include <trace/define_trace.h> 67