spi: Provide trace points for message processing
[firefly-linux-kernel-4.4.55.git] / 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 DEFINE_EVENT(spi_message, spi_message_done,
84
85         TP_PROTO(struct spi_message *msg),
86
87         TP_ARGS(msg)
88
89 );
90
91 #endif /* _TRACE_POWER_H */
92
93 /* This part must be outside protection */
94 #include <trace/define_trace.h>