[PATCH] ACPI: resource: Add a quirk for Lenovo Yoga 7 14ARB7

From: Mario Limonciello
Date: Fri Jul 28 2023 - 14:58:18 EST


Lenovo Yoga 7 needs to have keyboard interrupt signaling polarity
is incorrect in the MADT and the value from the DSDT should be used.

Reported-by: August Wikerfors <git@xxxxxxxxxxxxxxxxxx>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217718
Fixes: a9c4a912b7dc ("ACPI: resource: Remove "Zen" specific match and quirks")
Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>
---
drivers/acpi/resource.c | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c
index 1dd8d5aebf678..1a826419d5837 100644
--- a/drivers/acpi/resource.c
+++ b/drivers/acpi/resource.c
@@ -481,6 +481,17 @@ static const struct dmi_system_id lg_laptop[] = {
{ }
};

+static const struct dmi_system_id lenovo_laptop[] = {
+ {
+ .ident = "Lenovo Yoga 7 14ARB7",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "82QF"),
+ },
+ },
+ { }
+};
+
struct irq_override_cmp {
const struct dmi_system_id *system;
unsigned char irq;
@@ -494,6 +505,7 @@ static const struct irq_override_cmp override_table[] = {
{ medion_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false },
{ asus_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false },
{ lg_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false },
+ { lenovo_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 1, false}
};

static bool acpi_dev_irq_override(u32 gsi, u8 triggering, u8 polarity,
--
2.34.1