Allow the gpio-based multiplexer to call i2c_register_spd on muxed segments. First user will be i801. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> --- drivers/i2c/muxes/i2c-mux-gpio.c | 1 + include/linux/platform_data/i2c-mux-gpio.h | 2 ++ 2 files changed, 3 insertions(+) diff --git a/drivers/i2c/muxes/i2c-mux-gpio.c b/drivers/i2c/muxes/i2c-mux-gpio.c index 6b979a0a6..c841407c7 100644 --- a/drivers/i2c/muxes/i2c-mux-gpio.c +++ b/drivers/i2c/muxes/i2c-mux-gpio.c @@ -161,6 +161,7 @@ static int i2c_mux_gpio_probe(struct platform_device *pdev) } mux->gpios = muxc->priv; muxc->priv = mux; + muxc->register_spd = mux->data.register_spd; platform_set_drvdata(pdev, muxc); diff --git a/include/linux/platform_data/i2c-mux-gpio.h b/include/linux/platform_data/i2c-mux-gpio.h index 5e4c2c272..cbeb74f92 100644 --- a/include/linux/platform_data/i2c-mux-gpio.h +++ b/include/linux/platform_data/i2c-mux-gpio.h @@ -20,6 +20,7 @@ * @n_values: Number of multiplexer positions (busses to instantiate) * @classes: Optional I2C auto-detection classes * @idle: Bitmask to write to MUX when idle or GPIO_I2CMUX_NO_IDLE if not used + * @register_spd: call i2c_register_spd for the child adapters on muxed segments */ struct i2c_mux_gpio_platform_data { int parent; @@ -28,6 +29,7 @@ struct i2c_mux_gpio_platform_data { int n_values; const unsigned *classes; unsigned idle; + unsigned int register_spd:1; }; #endif /* _LINUX_I2C_MUX_GPIO_H */ -- 2.43.0