On 2018-04-30 13:55, Wolfram Sang wrote:
> Similar to mux devices, create special symlinks to connect the demuxed
> bus with the demux device.
> 
> Signed-off-by: Wolfram Sang <[email protected]>
> ---
>  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");
> +

>From sysfs.h:
int __must_check sysfs_create_link(...);

Cheers,
Peter

>       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);
>  
> 

Reply via email to