[PATCH v4 6/8] backlight: led-backlight: add devlink to supplier LEDs
Sverdlin, Alexander
alexander.sverdlin at siemens.com
Mon May 12 12:13:54 UTC 2025
Hi Luca,
On Mon, 2025-05-12 at 13:39 +0200, Alexander Sverdlin wrote:
> > led-backlight is a consumer of one or multiple LED class devices, but no
> > devlink is created for such supplier-producer relationship. One consequence
> > is that removal ordered is not correctly enforced.
> >
> > Issues happen for example with the following sections in a device tree
> > overlay:
> >
> > // An LED driver chip
> > pca9632 at 62 {
> > compatible = "nxp,pca9632";
> > reg = <0x62>;
> >
> > // ...
> >
> > addon_led_pwm: led-pwm at 3 {
> > reg = <3>;
> > label = "addon:led:pwm";
> > };
> > };
> >
> > backlight-addon {
> > compatible = "led-backlight";
> > leds = <&addon_led_pwm>;
> > brightness-levels = <255>;
> > default-brightness-level = <255>;
> > };
> >
> > On removal of the above overlay, the LED driver can be removed before the
> > backlight device, resulting in:
> >
> > Unable to handle kernel NULL pointer dereference at virtual address 0000000000000010
> > ...
> > Call trace:
> > led_put+0xe0/0x140
> > devm_led_release+0x6c/0x98
> >
> > Fix by adding a devlink between the consuming led-backlight device and the
> > supplying LED device.
> >
> > Signed-off-by: Luca Ceresoli <luca.ceresoli at bootlin.com>
>
> I've tested the patch wit LP8864 LED as a provider for led_bl, removing the
> underlying I2C bus. The patch avoids the crash for me (by removing led_bl device as well),
> thanks for fixing it!
>
> Tested-by: Alexander Sverdlin <alexander.sverdlin at siemens.com>
Would it make sense to add
Fixes: ae232e45acf9 ("backlight: add led-backlight driver")
?
--
Alexander Sverdlin
Siemens AG
www.siemens.com
More information about the dri-devel
mailing list