@@ -801,6 +801,11 @@ static int synaptics_reconnect(struct psmouse *psmouse)
return 0;
}
+static int __init dmi_matched(const struct dmi_system_id *dmi)
+{
+ return 1;
+}
+
static bool impaired_toshiba_kbc;
static const struct dmi_system_id __initconst toshiba_dmi_table[] = {
@@ -811,6 +816,7 @@ static const struct dmi_system_id __initconst toshiba_dmi_table[] = {
DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
DMI_MATCH(DMI_PRODUCT_NAME, "Satellite"),
},
+ .callback = dmi_matched,
},
{
/* Toshiba Dynabook */
@@ -818,6 +824,7 @@ static const struct dmi_system_id __initconst toshiba_dmi_table[] = {
DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
DMI_MATCH(DMI_PRODUCT_NAME, "dynabook"),
},
+ .callback = dmi_matched,
},
{
/* Toshiba Portege M300 */
@@ -825,7 +832,7 @@ static const struct dmi_system_id __initconst toshiba_dmi_table[] = {
DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
DMI_MATCH(DMI_PRODUCT_NAME, "PORTEGE M300"),
},
-
+ .callback = dmi_matched,
},
{
/* Toshiba Portege M300 */
@@ -834,7 +841,7 @@ static const struct dmi_system_id __initconst toshiba_dmi_table[] = {
DMI_MATCH(DMI_PRODUCT_NAME, "Portable PC"),
DMI_MATCH(DMI_PRODUCT_VERSION, "Version 1.0"),
},
-
+ .callback = dmi_matched,
},
#endif
{ }
@@ -850,6 +857,7 @@ static const struct dmi_system_id __initconst olpc_dmi_table[] = {
DMI_MATCH(DMI_SYS_VENDOR, "OLPC"),
DMI_MATCH(DMI_PRODUCT_NAME, "XO"),
},
+ .callback = dmi_matched,
},
#endif
{ }
We only care about if there is any successful match from the table or no match at all, make the dmi_matched callback return 1 then dmi_check_system will return immediately if we have a successful match. Signed-off-by: Axel Lin <axel.lin@gmail.com> --- drivers/input/mouse/synaptics.c | 12 ++++++++++-- 1 files changed, 10 insertions(+), 2 deletions(-)