Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 64491882 authored by Hans de Goede's avatar Hans de Goede Committed by Rafael J. Wysocki
Browse files

ACPI / video: Add force native backlight quirk for Lenovo Ideapad Z570

The Lenovo Ideapad Z570 (which is an Acer in disguise like some other Ideapads)
has a broken acpi_video interface, this was fixed in commmit a11d342f
("ACPI / video: force vendor backlight on Lenovo Ideapad Z570").

Which stops acpi_video from registering a backlight interface, but this is
only a partial fix, because for people who have the ideapad-laptop module
installed that module will now register a backlight interface, which also
does not work, so we need to use the native intel_backlight interface.

The Lenovo Ideapad 570 is a pre-win8 laptop / too old for the acpi-video code
to automatically prefer the native backlight interface, so add a quirk for it.

This commit also removes the previous incomplete fix.

Link: https://bugzilla.redhat.com/show_bug.cgi?id=1187004


Tested-by: default avatarBe <be.0@gmx.com>
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent ff92cfe7
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -425,6 +425,12 @@ static int __init video_disable_native_backlight(const struct dmi_system_id *d)
	return 0;
}

static int __init video_enable_native_backlight(const struct dmi_system_id *d)
{
	use_native_backlight_dmi = NATIVE_BACKLIGHT_ON;
	return 0;
}

static struct dmi_system_id video_dmi_table[] __initdata = {
	/*
	 * Broken _BQC workaround http://bugzilla.kernel.org/show_bug.cgi?id=13121
@@ -566,6 +572,17 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
		DMI_MATCH(DMI_PRODUCT_NAME, "XPS L521X"),
		},
	},

	/* Non win8 machines which need native backlight nevertheless */
	{
	 /* https://bugzilla.redhat.com/show_bug.cgi?id=1187004 */
	 .callback = video_enable_native_backlight,
	 .ident = "Lenovo Ideapad Z570",
	 .matches = {
		DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
		DMI_MATCH(DMI_PRODUCT_NAME, "102434U"),
		},
	},
	{}
};

+0 −8
Original line number Diff line number Diff line
@@ -174,14 +174,6 @@ static struct dmi_system_id video_detect_dmi_table[] = {
		DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 5737"),
		},
	},
	{
	.callback = video_detect_force_vendor,
	.ident = "Lenovo IdeaPad Z570",
	.matches = {
		DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
		DMI_MATCH(DMI_PRODUCT_VERSION, "Ideapad Z570"),
		},
	},
	{ },
};