Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / include / trace / events / spi.h
1 #undef TRACE_SYSTEM
2 #define TRACE_SYSTEM spi
3
4 #if !defined(_TRACE_SPI_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define _TRACE_SPI_H
6
7 #include <linux/ktime.h>
8 #include <linux/tracepoint.h>
9
10 DECLARE_EVENT_CLASS(spi_master,
11
12         TP_PROTO(struct spi_master *master),
13
14         TP_ARGS(master),
15
16         TP_STRUCT__entry(
17                 __field(        int,           bus_num             )
18         ),
19
20         TP_fast_assign(
21                 __entry->bus_num = master->bus_num;
22         ),
23
24         TP_printk("spi%d", (int)__entry->bus_num)
25
26 );
27
28 DEFINE_EVENT(spi_master, spi_master_idle,
29
30         TP_PROTO(struct spi_master *master),
31
32         TP_ARGS(master)
33
34 );
35
36 DEFINE_EVENT(spi_master, spi_master_busy,
37
38         TP_PROTO(struct spi_master *master),
39
40         TP_ARGS(master)
41
42 );
43
44 DECLARE_EVENT_CLASS(spi_message,
45
46         TP_PROTO(struct spi_message *msg),
47
48         TP_ARGS(msg),
49
50         TP_STRUCT__entry(
51                 __field(        int,            bus_num         )
52                 __field(        int,            chip_select     )
53                 __field(        struct spi_message *,   msg     )
54         ),
55
56         TP_fast_assign(
57                 __entry->bus_num = msg->spi->master->bus_num;
58                 __entry->chip_select = msg->spi->chip_select;
59                 __entry->msg = msg;
60         ),
61
62         TP_printk("spi%d.%d %p", (int)__entry->bus_num,
63                   (int)__entry->chip_select,
64                   (struct spi_message *)__entry->msg)
65 );
66
67 DEFINE_EVENT(spi_message, spi_message_submit,
68
69         TP_PROTO(struct spi_message *msg),
70
71         TP_ARGS(msg)
72
73 );
74
75 DEFINE_EVENT(spi_message, spi_message_start,
76
77         TP_PROTO(struct spi_message *msg),
78
79         TP_ARGS(msg)
80
81 );
82
83 TRACE_EVENT(spi_message_done,
84
85         TP_PROTO(struct spi_message *msg),
86
87         TP_ARGS(msg),
88
89         TP_STRUCT__entry(
90                 __field(        int,            bus_num         )
91                 __field(        int,            chip_select     )
92                 __field(        struct spi_message *,   msg     )
93                 __field(        unsigned,       frame           )
94                 __field(        unsigned,       actual          )
95         ),
96
97         TP_fast_assign(
98                 __entry->bus_num = msg->spi->master->bus_num;
99                 __entry->chip_select = msg->spi->chip_select;
100                 __entry->msg = msg;
101                 __entry->frame = msg->frame_length;
102                 __entry->actual = msg->actual_length;
103         ),
104
105         TP_printk("spi%d.%d %p len=%u/%u", (int)__entry->bus_num,
106                   (int)__entry->chip_select,
107                   (struct spi_message *)__entry->msg,
108                   (unsigned)__entry->actual, (unsigned)__entry->frame)
109 );
110
111 DECLARE_EVENT_CLASS(spi_transfer,
112
113         TP_PROTO(struct spi_message *msg, struct spi_transfer *xfer),
114
115         TP_ARGS(msg, xfer),
116
117         TP_STRUCT__entry(
118                 __field(        int,            bus_num         )
119                 __field(        int,            chip_select     )
120                 __field(        struct spi_transfer *,   xfer   )
121                 __field(        int,            len             )
122         ),
123
124         TP_fast_assign(
125                 __entry->bus_num = msg->spi->master->bus_num;
126                 __entry->chip_select = msg->spi->chip_select;
127                 __entry->xfer = xfer;
128                 __entry->len = xfer->len;
129         ),
130
131         TP_printk("spi%d.%d %p len=%d", (int)__entry->bus_num,
132                   (int)__entry->chip_select,
133                   (struct spi_message *)__entry->xfer,
134                   (int)__entry->len)
135 );
136
137 DEFINE_EVENT(spi_transfer, spi_transfer_start,
138
139         TP_PROTO(struct spi_message *msg, struct spi_transfer *xfer),
140
141         TP_ARGS(msg, xfer)
142
143 );
144
145 DEFINE_EVENT(spi_transfer, spi_transfer_stop,
146
147         TP_PROTO(struct spi_message *msg, struct spi_transfer *xfer),
148
149         TP_ARGS(msg, xfer)
150
151 );
152
153 #endif /* _TRACE_POWER_H */
154
155 /* This part must be outside protection */
156 #include <trace/define_trace.h>