[PATCH 2/2] leds: lp8864: Register a backlight device
"A. Sverdlin" <[email protected]>
| Newsgroups | org.kernel.vger.linux-leds,org.freedesktop.lists.dri-devel,org.kernel.vger.linux-fbdev,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
From: Alexander Sverdlin <[email protected]> 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 <[email protected]> --- 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