platform/loongarch: laptop: Get brightness setting from EC on probe
authorYao Zi <ziyao@disroot.org>
Thu, 5 Jun 2025 12:34:46 +0000 (20:34 +0800)
committerHuacai Chen <chenhuacai@loongson.cn>
Fri, 6 Jun 2025 10:51:16 +0000 (18:51 +0800)
Previously during driver probe, 1 is unconditionally taken as current
brightness value and set to props.brightness, which will be considered
as the brightness before suspend and restored to EC on resume. Since a
brightness value of 1 almost never matches EC's state on coldboot (my
laptop's EC defaults to 80), this causes surprising changes of screen
brightness on the first time of resume after coldboot.

Let's get brightness from EC and take it as the current brightness on
probe of the laptop driver to avoid the surprising behavior. Tested on
TongFang L860-T2 Loongson-3A5000 laptop.

Cc: stable@vger.kernel.org
Fixes: 6246ed09111f ("LoongArch: Add ACPI-based generic laptop driver")
Signed-off-by: Yao Zi <ziyao@disroot.org>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
drivers/platform/loongarch/loongson-laptop.c

index 99203584949daa2af9e5013c7a8ed7d64b60bf0f..ba9a90818c921034936aa99d372fbd4a4769bf65 100644 (file)
@@ -392,8 +392,8 @@ static int laptop_backlight_register(void)
        if (!acpi_evalf(hotkey_handle, &status, "ECLL", "d"))
                return -EIO;
 
-       props.brightness = 1;
        props.max_brightness = status;
+       props.brightness = ec_get_brightness();
        props.type = BACKLIGHT_PLATFORM;
 
        backlight_device_register("loongson_laptop",