Message ID | 20250213160832.74484-3-wse@tuxedocomputers.com |
---|---|
State | New |
Headers | show |
Series | None | expand |
Oops typo in the header line, should I resend it? Am 13.02.25 um 16:47 schrieb Werner Sembach: > 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> > --- > drivers/input/serio/i8042-acpipnpio.h | 40 ++++++++++----------------- > 1 file changed, 14 insertions(+), 26 deletions(-) > > diff --git a/drivers/input/serio/i8042-acpipnpio.h b/drivers/input/serio/i8042-acpipnpio.h > index a0a99f06c6685..d4ff34d36b42c 100644 > --- a/drivers/input/serio/i8042-acpipnpio.h > +++ b/drivers/input/serio/i8042-acpipnpio.h > @@ -1080,16 +1080,14 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { > DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > DMI_MATCH(DMI_BOARD_NAME, "AURA1501"), > }, > - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | > - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) > + .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE) > }, > { > .matches = { > DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > DMI_MATCH(DMI_BOARD_NAME, "EDUBOOK1502"), > }, > - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | > - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) > + .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE) > }, > { > /* Mivvy M310 */ > @@ -1171,8 +1169,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { > .matches = { > DMI_MATCH(DMI_BOARD_NAME, "LAPQC71A"), > }, > - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | > - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) > + .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE) > }, > { > .matches = { > @@ -1205,8 +1202,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { > .matches = { > DMI_MATCH(DMI_BOARD_NAME, "NH5xAx"), > }, > - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | > - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) > + .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE) > }, > { > /* > @@ -1225,8 +1221,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { > .matches = { > DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), > }, > - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | > - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) > + .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE) > }, > /* > * At least one modern Clevo barebone has the touchpad connected both > @@ -1242,17 +1237,15 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { > .matches = { > DMI_MATCH(DMI_BOARD_NAME, "NS50MU"), > }, > - .driver_data = (void *)(SERIO_QUIRK_NOAUX | SERIO_QUIRK_NOMUX | > - SERIO_QUIRK_RESET_ALWAYS | SERIO_QUIRK_NOLOOP | > - SERIO_QUIRK_NOPNP) > + .driver_data = (void *)(SERIO_QUIRK_NOAUX | > + SERIO_QUIRK_FORCENORESTORE) > }, > { > .matches = { > DMI_MATCH(DMI_BOARD_NAME, "NS50_70MU"), > }, > - .driver_data = (void *)(SERIO_QUIRK_NOAUX | SERIO_QUIRK_NOMUX | > - SERIO_QUIRK_RESET_ALWAYS | SERIO_QUIRK_NOLOOP | > - SERIO_QUIRK_NOPNP) > + .driver_data = (void *)(SERIO_QUIRK_NOAUX | > + SERIO_QUIRK_FORCENORESTORE) > }, > { > .matches = { > @@ -1326,8 +1319,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { > .matches = { > DMI_MATCH(DMI_PRODUCT_NAME, "P65_67RS"), > }, > - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | > - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) > + .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE) > }, > { > /* > @@ -1345,8 +1337,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { > .matches = { > DMI_MATCH(DMI_BOARD_NAME, "PB50_70DFx,DDx"), > }, > - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | > - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) > + .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE) > }, > { > .matches = { > @@ -1370,8 +1361,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { > .matches = { > DMI_MATCH(DMI_BOARD_NAME, "PCX0DX"), > }, > - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | > - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) > + .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE) > }, > /* See comment on TUXEDO InfinityBook S17 Gen6 / Clevo NS70MU above */ > { > @@ -1384,15 +1374,13 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { > .matches = { > DMI_MATCH(DMI_BOARD_NAME, "X170SM"), > }, > - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | > - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) > + .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE) > }, > { > .matches = { > DMI_MATCH(DMI_BOARD_NAME, "X170KM-G"), > }, > - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | > - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) > + .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE) > }, > { > /*
diff --git a/drivers/input/serio/i8042-acpipnpio.h b/drivers/input/serio/i8042-acpipnpio.h index a0a99f06c6685..d4ff34d36b42c 100644 --- a/drivers/input/serio/i8042-acpipnpio.h +++ b/drivers/input/serio/i8042-acpipnpio.h @@ -1080,16 +1080,14 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), DMI_MATCH(DMI_BOARD_NAME, "AURA1501"), }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE) }, { .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), DMI_MATCH(DMI_BOARD_NAME, "EDUBOOK1502"), }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE) }, { /* Mivvy M310 */ @@ -1171,8 +1169,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { .matches = { DMI_MATCH(DMI_BOARD_NAME, "LAPQC71A"), }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE) }, { .matches = { @@ -1205,8 +1202,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { .matches = { DMI_MATCH(DMI_BOARD_NAME, "NH5xAx"), }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE) }, { /* @@ -1225,8 +1221,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { .matches = { DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE) }, /* * At least one modern Clevo barebone has the touchpad connected both @@ -1242,17 +1237,15 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { .matches = { DMI_MATCH(DMI_BOARD_NAME, "NS50MU"), }, - .driver_data = (void *)(SERIO_QUIRK_NOAUX | SERIO_QUIRK_NOMUX | - SERIO_QUIRK_RESET_ALWAYS | SERIO_QUIRK_NOLOOP | - SERIO_QUIRK_NOPNP) + .driver_data = (void *)(SERIO_QUIRK_NOAUX | + SERIO_QUIRK_FORCENORESTORE) }, { .matches = { DMI_MATCH(DMI_BOARD_NAME, "NS50_70MU"), }, - .driver_data = (void *)(SERIO_QUIRK_NOAUX | SERIO_QUIRK_NOMUX | - SERIO_QUIRK_RESET_ALWAYS | SERIO_QUIRK_NOLOOP | - SERIO_QUIRK_NOPNP) + .driver_data = (void *)(SERIO_QUIRK_NOAUX | + SERIO_QUIRK_FORCENORESTORE) }, { .matches = { @@ -1326,8 +1319,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { .matches = { DMI_MATCH(DMI_PRODUCT_NAME, "P65_67RS"), }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE) }, { /* @@ -1345,8 +1337,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { .matches = { DMI_MATCH(DMI_BOARD_NAME, "PB50_70DFx,DDx"), }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE) }, { .matches = { @@ -1370,8 +1361,7 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { .matches = { DMI_MATCH(DMI_BOARD_NAME, "PCX0DX"), }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE) }, /* See comment on TUXEDO InfinityBook S17 Gen6 / Clevo NS70MU above */ { @@ -1384,15 +1374,13 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { .matches = { DMI_MATCH(DMI_BOARD_NAME, "X170SM"), }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE) }, { .matches = { DMI_MATCH(DMI_BOARD_NAME, "X170KM-G"), }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + .driver_data = (void *)(SERIO_QUIRK_FORCENORESTORE) }, { /*
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> --- drivers/input/serio/i8042-acpipnpio.h | 40 ++++++++++----------------- 1 file changed, 14 insertions(+), 26 deletions(-)