1 // SPDX-FileCopyrightText: 2016 Simon Marchi <simon.marchi@ericsson.com>
3 // SPDX-License-Identifier: GPL-2.0-only
6 #define TRACE_SYSTEM i2c
8 #if !defined(LTTNG_TRACE_I2C_H) || defined(TRACE_HEADER_MULTI_READ)
9 #define LTTNG_TRACE_I2C_H
11 #include <lttng/tracepoint-event.h>
14 * __i2c_transfer() write request
16 LTTNG_TRACEPOINT_EVENT_CODE(i2c_write
,
18 TP_PROTO(const struct i2c_adapter
*adap
, const struct i2c_msg
*msg
,
21 TP_ARGS(adap
, msg
, num
),
24 int extract_sensitive_payload
;
28 tp_locvar
->extract_sensitive_payload
=
29 LTTNG_READ_ONCE(extract_sensitive_payload
);
33 ctf_integer(int, adapter_nr
, adap
->nr
)
34 ctf_integer(__u16
, msg_nr
, num
)
35 ctf_integer(__u16
, addr
, msg
->addr
)
36 ctf_integer(__u16
, flags
, msg
->flags
)
37 ctf_integer(__u16
, len
, msg
->len
)
38 ctf_sequence_hex(__u8
, buf
,
39 tp_locvar
->extract_sensitive_payload
?
42 tp_locvar
->extract_sensitive_payload
?
50 * __i2c_transfer() read request
52 LTTNG_TRACEPOINT_EVENT(i2c_read
,
54 TP_PROTO(const struct i2c_adapter
*adap
, const struct i2c_msg
*msg
,
57 TP_ARGS(adap
, msg
, num
),
60 ctf_integer(int, adapter_nr
, adap
->nr
)
61 ctf_integer(__u16
, msg_nr
, num
)
62 ctf_integer(__u16
, addr
, msg
->addr
)
63 ctf_integer(__u16
, flags
, msg
->flags
)
64 ctf_integer(__u16
, len
, msg
->len
)
69 * __i2c_transfer() read reply
71 LTTNG_TRACEPOINT_EVENT_CODE(i2c_reply
,
73 TP_PROTO(const struct i2c_adapter
*adap
, const struct i2c_msg
*msg
,
76 TP_ARGS(adap
, msg
, num
),
79 int extract_sensitive_payload
;
83 tp_locvar
->extract_sensitive_payload
=
84 LTTNG_READ_ONCE(extract_sensitive_payload
);
88 ctf_integer(int, adapter_nr
, adap
->nr
)
89 ctf_integer(__u16
, msg_nr
, num
)
90 ctf_integer(__u16
, addr
, msg
->addr
)
91 ctf_integer(__u16
, flags
, msg
->flags
)
92 ctf_integer(__u16
, len
, msg
->len
)
93 ctf_sequence_hex(__u8
, buf
,
94 tp_locvar
->extract_sensitive_payload
?
97 tp_locvar
->extract_sensitive_payload
?
105 * __i2c_transfer() result
107 LTTNG_TRACEPOINT_EVENT(i2c_result
,
109 TP_PROTO(const struct i2c_adapter
*adap
, int num
, int ret
),
111 TP_ARGS(adap
, num
, ret
),
114 ctf_integer(int, adapter_nr
, adap
->nr
)
115 ctf_integer(__u16
, nr_msgs
, num
)
116 ctf_integer(__s16
, ret
, ret
)
120 #endif /* LTTNG_TRACE_I2C_H */
122 /* This part must be outside protection */
123 #include <lttng/define_trace.h>