1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | |
3 | #if !defined(__BNO055_SERDEV_TRACE_H__) || defined(TRACE_HEADER_MULTI_READ) |
4 | #define __BNO055_SERDEV_TRACE_H__ |
5 | |
6 | #include <linux/tracepoint.h> |
7 | |
8 | #undef TRACE_SYSTEM |
9 | #define TRACE_SYSTEM bno055_ser |
10 | |
11 | TRACE_EVENT(send_chunk, |
12 | TP_PROTO(int len, const u8 *data), |
13 | TP_ARGS(len, data), |
14 | TP_STRUCT__entry( |
15 | __field(int, len) |
16 | __dynamic_array(u8, chunk, len) |
17 | ), |
18 | TP_fast_assign( |
19 | __entry->len = len; |
20 | memcpy(__get_dynamic_array(chunk), |
21 | data, __entry->len); |
22 | ), |
23 | TP_printk("len: %d, data: = %*ph" , |
24 | __entry->len, __entry->len, __get_dynamic_array(chunk) |
25 | ) |
26 | ); |
27 | |
28 | TRACE_EVENT(cmd_retry, |
29 | TP_PROTO(bool read, int addr, int retry), |
30 | TP_ARGS(read, addr, retry), |
31 | TP_STRUCT__entry( |
32 | __field(bool, read) |
33 | __field(int, addr) |
34 | __field(int, retry) |
35 | ), |
36 | TP_fast_assign( |
37 | __entry->read = read; |
38 | __entry->addr = addr; |
39 | __entry->retry = retry; |
40 | ), |
41 | TP_printk("%s addr 0x%x retry #%d" , |
42 | __entry->read ? "read" : "write" , |
43 | __entry->addr, __entry->retry |
44 | ) |
45 | ); |
46 | |
47 | TRACE_EVENT(write_reg, |
48 | TP_PROTO(u8 addr, u8 value), |
49 | TP_ARGS(addr, value), |
50 | TP_STRUCT__entry( |
51 | __field(u8, addr) |
52 | __field(u8, value) |
53 | ), |
54 | TP_fast_assign( |
55 | __entry->addr = addr; |
56 | __entry->value = value; |
57 | ), |
58 | TP_printk("reg 0x%x = 0x%x" , |
59 | __entry->addr, __entry->value |
60 | ) |
61 | ); |
62 | |
63 | TRACE_EVENT(read_reg, |
64 | TP_PROTO(int addr, size_t len), |
65 | TP_ARGS(addr, len), |
66 | TP_STRUCT__entry( |
67 | __field(int, addr) |
68 | __field(size_t, len) |
69 | ), |
70 | TP_fast_assign( |
71 | __entry->addr = addr; |
72 | __entry->len = len; |
73 | ), |
74 | TP_printk("reg 0x%x (len %zu)" , |
75 | __entry->addr, __entry->len |
76 | ) |
77 | ); |
78 | |
79 | TRACE_EVENT(recv, |
80 | TP_PROTO(size_t len, const unsigned char *buf), |
81 | TP_ARGS(len, buf), |
82 | TP_STRUCT__entry( |
83 | __field(size_t, len) |
84 | __dynamic_array(unsigned char, buf, len) |
85 | ), |
86 | TP_fast_assign( |
87 | __entry->len = len; |
88 | memcpy(__get_dynamic_array(buf), |
89 | buf, __entry->len); |
90 | ), |
91 | TP_printk("len: %zu, data: = %*ph" , |
92 | __entry->len, (int)__entry->len, __get_dynamic_array(buf) |
93 | ) |
94 | ); |
95 | |
96 | #endif /* __BNO055_SERDEV_TRACE_H__ || TRACE_HEADER_MULTI_READ */ |
97 | |
98 | #undef TRACE_INCLUDE_PATH |
99 | #define TRACE_INCLUDE_PATH . |
100 | #undef TRACE_INCLUDE_FILE |
101 | #define TRACE_INCLUDE_FILE bno055_ser_trace |
102 | |
103 | /* This part must be outside protection */ |
104 | #include <trace/define_trace.h> |
105 | |