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