Skip to content

Commit 75ee4eb

Browse files
tuxedo-wsedtor
authored andcommitted
Input: i8042 - swap old quirk combination with new quirk for several devices
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. While the old quirk combination did not show negative effects on these devices specifically, the new quirk works just as well and seems more stable in general. Cc: stable@vger.kernel.org Signed-off-by: Werner Sembach <wse@tuxedocomputers.com> Link: https://lore.kernel.org/r/20250221230137.70292-3-wse@tuxedocomputers.com Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
1 parent 9ed468e commit 75ee4eb

File tree

1 file changed

+14
-26
lines changed

1 file changed

+14
-26
lines changed

drivers/input/serio/i8042-acpipnpio.h

Lines changed: 14 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1080,16 +1080,14 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
10801080
DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"),
10811081
DMI_MATCH(DMI_BOARD_NAME, "AURA1501"),
10821082
},
1083-
.driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
1084-
SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
1083+
.driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
10851084
},
10861085
{
10871086
.matches = {
10881087
DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"),
10891088
DMI_MATCH(DMI_BOARD_NAME, "EDUBOOK1502"),
10901089
},
1091-
.driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
1092-
SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
1090+
.driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
10931091
},
10941092
{
10951093
/* Mivvy M310 */
@@ -1171,8 +1169,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
11711169
.matches = {
11721170
DMI_MATCH(DMI_BOARD_NAME, "LAPQC71A"),
11731171
},
1174-
.driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
1175-
SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
1172+
.driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
11761173
},
11771174
{
11781175
.matches = {
@@ -1205,8 +1202,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
12051202
.matches = {
12061203
DMI_MATCH(DMI_BOARD_NAME, "NH5xAx"),
12071204
},
1208-
.driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
1209-
SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
1205+
.driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
12101206
},
12111207
{
12121208
.matches = {
@@ -1218,8 +1214,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
12181214
.matches = {
12191215
DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"),
12201216
},
1221-
.driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
1222-
SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
1217+
.driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
12231218
},
12241219
/*
12251220
* At least one modern Clevo barebone has the touchpad connected both
@@ -1235,17 +1230,15 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
12351230
.matches = {
12361231
DMI_MATCH(DMI_BOARD_NAME, "NS50MU"),
12371232
},
1238-
.driver_data = (void *)(SERIO_QUIRK_NOAUX | SERIO_QUIRK_NOMUX |
1239-
SERIO_QUIRK_RESET_ALWAYS | SERIO_QUIRK_NOLOOP |
1240-
SERIO_QUIRK_NOPNP)
1233+
.driver_data = (void *)(SERIO_QUIRK_NOAUX |
1234+
SERIO_QUIRK_FORCENORESTORE)
12411235
},
12421236
{
12431237
.matches = {
12441238
DMI_MATCH(DMI_BOARD_NAME, "NS50_70MU"),
12451239
},
1246-
.driver_data = (void *)(SERIO_QUIRK_NOAUX | SERIO_QUIRK_NOMUX |
1247-
SERIO_QUIRK_RESET_ALWAYS | SERIO_QUIRK_NOLOOP |
1248-
SERIO_QUIRK_NOPNP)
1240+
.driver_data = (void *)(SERIO_QUIRK_NOAUX |
1241+
SERIO_QUIRK_FORCENORESTORE)
12491242
},
12501243
{
12511244
.matches = {
@@ -1319,8 +1312,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
13191312
.matches = {
13201313
DMI_MATCH(DMI_PRODUCT_NAME, "P65_67RS"),
13211314
},
1322-
.driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
1323-
SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
1315+
.driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
13241316
},
13251317
{
13261318
/*
@@ -1338,8 +1330,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
13381330
.matches = {
13391331
DMI_MATCH(DMI_BOARD_NAME, "PB50_70DFx,DDx"),
13401332
},
1341-
.driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
1342-
SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
1333+
.driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
13431334
},
13441335
{
13451336
.matches = {
@@ -1363,8 +1354,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
13631354
.matches = {
13641355
DMI_MATCH(DMI_BOARD_NAME, "PCX0DX"),
13651356
},
1366-
.driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
1367-
SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
1357+
.driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
13681358
},
13691359
{
13701360
.matches = {
@@ -1383,15 +1373,13 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
13831373
.matches = {
13841374
DMI_MATCH(DMI_BOARD_NAME, "X170SM"),
13851375
},
1386-
.driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
1387-
SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
1376+
.driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
13881377
},
13891378
{
13901379
.matches = {
13911380
DMI_MATCH(DMI_BOARD_NAME, "X170KM-G"),
13921381
},
1393-
.driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
1394-
SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
1382+
.driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
13951383
},
13961384
{
13971385
/*

0 commit comments

Comments
 (0)