0001
0002 #undef TRACE_SYSTEM
0003 #define TRACE_SYSTEM spmi
0004
0005 #if !defined(_TRACE_SPMI_H) || defined(TRACE_HEADER_MULTI_READ)
0006 #define _TRACE_SPMI_H
0007
0008 #include <linux/spmi.h>
0009 #include <linux/tracepoint.h>
0010
0011
0012
0013
0014
0015 TRACE_EVENT(spmi_write_begin,
0016 TP_PROTO(u8 opcode, u8 sid, u16 addr, u8 len, const u8 *buf),
0017 TP_ARGS(opcode, sid, addr, len, buf),
0018
0019 TP_STRUCT__entry(
0020 __field ( u8, opcode )
0021 __field ( u8, sid )
0022 __field ( u16, addr )
0023 __field ( u8, len )
0024 __dynamic_array ( u8, buf, len )
0025 ),
0026
0027 TP_fast_assign(
0028 __entry->opcode = opcode;
0029 __entry->sid = sid;
0030 __entry->addr = addr;
0031 __entry->len = len;
0032 memcpy(__get_dynamic_array(buf), buf, len);
0033 ),
0034
0035 TP_printk("opc=%d sid=%02d addr=0x%04x len=%d buf=0x[%*phD]",
0036 (int)__entry->opcode, (int)__entry->sid,
0037 (int)__entry->addr, (int)__entry->len,
0038 (int)__entry->len, __get_dynamic_array(buf))
0039 );
0040
0041 TRACE_EVENT(spmi_write_end,
0042 TP_PROTO(u8 opcode, u8 sid, u16 addr, int ret),
0043 TP_ARGS(opcode, sid, addr, ret),
0044
0045 TP_STRUCT__entry(
0046 __field ( u8, opcode )
0047 __field ( u8, sid )
0048 __field ( u16, addr )
0049 __field ( int, ret )
0050 ),
0051
0052 TP_fast_assign(
0053 __entry->opcode = opcode;
0054 __entry->sid = sid;
0055 __entry->addr = addr;
0056 __entry->ret = ret;
0057 ),
0058
0059 TP_printk("opc=%d sid=%02d addr=0x%04x ret=%d",
0060 (int)__entry->opcode, (int)__entry->sid,
0061 (int)__entry->addr, __entry->ret)
0062 );
0063
0064 TRACE_EVENT(spmi_read_begin,
0065 TP_PROTO(u8 opcode, u8 sid, u16 addr),
0066 TP_ARGS(opcode, sid, addr),
0067
0068 TP_STRUCT__entry(
0069 __field ( u8, opcode )
0070 __field ( u8, sid )
0071 __field ( u16, addr )
0072 ),
0073
0074 TP_fast_assign(
0075 __entry->opcode = opcode;
0076 __entry->sid = sid;
0077 __entry->addr = addr;
0078 ),
0079
0080 TP_printk("opc=%d sid=%02d addr=0x%04x",
0081 (int)__entry->opcode, (int)__entry->sid,
0082 (int)__entry->addr)
0083 );
0084
0085 TRACE_EVENT(spmi_read_end,
0086 TP_PROTO(u8 opcode, u8 sid, u16 addr, int ret, u8 len, const u8 *buf),
0087 TP_ARGS(opcode, sid, addr, ret, len, buf),
0088
0089 TP_STRUCT__entry(
0090 __field ( u8, opcode )
0091 __field ( u8, sid )
0092 __field ( u16, addr )
0093 __field ( int, ret )
0094 __field ( u8, len )
0095 __dynamic_array ( u8, buf, len )
0096 ),
0097
0098 TP_fast_assign(
0099 __entry->opcode = opcode;
0100 __entry->sid = sid;
0101 __entry->addr = addr;
0102 __entry->ret = ret;
0103 __entry->len = len;
0104 memcpy(__get_dynamic_array(buf), buf, len);
0105 ),
0106
0107 TP_printk("opc=%d sid=%02d addr=0x%04x ret=%d len=%02d buf=0x[%*phD]",
0108 (int)__entry->opcode, (int)__entry->sid,
0109 (int)__entry->addr, __entry->ret, (int)__entry->len,
0110 (int)__entry->len, __get_dynamic_array(buf))
0111 );
0112
0113 TRACE_EVENT(spmi_cmd,
0114 TP_PROTO(u8 opcode, u8 sid, int ret),
0115 TP_ARGS(opcode, sid, ret),
0116
0117 TP_STRUCT__entry(
0118 __field ( u8, opcode )
0119 __field ( u8, sid )
0120 __field ( int, ret )
0121 ),
0122
0123 TP_fast_assign(
0124 __entry->opcode = opcode;
0125 __entry->sid = sid;
0126 __entry->ret = ret;
0127 ),
0128
0129 TP_printk("opc=%d sid=%02d ret=%d", (int)__entry->opcode,
0130 (int)__entry->sid, ret)
0131 );
0132
0133 #endif
0134
0135
0136 #include <trace/define_trace.h>