* [PATCH] ibm-acpi brightness fix
@ 2006-01-29 18:14 David Zeuthen
2006-01-30 3:28 ` Borislav Deianov
0 siblings, 1 reply; 2+ messages in thread
From: David Zeuthen @ 2006-01-29 18:14 UTC (permalink / raw)
To: borislav, linux-kernel
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@fubar.dk>
--- 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;
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] ibm-acpi brightness fix
2006-01-29 18:14 [PATCH] ibm-acpi brightness fix David Zeuthen
@ 2006-01-30 3:28 ` Borislav Deianov
0 siblings, 0 replies; 2+ messages in thread
From: Borislav Deianov @ 2006-01-30 3:28 UTC (permalink / raw)
To: David Zeuthen; +Cc: linux-kernel
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@fubar.dk>
>
> --- 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;
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2006-01-30 3:28 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-01-29 18:14 [PATCH] ibm-acpi brightness fix David Zeuthen
2006-01-30 3:28 ` Borislav Deianov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome