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é