This extension allows mux drivers to instruct i2c_mux_add_adapter to call i2c_register_spd. First user of this feature will be gpio mux. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> --- drivers/i2c/i2c-mux.c | 4 ++++ include/linux/i2c-mux.h | 1 + 2 files changed, 5 insertions(+) diff --git a/drivers/i2c/i2c-mux.c b/drivers/i2c/i2c-mux.c index 57ff09f18..ada9c764f 100644 --- a/drivers/i2c/i2c-mux.c +++ b/drivers/i2c/i2c-mux.c @@ -22,6 +22,7 @@ #include <linux/acpi.h> #include <linux/i2c.h> #include <linux/i2c-mux.h> +#include <linux/i2c-smbus.h> #include <linux/kernel.h> #include <linux/module.h> #include <linux/of.h> @@ -429,6 +430,9 @@ int i2c_mux_add_adapter(struct i2c_mux_core *muxc, dev_info(&parent->dev, "Added multiplexed i2c bus %d\n", i2c_adapter_id(&priv->adap)); + if (muxc->register_spd) + i2c_register_spd(&priv->adap); + muxc->adapter[muxc->num_adapters++] = &priv->adap; return 0; diff --git a/include/linux/i2c-mux.h b/include/linux/i2c-mux.h index 98ef73b7c..ec51d9bc4 100644 --- a/include/linux/i2c-mux.h +++ b/include/linux/i2c-mux.h @@ -21,6 +21,7 @@ struct i2c_mux_core { unsigned int mux_locked:1; unsigned int arbitrator:1; unsigned int gate:1; + unsigned int register_spd:1; void *priv; -- 2.43.0