public inbox for linux-i2c@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/4] i2c: Support i2c_register_spd() on multiplexed bus segments
@ 2024-01-13 11:23 Heiner Kallweit
  2024-01-13 11:25 ` [PATCH v2 1/4] i2c: smbus: Prepare i2c_register_spd for usage on muxed segments Heiner Kallweit
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Heiner Kallweit @ 2024-01-13 11:23 UTC (permalink / raw)
  To: Jean Delvare, Andi Shyti, Peter Rosin, Wolfram Sang,
	Peter Korsgaard
  Cc: linux-i2c@vger.kernel.org

i801 is the last bus driver supporting I2C_CLASS_SPD. It's used for
device probing on muxed bus segments. Only known use case so far is
systems with more than 8 memory modules (with thermal sensor) on
muxed smbus segments.
As discussed with Jean, to be able to remove I2C_CLASS_SPD completely
the following has to be done:

1. Extend i2c_register_spd() for use on muxed bus segments
2. Enable explicit instantiation of thermal sensors on memory modules
3. Extend i801 to call i2c_register_spd() on muxed bus segments

Step 2 has been accomplished:
caba40ec3531 ("eeprom: at24: Probe for DDR3 thermal sensor in the SPD case")
393bd1000f81 ("eeprom: ee1004: add support for temperature sensor")

Patch 1 does step 1
Patches 2 and 3 provide the basis for patch 4
Patch 4 does step 3

Note: i801 creates the mux platform device, loading and probing of the
mux driver may be asynchronous. Therefore we can't call i2c_register_spd()
for the muxed segments from i801. Instead we have to add a flag to the
platform data, so that the mux driver knows it's supposed to call
i2c_register_spd().

This series replaces the earlier RFC series.

v2:
- remove now obsolete comment in patch 1
- fix link error in some configs in patch 2

Heiner Kallweit (4):
  i2c: smbus: Prepare i2c_register_spd for usage on muxed segments
  i2c: mux: add basic support for calling i2c_register_spd on muxed bus
    segments
  i2c: mux: gpio: Allow to call i2c_register_spd on a muxed segment
  i2c: i801: Call i2c_register_spd() on muxed bus segments

 drivers/i2c/Kconfig                        |  1 +
 drivers/i2c/busses/i2c-i801.c              |  1 +
 drivers/i2c/i2c-mux.c                      |  4 ++++
 drivers/i2c/i2c-smbus.c                    | 20 ++++++++++++--------
 drivers/i2c/muxes/i2c-mux-gpio.c           |  1 +
 include/linux/i2c-mux.h                    |  1 +
 include/linux/platform_data/i2c-mux-gpio.h |  2 ++
 7 files changed, 22 insertions(+), 8 deletions(-)

-- 
2.43.0







^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-02-22 22:05 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-13 11:23 [PATCH v2 0/4] i2c: Support i2c_register_spd() on multiplexed bus segments Heiner Kallweit
2024-01-13 11:25 ` [PATCH v2 1/4] i2c: smbus: Prepare i2c_register_spd for usage on muxed segments Heiner Kallweit
2024-01-13 11:27 ` [PATCH v2 2/4] i2c: mux: add basic support for calling i2c_register_spd on muxed bus segments Heiner Kallweit
2024-01-13 11:28 ` [PATCH v2 3/4] i2c: mux: gpio: Allow to call i2c_register_spd on a muxed segment Heiner Kallweit
2024-01-13 11:28 ` [PATCH v2 4/4] i2c: i801: Call i2c_register_spd() on muxed bus segments Heiner Kallweit
2024-01-26 21:15 ` [PATCH v2 0/4] i2c: Support i2c_register_spd() on multiplexed " Heiner Kallweit
2024-02-21 17:19 ` Wolfram Sang
2024-02-21 19:46   ` Heiner Kallweit
2024-02-22 22:05   ` Heiner Kallweit

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox