Commit 75ee4ebe authored by Werner Sembach's avatar Werner Sembach Committed by Dmitry Torokhov
Browse files

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: default avatarWerner Sembach <wse@tuxedocomputers.com>
Link: https://lore.kernel.org/r/20250221230137.70292-3-wse@tuxedocomputers.com


Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 9ed468e1
Loading
Loading
Loading
Loading
+14 −26
Original line number Diff line number Diff line
@@ -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)
	},
	{
		.matches = {
@@ -1218,8 +1214,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
@@ -1235,17 +1230,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 = {
@@ -1319,8 +1312,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)
	},
	{
		/*
@@ -1338,8 +1330,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 = {
@@ -1363,8 +1354,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)
	},
	{
		.matches = {
@@ -1383,15 +1373,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)
	},
	{
		/*