[PATCH] ibm-acpi brightness fix

From: David Zeuthen
Date: Sun Jan 29 2006 - 13:13:08 EST



Hi,

The ibm-acpi driver allows user space to set the brightness of the
display but the way it currently works is by fading from one of the
eight levels to the other. While this effect is visually pleasing it's
probably best taken care of by user space itself (and users of
gnome-power-manager will notice that this is exactly what it does).

This patch removes the fading. Patch is against ibm-acpi 0.11 but it
also applies to the drivers/acpi/ibm_acpi.c file in Linus' tree. I've
tested this on a IBM Thinkpad T41. Please apply.

(Please keep me in the Cc - I'm not subscribed to the LKML)

David

Signed-Off-By: David Zeuthen <david@xxxxxxxx>

--- ibm-acpi-0.11.orig/ibm_acpi.c 2005-03-17 05:06:16.000000000 -0500
+++ ibm-acpi-0.11/ibm_acpi.c 2006-01-29 12:55:53.000000000 -0500
@@ -1351,7 +1351,7 @@ static int brightness_read(char *p)

static int brightness_write(char *buf)
{
- int cmos_cmd, inc, i;
+ int cmos_cmd;
u8 level;
int new_level;
char *cmd;
@@ -1372,13 +1372,11 @@ static int brightness_write(char *buf)
return -EINVAL;

cmos_cmd = new_level > level ? BRIGHTNESS_UP : BRIGHTNESS_DOWN;
- inc = new_level > level ? 1 : -1;
- for (i = level; i != new_level; i += inc) {
- if (!cmos_eval(cmos_cmd))
- return -EIO;
- if (!acpi_ec_write(brightness_offset, i + inc))
- return -EIO;
- }
+
+ if (!cmos_eval(cmos_cmd))
+ return -EIO;
+ if (!acpi_ec_write(brightness_offset, new_level))
+ return -EIO;
}

return 0;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/