Hi Luca,

On Mon, 19 May 2025 17:16:39 +0200
Luca Ceresoli <luca.ceres...@bootlin.com> wrote:

...

> diff --git a/drivers/video/backlight/led_bl.c 
> b/drivers/video/backlight/led_bl.c
> index 
> d2db157b2c290adc3a159023e9e2394fc877388c..8fe645b5b75447d009e1045dcf0c62d3bbc5425e
>  100644
> --- a/drivers/video/backlight/led_bl.c
> +++ b/drivers/video/backlight/led_bl.c
> @@ -209,6 +209,19 @@ static int led_bl_probe(struct platform_device *pdev)
>               return PTR_ERR(priv->bl_dev);
>       }
>  
> +     for (i = 0; i < priv->nb_leds; i++) {
> +             struct device_link *link;
> +
> +             link = device_link_add(&pdev->dev, priv->leds[0]->dev->parent,

It should be priv->leds[i]->dev->parent instead of leds[0], shouldn't it?

> +                                    DL_FLAG_AUTOREMOVE_CONSUMER);
> +             if (!link) {
> +                     dev_err(&pdev->dev, "Failed to add devlink (consumer 
> %s, supplier %s)\n",
> +                             dev_name(&pdev->dev), 
> dev_name(priv->leds[0]->dev->parent));

ditto

> +                     backlight_device_unregister(priv->bl_dev);
> +                     return -EINVAL;
> +             }
> +     }
> +
>       for (i = 0; i < priv->nb_leds; i++) {
>               mutex_lock(&priv->leds[i]->led_access);
>               led_sysfs_disable(priv->leds[i]);
> 

Best regards,
Hervé

Reply via email to