lkml.org 
[lkml]   [2022]   [Sep]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v2 0/2] i2c: core: Add mux root adapter operations
Date
Some I2C clients need the ability to control the root I2C bus even if the
endpoint device is behind a mux. For example, a driver for a chip that
can't handle any I2C traffic on the bus while coming out of reset
(including an I2C-driven mux switching channels) may need to lock the root
bus with the mux selection fixed for the entire time the device is in
reset.
The SI7020 is such a device. This series adds the ability to the I2C core
to lock the root adapter of a client and fix the mux channel selection
until unlocked. The patch to the SI7020 driver then uses the new functions
to do just that and make sure the chip reset is safe.
I included the IIO patch for context, I can split and resubmit to iio list
only if necessary.
Thanks to Milton for the general idea here.

Changes since v1:
- Correct spelling of i2c_unlock_deselect_bus comment.

Eddie James (2):
i2c: core: Add mux root adapter operations
iio: si7020: Lock root adapter to wait for reset

drivers/i2c/i2c-core-base.c | 38 ++++++++++++++++++++++++++
drivers/i2c/i2c-mux.c | 50 +++++++++++++++++++++++++++++++++++
drivers/iio/humidity/si7020.c | 16 +++++++++--
include/linux/i2c.h | 42 +++++++++++++++++++++++++++++
4 files changed, 144 insertions(+), 2 deletions(-)

--
2.31.1

\
 
 \ /
  Last update: 2022-09-06 22:29    [W:0.163 / U:0.372 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site