| From 9e6dada9d255497127251c03aaa59296d186f959 Mon Sep 17 00:00:00 2001 |
| From: Zhang Rui <rui.zhang@intel.com> |
| Date: Wed, 31 Dec 2008 10:58:48 +0800 |
| Subject: video: always update the brightness when poking "brightness" |
| |
| From: Zhang Rui <rui.zhang@intel.com> |
| |
| commit 9e6dada9d255497127251c03aaa59296d186f959 upstream. |
| |
| always update props.brightness no matter the backlight is changed |
| via procfs, hotkeys or sysfs. |
| |
| Sighed-off-by: Zhang Rui <rui.zhang@intel.com> |
| Acked-by: Matthew Garrett <mjg59@srcf.ucam.org> |
| Signed-off-by: Len Brown <len.brown@intel.com> |
| Cc: Thomas Renninger <trenn@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/acpi/video.c | 5 +++++ |
| 1 file changed, 5 insertions(+) |
| |
| --- a/drivers/acpi/video.c |
| +++ b/drivers/acpi/video.c |
| @@ -482,6 +482,7 @@ acpi_video_device_lcd_set_level(struct a |
| int status = AE_OK; |
| union acpi_object arg0 = { ACPI_TYPE_INTEGER }; |
| struct acpi_object_list args = { 1, &arg0 }; |
| + int state; |
| |
| |
| arg0.integer.value = level; |
| @@ -490,6 +491,10 @@ acpi_video_device_lcd_set_level(struct a |
| status = acpi_evaluate_object(device->dev->handle, "_BCM", |
| &args, NULL); |
| device->brightness->curr = level; |
| + for (state = 2; state < device->brightness->count; state++) |
| + if (level == device->brightness->levels[state]) |
| + device->backlight->props.brightness = state - 2; |
| + |
| return status; |
| } |
| |