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)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 25 Feb 2025 21:01:51 +0000 (13:01 -0800)
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>
drivers/input/serio/i8042-acpipnpio.h

index a764248ea11d396d2bd4ff1ffc0dc762b97228f2..57a6eec4c2a5d4f77f562d0ed187e23809db2e9d 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 = {