@@ -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);
@@ -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 */
Allow the gpio-based multiplexer to call i2c_register_spd on muxed segments. First user will be i801. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> --- drivers/i2c/muxes/i2c-mux-gpio.c | 1 + include/linux/platform_data/i2c-mux-gpio.h | 2 ++ 2 files changed, 3 insertions(+)