gpiolib: acpi: Add a ignore wakeup quirk for Clevo NL5xNU
authorWerner Sembach <wse@tuxedocomputers.com>
Wed, 22 Mar 2023 12:15:47 +0000 (13:15 +0100)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 23 Mar 2023 14:22:18 +0000 (16:22 +0200)
commit 1796f808e4bb ("HID: i2c-hid: acpi: Stop setting wakeup_capable")
changed the policy such that I2C touchpads may be able to wake up the
system by default if the system is configured as such.

However on Clevo NL5xNU there is a mistake in the ACPI tables that the
TP_ATTN# signal connected to GPIO 9 is configured as ActiveLow and level
triggered but connected to a pull up. As soon as the system suspends the
touchpad loses power and then the system wakes up.

To avoid this problem, introduce a quirk for this model that will prevent
the wakeup capability for being set for GPIO 9.

This patch is analoge to a very similar patch for NL5xRU, just the DMI
string changed.

Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
Cc: stable@vger.kernel.org
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/gpio/gpiolib-acpi.c

index 4d4a2a6..b6321d8 100644 (file)
@@ -1620,6 +1620,19 @@ static const struct dmi_system_id gpiolib_acpi_quirks[] __initconst = {
                 * https://gitlab.freedesktop.org/drm/amd/-/issues/1722#note_1720627
                 */
                .matches = {
+                       DMI_MATCH(DMI_BOARD_NAME, "NL5xNU"),
+               },
+               .driver_data = &(struct acpi_gpiolib_dmi_quirk) {
+                       .ignore_wake = "ELAN0415:00@9",
+               },
+       },
+       {
+               /*
+                * Spurious wakeups from TP_ATTN# pin
+                * Found in BIOS 1.7.8
+                * https://gitlab.freedesktop.org/drm/amd/-/issues/1722#note_1720627
+                */
+               .matches = {
                        DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"),
                },
                .driver_data = &(struct acpi_gpiolib_dmi_quirk) {