0001 #undef TRACE_SYSTEM
0002 #define TRACE_SYSTEM siox
0003
0004 #if !defined(_TRACE_SIOX_H) || defined(TRACE_HEADER_MULTI_READ)
0005 #define _TRACE_SIOX_H
0006
0007 #include <linux/tracepoint.h>
0008
0009 TRACE_EVENT(siox_set_data,
0010 TP_PROTO(const struct siox_master *smaster,
0011 const struct siox_device *sdevice,
0012 unsigned int devno, size_t bufoffset),
0013 TP_ARGS(smaster, sdevice, devno, bufoffset),
0014 TP_STRUCT__entry(
0015 __field(int, busno)
0016 __field(unsigned int, devno)
0017 __field(size_t, inbytes)
0018 __dynamic_array(u8, buf, sdevice->inbytes)
0019 ),
0020 TP_fast_assign(
0021 __entry->busno = smaster->busno;
0022 __entry->devno = devno;
0023 __entry->inbytes = sdevice->inbytes;
0024 memcpy(__get_dynamic_array(buf),
0025 smaster->buf + bufoffset, sdevice->inbytes);
0026 ),
0027 TP_printk("siox-%d-%u [%*phD]",
0028 __entry->busno,
0029 __entry->devno,
0030 (int)__entry->inbytes, __get_dynamic_array(buf)
0031 )
0032 );
0033
0034 TRACE_EVENT(siox_get_data,
0035 TP_PROTO(const struct siox_master *smaster,
0036 const struct siox_device *sdevice,
0037 unsigned int devno, u8 status_clean,
0038 size_t bufoffset),
0039 TP_ARGS(smaster, sdevice, devno, status_clean, bufoffset),
0040 TP_STRUCT__entry(
0041 __field(int, busno)
0042 __field(unsigned int, devno)
0043 __field(u8, status_clean)
0044 __field(size_t, outbytes)
0045 __dynamic_array(u8, buf, sdevice->outbytes)
0046 ),
0047 TP_fast_assign(
0048 __entry->busno = smaster->busno;
0049 __entry->devno = devno;
0050 __entry->status_clean = status_clean;
0051 __entry->outbytes = sdevice->outbytes;
0052 memcpy(__get_dynamic_array(buf),
0053 smaster->buf + bufoffset, sdevice->outbytes);
0054 ),
0055 TP_printk("siox-%d-%u (%02hhx) [%*phD]",
0056 __entry->busno,
0057 __entry->devno,
0058 __entry->status_clean,
0059 (int)__entry->outbytes, __get_dynamic_array(buf)
0060 )
0061 );
0062
0063 #endif
0064
0065
0066 #include <trace/define_trace.h>