]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Input: i8042 - add required quirks for missing old boardnames
authorWerner Sembach <wse@tuxedocomputers.com>
Fri, 21 Feb 2025 23:01:23 +0000 (00:01 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 22 Mar 2025 19:54:22 +0000 (12:54 -0700)
commit 9ed468e17d5b80e7116fd35842df3648e808ae47 upstream.

Some older Clevo barebones have problems like no or laggy keyboard after
resume or boot which can be fixed with the SERIO_QUIRK_FORCENORESTORE
quirk.

The PB71RD keyboard is sometimes laggy after resume and the PC70DR, PB51RF,
P640RE, and PCX0DX_GN20 keyboard is sometimes unresponsive after resume.
This quirk fixes that.

Cc: stable@vger.kernel.org
Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
Link: https://lore.kernel.org/r/20250221230137.70292-2-wse@tuxedocomputers.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/input/serio/i8042-acpipnpio.h

index ba589735566d8e16dc98bb58f969e191d4449293..2e2dbf4cff24e4459f59d7d71530326aa75642ac 100644 (file)
@@ -1260,6 +1260,12 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
                .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
                                        SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
        },
+       {
+               .matches = {
+                       DMI_MATCH(DMI_BOARD_NAME, "P640RE"),
+               },
+               .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
+       },
        {
                /*
                 * This is only a partial board_name and might be followed by
@@ -1335,6 +1341,24 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
                .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
                                        SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
        },
+       {
+               .matches = {
+                       DMI_MATCH(DMI_BOARD_NAME, "PB51RF"),
+               },
+               .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
+       },
+       {
+               .matches = {
+                       DMI_MATCH(DMI_BOARD_NAME, "PB71RD"),
+               },
+               .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
+       },
+       {
+               .matches = {
+                       DMI_MATCH(DMI_BOARD_NAME, "PC70DR"),
+               },
+               .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
+       },
        {
                .matches = {
                        DMI_MATCH(DMI_BOARD_NAME, "PCX0DX"),
@@ -1342,6 +1366,12 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
                .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
                                        SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
        },
+       {
+               .matches = {
+                       DMI_MATCH(DMI_BOARD_NAME, "PCX0DX_GN20"),
+               },
+               .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
+       },
        /* See comment on TUXEDO InfinityBook S17 Gen6 / Clevo NS70MU above */
        {
                .matches = {