From 4ef92f0d1abaef41936f4dc6b95502f9e357a6bd Mon Sep 17 00:00:00 2001 From: Yannick Fertre Date: Mon, 29 Mar 2021 16:27:55 +0200 Subject: [PATCH] backlight: gpio_backlight: add new property default-brightness-level Add new property to set a brightness by default at probe. Change-Id: If89ef2068a097027dd162c8fe4fe18dd08bbfa02 Signed-off-by: Yannick Fertre Reviewed-on: https://gerrit.st.com/c/mpu/oe/st/linux-stm32/+/199534 Reviewed-by: CITOOLS Reviewed-by: Philippe CORNU Reviewed-on: https://gerrit.st.com/c/mpu/oe/st/linux-stm32/+/228192 --- 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);