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
11TRACE_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
28TRACE_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
47TRACE_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
63TRACE_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
79TRACE_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

source code of linux/drivers/iio/imu/bno055/bno055_ser_trace.h