Re: [PATCH] ibm-acpi brightness fix
From: Borislav Deianov
Date: Sun Jan 29 2006 - 22:27:27 EST
Hi David,
On Sun, Jan 29, 2006 at 01:14:31PM -0500, David Zeuthen wrote:
>
> 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).
Thanks for the patch. Unfortunately, the fading is required on my X40 -
setting a random brightness value just doesn't work without it. The
EC probably expects it to happen that way since you can only go one
step up or down with the hot keys.
Wishes,
Boris
>
> 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/