gpiolib: acpi: Add quirk to ignore EC wakeups on Dell Venue 10 Pro 5055
authorHans de Goede <hdegoede@redhat.com>
Thu, 1 Apr 2021 16:27:40 +0000 (18:27 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 22 May 2021 08:57:42 +0000 (10:57 +0200)
[ Upstream commit da91ece226729c76f60708efc275ebd4716ad089 ]

Like some other Bay and Cherry Trail SoC based devices the Dell Venue
10 Pro 5055 has an embedded-controller which uses ACPI GPIO events to
report events instead of using the standard ACPI EC interface for this.

The EC interrupt is only used to report battery-level changes and
it keeps doing this while the system is suspended, causing the system
to not stay suspended.

Add an ignore-wake quirk for the GPIO pin used by the EC to fix the
spurious wakeups from suspend.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpio/gpiolib-acpi.c

index ab5de5196080bb1bf41e71270ad6f30d70885d9a..c380ce957d8daf8318e5eda419d0424e32c55bbb 100644 (file)
@@ -1404,6 +1404,20 @@ static const struct dmi_system_id gpiolib_acpi_quirks[] = {
                        .no_edge_events_on_boot = true,
                },
        },
+       {
+               /*
+                * The Dell Venue 10 Pro 5055, with Bay Trail SoC + TI PMIC uses an
+                * external embedded-controller connected via I2C + an ACPI GPIO
+                * event handler on INT33FFC:02 pin 12, causing spurious wakeups.
+                */
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "Venue 10 Pro 5055"),
+               },
+               .driver_data = &(struct acpi_gpiolib_dmi_quirk) {
+                       .ignore_wake = "INT33FC:02@12",
+               },
+       },
        {
                /*
                 * HP X2 10 models with Cherry Trail SoC + TI PMIC use an