On Mon, 26 Feb 2007, Henrique de Moraes Holschuh wrote: > Improve the backlight code to emulate as much as possible the power > management events, as we are unable to really power on or power off the > backlight.
This still easily leads to confusing behavior, doesn't it? As there are power-related calls from backlight driver, which won't get handled properly by your code, in result confusing the brightness status. I would suggest applying something like the patch below instead, if you find it OK. From: Jiri Kosina <[EMAIL PROTECTED]> [PATCH] ibm-acpi: handle power calls from backlight class Don't ignore the power-related calls from backlight class driver and always adjust the brightness accordingly. Signed-off-by: Jiri Kosina <[EMAIL PROTECTED]> --- drivers/acpi/ibm_acpi.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/drivers/acpi/ibm_acpi.c b/drivers/acpi/ibm_acpi.c index 7c1b418..4cfa5f8 100644 --- a/drivers/acpi/ibm_acpi.c +++ b/drivers/acpi/ibm_acpi.c @@ -87,6 +87,7 @@ #include <linux/proc_fs.h> #include <linux/backlight.h> #include <asm/uaccess.h> +#include <linux/fb.h> #include <linux/dmi.h> #include <linux/jiffies.h> @@ -1701,7 +1702,12 @@ static int brightness_write(char *buf) static int brightness_update_status(struct backlight_device *bd) { - return brightness_set(bd->props.brightness); + int brightness = 0; + + if (bd->props.fb_blank == FB_BLANK_UNBLANK || bd->props.power == FB_BLANK_UNBLANK) + brightness = bd->props.brightness; + return brightness_set(brightness); + } static struct backlight_ops ibm_backlight_data = { - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/