acpi-video-detect: Unregister acpi_video backlight when dmi quirks are added
authorHans de Goede <hdegoede@redhat.com>
Tue, 16 Jun 2015 14:27:49 +0000 (16:27 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 18 Jun 2015 23:10:49 +0000 (01:10 +0200)
Make acpi_video_set_dmi_backlight_type() call
acpi_video_unregister_backlight() when the new dmi quirk results in
the desired backlight interface being of a type other then
acpi_backlight_video.

This avoid the need for the second if in the following construction
which is currently found in many platform/x86 drivers:

if (prefer_vendor_quirk)
acpi_video_dmi_promote_vendor();

if (!acpi_video_backlight_support())
acpi_video_unregister_backlight()

This second if-block will be removed from the platform drivers as part
of their conversion to the new backlight interface selection API.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/video_detect.c

index 0f9586b7f3d109cbf483ff708b8b875f7a8e0cb4..d00c0f4f5defc7989a55dac10a1c6e31ba4d2656 100644 (file)
@@ -183,6 +183,9 @@ EXPORT_SYMBOL(acpi_video_get_backlight_type);
 void acpi_video_set_dmi_backlight_type(enum acpi_backlight_type type)
 {
        acpi_backlight_dmi = type;
+       /* Remove acpi-video backlight interface if it is no longer desired */
+       if (acpi_video_get_backlight_type() != acpi_backlight_video)
+               acpi_video_unregister_backlight();
 }
 EXPORT_SYMBOL(acpi_video_set_dmi_backlight_type);