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)
committerBartosz Golaszewski <bgolaszewski@baylibre.com>
Wed, 5 May 2021 14:07:40 +0000 (16:07 +0200)
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>
drivers/gpio/gpiolib-acpi.c

index 21750be..3ef22a3 100644 (file)
@@ -1445,6 +1445,20 @@ static const struct dmi_system_id gpiolib_acpi_quirks[] __initconst = {
                        .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