Skip to content

Commit d85862c

Browse files
tuxedo-wsedtor
authored andcommitted
Input: i8042 - swap old quirk combination with new quirk for more 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. We could not activly retest these devices because we no longer have them in our archive, but based on the other old Clevo barebones we tested where the new quirk had the same or a better behaviour I think it would be good to apply it on these too. Cc: stable@vger.kernel.org Signed-off-by: Werner Sembach <wse@tuxedocomputers.com> Link: https://lore.kernel.org/r/20250221230137.70292-4-wse@tuxedocomputers.com Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
1 parent 75ee4eb commit d85862c

File tree

1 file changed

+10
-21
lines changed

1 file changed

+10
-21
lines changed

drivers/input/serio/i8042-acpipnpio.h

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1157,9 +1157,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
11571157
},
11581158
/*
11591159
* A lot of modern Clevo barebones have touchpad and/or keyboard issues
1160-
* after suspend fixable with nomux + reset + noloop + nopnp. Luckily,
1161-
* none of them have an external PS/2 port so this can safely be set for
1162-
* all of them.
1160+
* after suspend fixable with the forcenorestore quirk.
11631161
* Clevo barebones come with board_vendor and/or system_vendor set to
11641162
* either the very generic string "Notebook" and/or a different value
11651163
* for each individual reseller. The only somewhat universal way to
@@ -1175,22 +1173,19 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
11751173
.matches = {
11761174
DMI_MATCH(DMI_BOARD_NAME, "LAPQC71B"),
11771175
},
1178-
.driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
1179-
SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
1176+
.driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
11801177
},
11811178
{
11821179
.matches = {
11831180
DMI_MATCH(DMI_BOARD_NAME, "N140CU"),
11841181
},
1185-
.driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
1186-
SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
1182+
.driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
11871183
},
11881184
{
11891185
.matches = {
11901186
DMI_MATCH(DMI_BOARD_NAME, "N141CU"),
11911187
},
1192-
.driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
1193-
SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
1188+
.driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
11941189
},
11951190
{
11961191
.matches = {
@@ -1250,8 +1245,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
12501245
.matches = {
12511246
DMI_MATCH(DMI_BOARD_NAME, "NJ50_70CU"),
12521247
},
1253-
.driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
1254-
SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
1248+
.driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
12551249
},
12561250
{
12571251
.matches = {
@@ -1268,16 +1262,14 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
12681262
.matches = {
12691263
DMI_MATCH(DMI_PRODUCT_NAME, "P65xH"),
12701264
},
1271-
.driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
1272-
SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
1265+
.driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
12731266
},
12741267
{
12751268
/* Clevo P650RS, 650RP6, Sager NP8152-S, and others */
12761269
.matches = {
12771270
DMI_MATCH(DMI_PRODUCT_NAME, "P65xRP"),
12781271
},
1279-
.driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
1280-
SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
1272+
.driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
12811273
},
12821274
{
12831275
/*
@@ -1288,8 +1280,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
12881280
.matches = {
12891281
DMI_MATCH(DMI_PRODUCT_NAME, "P65_P67H"),
12901282
},
1291-
.driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
1292-
SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
1283+
.driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
12931284
},
12941285
{
12951286
/*
@@ -1300,8 +1291,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
13001291
.matches = {
13011292
DMI_MATCH(DMI_PRODUCT_NAME, "P65_67RP"),
13021293
},
1303-
.driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
1304-
SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
1294+
.driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
13051295
},
13061296
{
13071297
/*
@@ -1323,8 +1313,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
13231313
.matches = {
13241314
DMI_MATCH(DMI_PRODUCT_NAME, "P67xRP"),
13251315
},
1326-
.driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
1327-
SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
1316+
.driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE)
13281317
},
13291318
{
13301319
.matches = {

0 commit comments

Comments
 (0)