fd83f61
From: Hans de Goede <hdegoede@redhat.com>
fd83f61
Date: Tue, 3 Mar 2015 08:31:24 +0100
fd83f61
Subject: [PATCH] acpi: video: Add force native backlight quirk for Lenovo
fd83f61
 Ideapad Z570
fd83f61
fd83f61
The Lenovo Ideapad Z570 (which is an Acer in disguise like some other Ideapads)
fd83f61
has a broken acpi_video interface, this was fixed in commmit a11d342fb8
fd83f61
("ACPI / video: force vendor backlight on Lenovo Ideapad Z570").
fd83f61
fd83f61
Which stops acpi_video from registering a backlight interface, but this is
fd83f61
only a partial fix, because for people who have the ideapad-laptop module
fd83f61
installed that module will now register a backlight interface, which also
fd83f61
does not work, so we need to use the native intel_backlight interface.
fd83f61
fd83f61
The Lenovo Ideapad 570 is a pre-win8 laptop / too old for the acpi-video code
fd83f61
to automatically prefer the native backlight interface, so add a quirk for it.
fd83f61
fd83f61
This commit also removes the previous incomplete fix.
fd83f61
fd83f61
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1187004
fd83f61
Cc: Stepan Bujnak <stepanbujnak@fastmail.fm>
fd83f61
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
fd83f61
---
fd83f61
 drivers/acpi/video.c        | 17 +++++++++++++++++
fd83f61
 drivers/acpi/video_detect.c |  8 --------
fd83f61
 2 files changed, 17 insertions(+), 8 deletions(-)
fd83f61
fd83f61
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
fd83f61
index 70ea37bea84f..d9bf8ba7d848 100644
fd83f61
--- a/drivers/acpi/video.c
fd83f61
+++ b/drivers/acpi/video.c
fd83f61
@@ -425,6 +425,12 @@ static int __init video_disable_native_backlight(const struct dmi_system_id *d)
fd83f61
 	return 0;
fd83f61
 }
fd83f61
 
fd83f61
+static int __init video_enable_native_backlight(const struct dmi_system_id *d)
fd83f61
+{
fd83f61
+	use_native_backlight_dmi = NATIVE_BACKLIGHT_ON;
fd83f61
+	return 0;
fd83f61
+}
fd83f61
+
fd83f61
 static struct dmi_system_id video_dmi_table[] __initdata = {
fd83f61
 	/*
fd83f61
 	 * Broken _BQC workaround http://bugzilla.kernel.org/show_bug.cgi?id=13121
fd83f61
@@ -566,6 +572,17 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
fd83f61
 		DMI_MATCH(DMI_PRODUCT_NAME, "XPS L521X"),
fd83f61
 		},
fd83f61
 	},
fd83f61
+
fd83f61
+	/* Non win8 machines which need native backlight nevertheless */
fd83f61
+	{
fd83f61
+	 /* https://bugzilla.redhat.com/show_bug.cgi?id=1187004 */
fd83f61
+	 .callback = video_enable_native_backlight,
fd83f61
+	 .ident = "Lenovo Ideapad Z570",
fd83f61
+	 .matches = {
fd83f61
+		DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
fd83f61
+		DMI_MATCH(DMI_PRODUCT_NAME, "102434U"),
fd83f61
+		},
fd83f61
+	},
fd83f61
 	{}
fd83f61
 };
fd83f61
 
fd83f61
diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c
fd83f61
index 27c43499977a..c42feb2bacd0 100644
fd83f61
--- a/drivers/acpi/video_detect.c
fd83f61
+++ b/drivers/acpi/video_detect.c
fd83f61
@@ -174,14 +174,6 @@ static struct dmi_system_id video_detect_dmi_table[] = {
fd83f61
 		DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 5737"),
fd83f61
 		},
fd83f61
 	},
fd83f61
-	{
fd83f61
-	.callback = video_detect_force_vendor,
fd83f61
-	.ident = "Lenovo IdeaPad Z570",
fd83f61
-	.matches = {
fd83f61
-		DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
fd83f61
-		DMI_MATCH(DMI_PRODUCT_VERSION, "Ideapad Z570"),
fd83f61
-		},
fd83f61
-	},
fd83f61
 	{ },
fd83f61
 };
fd83f61
 
fd83f61
-- 
fd83f61
2.1.0
fd83f61