diff options
| -rw-r--r-- | drivers/acpi/video.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c index 64c889331f3b..e32b6c14d928 100644 --- a/drivers/acpi/video.c +++ b/drivers/acpi/video.c | |||
| @@ -741,7 +741,7 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device) | |||
| 741 | 741 | ||
| 742 | max_level = acpi_video_init_brightness(device); | 742 | max_level = acpi_video_init_brightness(device); |
| 743 | 743 | ||
| 744 | if (device->cap._BCL && device->cap._BCM && device->cap._BQC && max_level > 0){ | 744 | if (device->cap._BCL && device->cap._BCM && max_level > 0) { |
| 745 | int result; | 745 | int result; |
| 746 | static int count = 0; | 746 | static int count = 0; |
| 747 | char *name; | 747 | char *name; |
| @@ -753,7 +753,17 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device) | |||
| 753 | device->backlight = backlight_device_register(name, | 753 | device->backlight = backlight_device_register(name, |
| 754 | NULL, device, &acpi_backlight_ops); | 754 | NULL, device, &acpi_backlight_ops); |
| 755 | device->backlight->props.max_brightness = device->brightness->count-3; | 755 | device->backlight->props.max_brightness = device->brightness->count-3; |
| 756 | device->backlight->props.brightness = acpi_video_get_brightness(device->backlight); | 756 | /* |
| 757 | * If there exists the _BQC object, the _BQC object will be | ||
| 758 | * called to get the current backlight brightness. Otherwise | ||
| 759 | * the brightness will be set to the maximum. | ||
| 760 | */ | ||
| 761 | if (device->cap._BQC) | ||
| 762 | device->backlight->props.brightness = | ||
| 763 | acpi_video_get_brightness(device->backlight); | ||
| 764 | else | ||
| 765 | device->backlight->props.brightness = | ||
| 766 | device->backlight->props.max_brightness; | ||
| 757 | backlight_update_status(device->backlight); | 767 | backlight_update_status(device->backlight); |
| 758 | kfree(name); | 768 | kfree(name); |
| 759 | 769 | ||
