platform/x86: thinkpad_acpi: Fix max_brightness of thinklight
authorHans de Goede <hdegoede@redhat.com>
Mon, 7 Nov 2022 12:43:22 +0000 (13:43 +0100)
committerHans de Goede <hdegoede@redhat.com>
Wed, 16 Nov 2022 07:48:19 +0000 (08:48 +0100)
Thinklight has only two values, on/off so it's reasonable for
max_brightness to be 0 and 1 as if you write anything between 0 and 255
it will be 255 anyway so there's no point for it to be 255.

This may look like it is a userspace API change, but writes with
a value larget then the new max_brightness will still be accepted,
these will be silently clamped to the new max_brightness by
led_set_brightness_nosleep(). So no userspace API problems are
expected.

Reported-by: MichaƂ Szczepaniak <m.szczepaniak.000@gmail.com>
Link: https://lore.kernel.org/platform-driver-x86/55400326-e64f-5444-94e5-22b8214d00b6@gmail.com/
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/platform/x86/thinkpad_acpi.c

index 4b12808bddabbb9c9b7efa0be76c07a393363170..cfeed1c45b548e997acd6a4437b0b34a1321b201 100644 (file)
@@ -5572,6 +5572,7 @@ static enum led_brightness light_sysfs_get(struct led_classdev *led_cdev)
 static struct tpacpi_led_classdev tpacpi_led_thinklight = {
        .led_classdev = {
                .name           = "tpacpi::thinklight",
+               .max_brightness = 1,
                .brightness_set_blocking = &light_sysfs_set,
                .brightness_get = &light_sysfs_get,
        }