105 lines · c
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_SYSTEM9#define TRACE_SYSTEM bno055_ser10 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->retry44 )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->value60 )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->len76 )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_PATH99#define TRACE_INCLUDE_PATH .100#undef TRACE_INCLUDE_FILE101#define TRACE_INCLUDE_FILE bno055_ser_trace102 103/* This part must be outside protection */104#include <trace/define_trace.h>105