aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/acpi/video.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index 807a88a0f394..41e6b977ceb2 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -1680,6 +1680,19 @@ static void acpi_video_dev_register_backlight(struct acpi_video_device *device)
1680 printk(KERN_ERR PREFIX "Create sysfs link\n"); 1680 printk(KERN_ERR PREFIX "Create sysfs link\n");
1681} 1681}
1682 1682
1683static void acpi_video_run_bcl_for_osi(struct acpi_video_bus *video)
1684{
1685 struct acpi_video_device *dev;
1686 union acpi_object *levels;
1687
1688 mutex_lock(&video->device_list_lock);
1689 list_for_each_entry(dev, &video->video_device_list, entry) {
1690 if (!acpi_video_device_lcd_query_levels(dev, &levels))
1691 kfree(levels);
1692 }
1693 mutex_unlock(&video->device_list_lock);
1694}
1695
1683static int acpi_video_bus_register_backlight(struct acpi_video_bus *video) 1696static int acpi_video_bus_register_backlight(struct acpi_video_bus *video)
1684{ 1697{
1685 struct acpi_video_device *dev; 1698 struct acpi_video_device *dev;
@@ -1687,6 +1700,8 @@ static int acpi_video_bus_register_backlight(struct acpi_video_bus *video)
1687 if (video->backlight_registered) 1700 if (video->backlight_registered)
1688 return 0; 1701 return 0;
1689 1702
1703 acpi_video_run_bcl_for_osi(video);
1704
1690 if (!acpi_video_verify_backlight_support()) 1705 if (!acpi_video_verify_backlight_support())
1691 return 0; 1706 return 0;
1692 1707