Merge tag 'vfs-6.10.rw' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs
[sfrench/cifs-2.6.git] / include / trace / events / spmi.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #undef TRACE_SYSTEM
3 #define TRACE_SYSTEM spmi
4
5 #if !defined(_TRACE_SPMI_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define _TRACE_SPMI_H
7
8 #include <linux/spmi.h>
9 #include <linux/tracepoint.h>
10
11 /*
12  * drivers/spmi/spmi.c
13  */
14
15 TRACE_EVENT(spmi_write_begin,
16         TP_PROTO(u8 opcode, u8 sid, u16 addr, u8 len, const u8 *buf),
17         TP_ARGS(opcode, sid, addr, len, buf),
18
19         TP_STRUCT__entry(
20                 __field         ( u8,         opcode    )
21                 __field         ( u8,         sid       )
22                 __field         ( u16,        addr      )
23                 __field         ( u8,         len       )
24                 __dynamic_array ( u8,   buf,  len       )
25         ),
26
27         TP_fast_assign(
28                 __entry->opcode = opcode;
29                 __entry->sid    = sid;
30                 __entry->addr   = addr;
31                 __entry->len    = len;
32                 memcpy(__get_dynamic_array(buf), buf, len);
33         ),
34
35         TP_printk("opc=%d sid=%02d addr=0x%04x len=%d buf=0x[%*phD]",
36                   (int)__entry->opcode, (int)__entry->sid,
37                   (int)__entry->addr, (int)__entry->len,
38                   (int)__entry->len, __get_dynamic_array(buf))
39 );
40
41 TRACE_EVENT(spmi_write_end,
42         TP_PROTO(u8 opcode, u8 sid, u16 addr, int ret),
43         TP_ARGS(opcode, sid, addr, ret),
44
45         TP_STRUCT__entry(
46                 __field         ( u8,         opcode    )
47                 __field         ( u8,         sid       )
48                 __field         ( u16,        addr      )
49                 __field         ( int,        ret       )
50         ),
51
52         TP_fast_assign(
53                 __entry->opcode = opcode;
54                 __entry->sid    = sid;
55                 __entry->addr   = addr;
56                 __entry->ret    = ret;
57         ),
58
59         TP_printk("opc=%d sid=%02d addr=0x%04x ret=%d",
60                   (int)__entry->opcode, (int)__entry->sid,
61                   (int)__entry->addr, __entry->ret)
62 );
63
64 TRACE_EVENT(spmi_read_begin,
65         TP_PROTO(u8 opcode, u8 sid, u16 addr),
66         TP_ARGS(opcode, sid, addr),
67
68         TP_STRUCT__entry(
69                 __field         ( u8,         opcode    )
70                 __field         ( u8,         sid       )
71                 __field         ( u16,        addr      )
72         ),
73
74         TP_fast_assign(
75                 __entry->opcode = opcode;
76                 __entry->sid    = sid;
77                 __entry->addr   = addr;
78         ),
79
80         TP_printk("opc=%d sid=%02d addr=0x%04x",
81                   (int)__entry->opcode, (int)__entry->sid,
82                   (int)__entry->addr)
83 );
84
85 TRACE_EVENT(spmi_read_end,
86         TP_PROTO(u8 opcode, u8 sid, u16 addr, int ret, u8 len, const u8 *buf),
87         TP_ARGS(opcode, sid, addr, ret, len, buf),
88
89         TP_STRUCT__entry(
90                 __field         ( u8,         opcode    )
91                 __field         ( u8,         sid       )
92                 __field         ( u16,        addr      )
93                 __field         ( int,        ret       )
94                 __field         ( u8,         len       )
95                 __dynamic_array ( u8,   buf,  len       )
96         ),
97
98         TP_fast_assign(
99                 __entry->opcode = opcode;
100                 __entry->sid    = sid;
101                 __entry->addr   = addr;
102                 __entry->ret    = ret;
103                 __entry->len    = len;
104                 memcpy(__get_dynamic_array(buf), buf, len);
105         ),
106
107         TP_printk("opc=%d sid=%02d addr=0x%04x ret=%d len=%02d buf=0x[%*phD]",
108                   (int)__entry->opcode, (int)__entry->sid,
109                   (int)__entry->addr, __entry->ret, (int)__entry->len,
110                   (int)__entry->len, __get_dynamic_array(buf))
111 );
112
113 TRACE_EVENT(spmi_cmd,
114         TP_PROTO(u8 opcode, u8 sid, int ret),
115         TP_ARGS(opcode, sid, ret),
116
117         TP_STRUCT__entry(
118                 __field         ( u8,         opcode    )
119                 __field         ( u8,         sid       )
120                 __field         ( int,        ret       )
121         ),
122
123         TP_fast_assign(
124                 __entry->opcode = opcode;
125                 __entry->sid    = sid;
126                 __entry->ret    = ret;
127         ),
128
129         TP_printk("opc=%d sid=%02d ret=%d", (int)__entry->opcode,
130                   (int)__entry->sid, ret)
131 );
132
133 #endif /* _TRACE_SPMI_H */
134
135 /* This part must be outside protection */
136 #include <trace/define_trace.h>