Hi, > A lot of modern Clevo barebones have touchpad and/or keyboard issues after > suspend fixable with reset + nomux + nopnp + noloop. Luckily, none of them > have an external PS/2 port so this can safely be set for all of them. > > I'm not entirely sure if every device listed really needs all four quirks, > but after testing and production use. No negative effects could be > observed when setting all four. > > The list is quite massive as neither the TUXEDO nor the Clevo dmi strings > have been very consistent historically. I tried to keep the list as short > as possible without risking on missing an affected device. can I have feedback on this? Kind regards, Werner Sembach > > Signed-off-by: Werner Sembach <wse@xxxxxxxxxxxxxxxxxxx> > Cc: <stable@xxxxxxxxxxxxxxx> > --- > drivers/input/serio/i8042-x86ia64io.h | 1406 ++++++++++++++++++++++++- > 1 file changed, 1387 insertions(+), 19 deletions(-) > > diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h > index a5a003553646..e42f8b64260c 100644 > --- a/drivers/input/serio/i8042-x86ia64io.h > +++ b/drivers/input/serio/i8042-x86ia64io.h > @@ -226,6 +226,348 @@ static const struct dmi_system_id __initconst i8042_dmi_noloop_table[] = { > DMI_MATCH(DMI_PRODUCT_NAME, "ByteSpeed Laptop C15B"), > }, > }, > + /* > + * A lot of modern Clevo barebones have touchpad and/or keyboard issues > + * after suspend fixable with reset + nomux + nopnp + noloop. Luckily, > + * none of them have an external PS/2 port so this can savely be set for > + * all of them. > + */ > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71A"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71A"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71A"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71A"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71B"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71B"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71B"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71B"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N140CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N140CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N140CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N140CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N141CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N141CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N141CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N141CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N150CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N150CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N150CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N150CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NH5xAx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NH5xAx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NH5xAx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NH5xAx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "AURA1501"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "EDUBOOK1502"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "AURA1501"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "EDUBOOK1502"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50_70MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50_70MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50_70MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50_70MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NJ50_70CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NJ50_70CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NJ50_70CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NJ50_70CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "PB50_70DFx,DDx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "PB50_70DFx,DDx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "PB50_70DFx,DDx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "PB50_70DFx,DDx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "X170SM"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "X170SM"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "X170SM"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "X170SM"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "X170KM-G"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "X170KM-G"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "X170KM-G"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "X170KM-G"), > + }, > + }, > { } > }; > > @@ -562,25 +904,367 @@ static const struct dmi_system_id __initconst i8042_dmi_nomux_table[] = { > DMI_MATCH(DMI_PRODUCT_VERSION, "EL07R4"), > }, > }, > - { } > -}; > - > -static const struct dmi_system_id i8042_dmi_forcemux_table[] __initconst = { > + /* > + * A lot of modern Clevo barebones have touchpad and/or keyboard issues > + * after suspend fixable with reset + nomux + nopnp + noloop. Luckily, > + * none of them have an external PS/2 port so this can savely be set for > + * all of them. > + */ > { > - /* > - * Sony Vaio VGN-CS series require MUX or the touch sensor > - * buttons will disturb touchpad operation > - */ > .matches = { > - DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), > - DMI_MATCH(DMI_PRODUCT_NAME, "VGN-CS"), > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71A"), > }, > }, > - { } > -}; > - > -/* > - * On some Asus laptops, just running self tests cause problems. > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71A"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71A"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71A"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71B"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71B"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71B"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71B"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N140CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N140CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N140CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N140CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N141CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N141CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N141CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N141CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N150CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N150CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N150CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N150CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NH5xAx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NH5xAx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NH5xAx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NH5xAx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "AURA1501"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "EDUBOOK1502"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "AURA1501"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "EDUBOOK1502"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50_70MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50_70MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50_70MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50_70MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NJ50_70CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NJ50_70CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NJ50_70CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NJ50_70CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "PB50_70DFx,DDx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "PB50_70DFx,DDx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "PB50_70DFx,DDx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "PB50_70DFx,DDx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "X170SM"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "X170SM"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "X170SM"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "X170SM"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "X170KM-G"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "X170KM-G"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "X170KM-G"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "X170KM-G"), > + }, > + }, > + { } > +}; > + > +static const struct dmi_system_id i8042_dmi_forcemux_table[] __initconst = { > + { > + /* > + * Sony Vaio VGN-CS series require MUX or the touch sensor > + * buttons will disturb touchpad operation > + */ > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), > + DMI_MATCH(DMI_PRODUCT_NAME, "VGN-CS"), > + }, > + }, > + { } > +}; > + > +/* > + * On some Asus laptops, just running self tests cause problems. > */ > static const struct dmi_system_id i8042_dmi_noselftest_table[] = { > { > @@ -745,10 +1429,352 @@ static const struct dmi_system_id __initconst i8042_dmi_reset_table[] = { > DMI_MATCH(DMI_PRODUCT_VERSION, "EL07R4"), > }, > }, > - { } > -}; > - > -#ifdef CONFIG_PNP > + /* > + * A lot of modern Clevo barebones have touchpad and/or keyboard issues > + * after suspend fixable with reset + nomux + nopnp + noloop. Luckily, > + * none of them have an external PS/2 port so this can savely be set for > + * all of them. > + */ > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71A"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71A"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71A"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71A"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71B"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71B"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71B"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71B"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N140CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N140CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N140CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N140CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N141CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N141CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N141CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N141CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N150CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N150CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N150CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N150CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NH5xAx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NH5xAx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NH5xAx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NH5xAx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "AURA1501"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "EDUBOOK1502"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "AURA1501"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "EDUBOOK1502"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50_70MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50_70MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50_70MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50_70MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NJ50_70CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NJ50_70CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NJ50_70CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NJ50_70CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "PB50_70DFx,DDx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "PB50_70DFx,DDx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "PB50_70DFx,DDx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "PB50_70DFx,DDx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "X170SM"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "X170SM"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "X170SM"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "X170SM"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "X170KM-G"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "X170KM-G"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "X170KM-G"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "X170KM-G"), > + }, > + }, > + { } > +}; > + > +#ifdef CONFIG_PNP > static const struct dmi_system_id __initconst i8042_dmi_nopnp_table[] = { > { > /* Intel MBO Desktop D845PESV */ > @@ -781,6 +1807,348 @@ static const struct dmi_system_id __initconst i8042_dmi_nopnp_table[] = { > DMI_MATCH(DMI_BOARD_VENDOR, "PK"), > }, > }, > + /* > + * A lot of modern Clevo barebones have touchpad and/or keyboard issues > + * after suspend fixable with reset + nomux + nopnp + noloop. Luckily, > + * none of them have an external PS/2 port so this can savely be set for > + * all of them. > + */ > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71A"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71A"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71A"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71A"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71B"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71B"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71B"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71B"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N140CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N140CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N140CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N140CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N141CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N141CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N141CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N141CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N150CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N150CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "N150CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "N150CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NH5xAx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NH5xAx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NH5xAx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NH5xAx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "AURA1501"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "EDUBOOK1502"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "AURA1501"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "EDUBOOK1502"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50_70MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50_70MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50_70MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NS50_70MU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NJ50_70CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NJ50_70CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "NJ50_70CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "NJ50_70CU"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "PB50_70DFx,DDx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "PB50_70DFx,DDx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "PB50_70DFx,DDx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "PB50_70DFx,DDx"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "X170SM"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "X170SM"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "X170SM"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "X170SM"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "X170KM-G"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "X170KM-G"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), > + DMI_MATCH(DMI_BOARD_NAME, "X170KM-G"), > + }, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), > + DMI_MATCH(DMI_BOARD_NAME, "X170KM-G"), > + }, > + }, > { } > }; > > -- > 2.25.1