Commit Graph

6 Commits

Author SHA1 Message Date
Al Stone 6acf13a802 i2c: add tracepoints for I2C slave events
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2071838
Tested: This is one of a series of patch sets to enable Arm SystemReady IR
 support in the kernel for NXP i.MX8 platforms.  This set updates the
 i2c subsystem.  This set has been tested via simple boot tests, use
 of i2cdetect to probe the busses, and of course the CI loop.

commit d714fb25e755ad96b699993fac47f48c4d6cebe9
Author: Jae Hyun Yoo <quic_jaehyoo@quicinc.com>
Date:   Fri Mar 18 13:41:33 2022 -0700

    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>
    (cherry picked from commit d714fb25e755ad96b699993fac47f48c4d6cebe9)

Signed-off-by: Al Stone <ahs3@redhat.com>
2022-10-17 17:27:12 -06:00
Wolfram Sang 8808981baf i2c: slave: add sanity check when unregistering
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Alain Volmat <alain.volmat@st.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
2020-07-28 18:37:17 +02:00
Wolfram Sang 1b1be3bf27 i2c: slave: improve sanity check when registering
Add check for ERR_PTR and simplify code while here.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Alain Volmat <alain.volmat@st.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
2020-07-28 18:37:08 +02:00
Thomas Gleixner 2874c5fd28 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
Based on 1 normalized pattern(s):

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license as published by
  the free software foundation either version 2 of the license or at
  your option any later version

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-or-later

has been chosen to replace the boilerplate/reference in 3029 file(s).

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Allison Randal <allison@lohutok.net>
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-05-30 11:26:32 -07:00
Peter Rosin 3f3a89e1d7 i2c: remove i2c_lock_adapter and use i2c_lock_bus directly
The i2c_lock_adapter name is ambiguous since it is unclear if it
refers to the root adapter or the adapter you name in the argument.
The natural interpretation is the adapter you name in the argument,
but there are historical reasons for that not being the case; it
in fact locks the root adapter. Just remove the function and force
users to spell out the I2C_LOCK_ROOT_ADAPTER name to indicate what
is really going on. Also remove i2c_unlock_adapter, of course.

This patch was generated with

git grep -l 'i2c_\(un\)\?lock_adapter' \
| xargs sed -i 's/i2c_\(un\)\?lock_adapter(\([^)]*\))/'\
'i2c_\1lock_bus(\2, I2C_LOCK_ROOT_ADAPTER)/g'

followed by white-space touch-up.

Signed-off-by: Peter Rosin <peda@axentia.se>
Acked-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Tested-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2018-07-13 00:09:37 +02:00
Wolfram Sang e4991ecdc6 i2c: break out slave support into separate file
Also removes some ifdeffery.

Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2017-05-31 21:01:03 +02:00