ACPI video: introduce module parameter video.use_bios_initial_backlight
authorZhang Rui <rui.zhang@intel.com>
Mon, 6 Dec 2010 07:04:27 +0000 (15:04 +0800)
committerLen Brown <len.brown@intel.com>
Tue, 14 Dec 2010 05:10:46 +0000 (00:10 -0500)
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>
drivers/acpi/video.c

index 5cd0228..89f19a8 100644 (file)
@@ -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;
        }