mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 16:13:19 +09:00
i2c: add tracepoints for I2C slave events
I2C slave events tracepoints can be enabled by: echo 1 > /sys/kernel/tracing/events/i2c_slave/enable and logs in /sys/kernel/tracing/trace will look like: ... i2c_slave: i2c-0 a=010 ret=0 WR_REQ [] ... i2c_slave: i2c-0 a=010 ret=0 WR_RCV [02] ... i2c_slave: i2c-0 a=010 ret=0 WR_RCV [0c] ... i2c_slave: i2c-0 a=010 ret=0 STOP [] ... i2c_slave: i2c-0 a=010 ret=0 RD_REQ [04] ... i2c_slave: i2c-0 a=010 ret=0 RD_PRO [b4] ... i2c_slave: i2c-0 a=010 ret=0 STOP [] formatted as: i2c-<adapter_nr> a=<addr> ret=<ret> <- callback return value <event> [<data>] trace printings can be selected by adding a filter like: echo adapter_nr==1 >/sys/kernel/tracing/events/i2c_slave/filter Signed-off-by: Jae Hyun Yoo <quic_jaehyoo@quicinc.com> Signed-off-by: Wolfram Sang <wsa@kernel.org>
This commit is contained in:
committed by
Wolfram Sang
parent
3364c0ef87
commit
d714fb25e7
@@ -392,12 +392,8 @@ enum i2c_slave_event {
|
||||
int i2c_slave_register(struct i2c_client *client, i2c_slave_cb_t slave_cb);
|
||||
int i2c_slave_unregister(struct i2c_client *client);
|
||||
bool i2c_detect_slave_mode(struct device *dev);
|
||||
|
||||
static inline int i2c_slave_event(struct i2c_client *client,
|
||||
enum i2c_slave_event event, u8 *val)
|
||||
{
|
||||
return client->slave_cb(client, event, val);
|
||||
}
|
||||
int i2c_slave_event(struct i2c_client *client,
|
||||
enum i2c_slave_event event, u8 *val);
|
||||
#else
|
||||
static inline bool i2c_detect_slave_mode(struct device *dev) { return false; }
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user