[PATCH 2/2] leds: lp8864: Register a backlight device
From: A. Sverdlin
Date: Mon Aug 17 2026 - 13:49:33 EST
From: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxxxx>
The LP8864/LP8866 is a display-cluster LED backlight driver. Expose a
standard backlight class interface in addition to the LED class device,
so it can be used by display/panel stacks that expect a backlight.
Use the new devm_led_backlight_register() helper, which spawns a
led-backlight device driven by our LED and tied to the I2C device
lifetime. This keeps the driver a plain LED driver, requires no
device-tree changes and remains backwards compatible with existing DTs.
It is a no-op when the led-backlight support is not enabled.
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxxxx>
---
drivers/leds/leds-lp8864.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/leds/leds-lp8864.c b/drivers/leds/leds-lp8864.c
index 204727f2f350e..47896dfc13c11 100644
--- a/drivers/leds/leds-lp8864.c
+++ b/drivers/leds/leds-lp8864.c
@@ -10,6 +10,7 @@
#include <linux/gpio/consumer.h>
#include <linux/i2c.h>
#include <linux/init.h>
+#include <linux/led_bl.h>
#include <linux/leds.h>
#include <linux/module.h>
#include <linux/mutex.h>
@@ -264,9 +265,9 @@ static int lp8864_probe(struct i2c_client *client)
ret = devm_led_classdev_register_ext(&client->dev, &led->led_dev, &init_data);
if (ret)
- dev_err(&client->dev, "Failed to register LED device (%pe)\n", ERR_PTR(ret));
+ return dev_err_probe(&client->dev, ret, "Failed to register LED device\n");
- return ret;
+ return devm_led_backlight_register(&client->dev, &led->led_dev);
}
static const struct i2c_device_id lp8864_id[] = {
--
2.55.0