brintos

brintos / linux-shallow public Read only

0
0
Text · 3.2 KiB · c33eba1 Raw
108 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2 3#undef TRACE_SYSTEM4#define TRACE_SYSTEM fsi_master_i2cr5 6#if !defined(_TRACE_FSI_MASTER_I2CR_H) || defined(TRACE_HEADER_MULTI_READ)7#define _TRACE_FSI_MASTER_I2CR_H8 9#include <linux/tracepoint.h>10 11TRACE_EVENT(i2cr_i2c_error,12	TP_PROTO(const struct i2c_client *client, uint32_t command, int rc),13	TP_ARGS(client, command, rc),14	TP_STRUCT__entry(15		__field(int, bus)16		__field(int, rc)17		__array(unsigned char, command, sizeof(uint32_t))18		__field(unsigned short, addr)19	),20	TP_fast_assign(21		__entry->bus = client->adapter->nr;22		__entry->rc = rc;23		memcpy(__entry->command, &command, sizeof(uint32_t));24		__entry->addr = client->addr;25	),26	TP_printk("%d-%02x command:{ %*ph } rc:%d", __entry->bus, __entry->addr,27		  (int)sizeof(uint32_t), __entry->command, __entry->rc)28);29 30TRACE_EVENT(i2cr_read,31	TP_PROTO(const struct i2c_client *client, uint32_t command, uint64_t *data),32	TP_ARGS(client, command, data),33	TP_STRUCT__entry(34		__field(int, bus)35		__array(unsigned char, data, sizeof(uint64_t))36		__array(unsigned char, command, sizeof(uint32_t))37		__field(unsigned short, addr)38	),39	TP_fast_assign(40		__entry->bus = client->adapter->nr;41		memcpy(__entry->data, data, sizeof(uint64_t));42		memcpy(__entry->command, &command, sizeof(uint32_t));43		__entry->addr = client->addr;44	),45	TP_printk("%d-%02x command:{ %*ph } { %*ph }", __entry->bus, __entry->addr,46		  (int)sizeof(uint32_t), __entry->command, (int)sizeof(uint64_t), __entry->data)47);48 49TRACE_EVENT(i2cr_status,50	TP_PROTO(const struct i2c_client *client, uint64_t status),51	TP_ARGS(client, status),52	TP_STRUCT__entry(53		__field(uint64_t, status)54		__field(int, bus)55		__field(unsigned short, addr)56	),57	TP_fast_assign(58		__entry->status = status;59		__entry->bus = client->adapter->nr;60		__entry->addr = client->addr;61	),62	TP_printk("%d-%02x %016llx", __entry->bus, __entry->addr, __entry->status)63);64 65TRACE_EVENT(i2cr_status_error,66	TP_PROTO(const struct i2c_client *client, uint64_t status, uint64_t error, uint64_t log),67	TP_ARGS(client, status, error, log),68	TP_STRUCT__entry(69		__field(uint64_t, error)70		__field(uint64_t, log)71		__field(uint64_t, status)72		__field(int, bus)73		__field(unsigned short, addr)74	),75	TP_fast_assign(76		__entry->error = error;77		__entry->log = log;78		__entry->status = status;79		__entry->bus = client->adapter->nr;80		__entry->addr = client->addr;81	),82	TP_printk("%d-%02x status:%016llx error:%016llx log:%016llx", __entry->bus, __entry->addr,83		  __entry->status, __entry->error, __entry->log)84);85 86TRACE_EVENT(i2cr_write,87	TP_PROTO(const struct i2c_client *client, uint32_t command, uint64_t data),88	TP_ARGS(client, command, data),89	TP_STRUCT__entry(90		__field(int, bus)91		__array(unsigned char, data, sizeof(uint64_t))92		__array(unsigned char, command, sizeof(uint32_t))93		__field(unsigned short, addr)94	),95	TP_fast_assign(96		__entry->bus = client->adapter->nr;97		memcpy(__entry->data, &data, sizeof(uint64_t));98		memcpy(__entry->command, &command, sizeof(uint32_t));99		__entry->addr = client->addr;100	),101	TP_printk("%d-%02x command:{ %*ph } { %*ph }", __entry->bus, __entry->addr,102		  (int)sizeof(uint32_t), __entry->command, (int)sizeof(uint64_t), __entry->data)103);104 105#endif106 107#include <trace/define_trace.h>108