[PATCH 1/2] backlight: gpio_backlight: add new property default-brightness-level

From: Alexandru Ardelean
Date: Fri May 19 2023 - 16:05:44 EST


From: Yannick Fertre <yannick.fertre@xxxxxxxxxxx>

Add new property to set a brightness by default at probe.

Reviewed-by: Philippe CORNU <philippe.cornu@xxxxxxxxxxx>
Signed-off-by: Yannick Fertre <yannick.fertre@xxxxxxxxxxx>
Signed-off-by: Alexandru Ardelean <alex@xxxxxxxxxxx>
---

Link to original patch:
https://github.com/STMicroelectronics/linux/commit/c4067d7bd883c6fa14ffd49892c4ce663cdafe98

drivers/video/backlight/gpio_backlight.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/video/backlight/gpio_backlight.c b/drivers/video/backlight/gpio_backlight.c
index 6f78d928f054..d3fa3a8bef4d 100644
--- a/drivers/video/backlight/gpio_backlight.c
+++ b/drivers/video/backlight/gpio_backlight.c
@@ -53,6 +53,7 @@ static int gpio_backlight_probe(struct platform_device *pdev)
struct backlight_device *bl;
struct gpio_backlight *gbl;
int ret, init_brightness, def_value;
+ u32 value;

gbl = devm_kzalloc(dev, sizeof(*gbl), GFP_KERNEL);
if (gbl == NULL)
@@ -93,7 +94,11 @@ static int gpio_backlight_probe(struct platform_device *pdev)
else
bl->props.power = FB_BLANK_UNBLANK;

- bl->props.brightness = 1;
+ ret = device_property_read_u32(dev, "default-brightness-level", &value);
+ if (!ret && value <= props.max_brightness)
+ bl->props.brightness = value;
+ else
+ bl->props.brightness = 1;

init_brightness = backlight_get_brightness(bl);
ret = gpiod_direction_output(gbl->gpiod, init_brightness);
--
2.40.1