Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

thinkpad-acpi: fix module autoloading for older models

Looking at the source, there seems to be a missing * to match my DMI
string. I mean for newer IBM and Lenovo's laptops you match either one
of the following:
MODULE_ALIAS("dmi:bvnIBM:*:svnIBM:*:pvrThinkPad*:rvnIBM:*");
MODULE_ALIAS("dmi:bvnLENOVO:*:svnLENOVO:*:pvrThinkPad*:rvnLENOVO:*");

While for older Thinkpads, you do this (for instance):
IBM_BIOS_MODULE_ALIAS("1[0,3,6,8,A-G,I,K,M-P,S,T]");

with IBM_BIOS_MODULE_ALIAS being MODULE_ALIAS("dmi:bvnIBM:bvr" __type "ET??WW")

Note there's no * terminating the string. As result, udev doesn't load
anything because modprobe cannot find anything matching this (my
machine actually):

udevtest: run: '/sbin/modprobe dmi:bvnIBM:bvr1IET71WW(2.10):bd06/16/2006:svnIBM:pn236621U:pvrNotAv

Signed-off-by: Mathieu Chouquet-Stringer <mchouque@free.fr>
Acked-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>

authored by

Mathieu Chouquet-Stringer and committed by
Len Brown
b36a50f9 54b1ec89

+4 -4
+4 -4
drivers/platform/x86/thinkpad_acpi.c
··· 7532 7532 * if it is not there yet. 7533 7533 */ 7534 7534 #define IBM_BIOS_MODULE_ALIAS(__type) \ 7535 - MODULE_ALIAS("dmi:bvnIBM:bvr" __type "ET??WW") 7535 + MODULE_ALIAS("dmi:bvnIBM:bvr" __type "ET??WW*") 7536 7536 7537 7537 /* Non-ancient thinkpads */ 7538 7538 MODULE_ALIAS("dmi:bvnIBM:*:svnIBM:*:pvrThinkPad*:rvnIBM:*"); ··· 7541 7541 /* Ancient thinkpad BIOSes have to be identified by 7542 7542 * BIOS type or model number, and there are far less 7543 7543 * BIOS types than model numbers... */ 7544 - IBM_BIOS_MODULE_ALIAS("I[B,D,H,I,M,N,O,T,W,V,Y,Z]"); 7545 - IBM_BIOS_MODULE_ALIAS("1[0,3,6,8,A-G,I,K,M-P,S,T]"); 7546 - IBM_BIOS_MODULE_ALIAS("K[U,X-Z]"); 7544 + IBM_BIOS_MODULE_ALIAS("I[BDHIMNOTWVYZ]"); 7545 + IBM_BIOS_MODULE_ALIAS("1[0368A-GIKM-PST]"); 7546 + IBM_BIOS_MODULE_ALIAS("K[UX-Z]"); 7547 7547 7548 7548 MODULE_AUTHOR("Borislav Deianov, Henrique de Moraes Holschuh"); 7549 7549 MODULE_DESCRIPTION(TPACPI_DESC);