Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
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  * drivers/spmi/spmi.c
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 /* _TRACE_SPMI_H */
0134 
0135 /* This part must be outside protection */
0136 #include <trace/define_trace.h>