diff options
author | Zhang Rui <rui.zhang@intel.com> | 2010-12-06 08:04:27 +0100 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2010-12-14 06:10:46 +0100 |
commit | 99fd1895ef603f1a0fa9af478c96c637a7b4529d (patch) | |
tree | dc743eab1679a1a985e52908463ddae8b605315d /drivers/acpi/video.c | |
parent | Linux 2.6.37-rc5 (diff) | |
download | linux-99fd1895ef603f1a0fa9af478c96c637a7b4529d.tar.xz linux-99fd1895ef603f1a0fa9af478c96c637a7b4529d.zip |
ACPI video: introduce module parameter video.use_bios_initial_backlight
Introduce module parameter video.use_bios_initial_backlight.
Some BIOSes claim they use the minimum backlight at boot,
and this may bring dimming screen after boot.
https://bugzilla.kernel.org/show_bug.cgi?id=21212
use video.use_bios_initl_backlight=0 to use
the maximum backlight level after boot.
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/video.c')
-rw-r--r-- | drivers/acpi/video.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c index 5cd0228d2daa..89f19a8fc726 100644 --- a/drivers/acpi/video.c +++ b/drivers/acpi/video.c @@ -81,6 +81,13 @@ module_param(brightness_switch_enabled, bool, 0644); static int allow_duplicates; module_param(allow_duplicates, bool, 0644); +/* + * Some BIOSes claim they use minimum backlight at boot, + * and this may bring dimming screen after boot + */ +static int use_bios_initial_backlight = 1; +module_param(use_bios_initial_backlight, bool, 0644); + static int register_count = 0; static int acpi_video_bus_add(struct acpi_device *device); static int acpi_video_bus_remove(struct acpi_device *device, int type); @@ -766,9 +773,11 @@ acpi_video_init_brightness(struct acpi_video_device *device) * when invoked for the first time, i.e. level_old is invalid. * set the backlight to max_level in this case */ - for (i = 2; i < br->count; i++) - if (level_old == br->levels[i]) - level = level_old; + if (use_bios_initial_backlight) { + for (i = 2; i < br->count; i++) + if (level_old == br->levels[i]) + level = level_old; + } goto set_level; } |