Re: [PATCH] ACPI: ibm-acpi: improve backlight power handling

From: Jiri Kosina
Date: Mon Feb 26 2007 - 12:22:56 EST


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 <jkosina@xxxxxxx>

[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 <jkosina@xxxxxxx>

---

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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/