Similar to mux devices, create special symlinks to connect the demuxed bus with the demux device. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> --- drivers/i2c/muxes/i2c-demux-pinctrl.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/i2c/muxes/i2c-demux-pinctrl.c b/drivers/i2c/muxes/i2c-demux-pinctrl.c index 035032e20327..d5e7d4aa6ee1 100644 --- a/drivers/i2c/muxes/i2c-demux-pinctrl.c +++ b/drivers/i2c/muxes/i2c-demux-pinctrl.c @@ -116,6 +116,11 @@ static int i2c_demux_activate_master(struct i2c_demux_pinctrl_priv *priv, u32 ne if (ret < 0) goto err_with_put; + sysfs_create_link(&priv->cur_adap.dev.kobj, &priv->dev->kobj, + "demux_device"); + sysfs_create_link(&priv->dev->kobj, &priv->cur_adap.dev.kobj, + "channel-0"); + return 0; err_with_put: @@ -135,6 +140,9 @@ static int i2c_demux_deactivate_master(struct i2c_demux_pinctrl_priv *priv) if (cur < 0) return 0; + sysfs_remove_link(&priv->dev->kobj, "channel-0"); + sysfs_remove_link(&priv->cur_adap.dev.kobj, "demux_device"); + i2c_del_adapter(&priv->cur_adap); i2c_put_adapter(priv->chan[cur].parent_adap); -- 2.11.0