diff options
author | Henrique de Moraes Holschuh | 2007-07-19 04:45:26 +0200 |
---|---|---|
committer | Len Brown | 2007-07-22 05:37:11 +0200 |
commit | b964b437601a0e7d09896d5d9a85c83643e94f41 (patch) | |
tree | 5999efd0e68050f6b93fd310a46b40cabc38cc4c /drivers/misc | |
parent | x86-64: introduce struct pci_sysdata to facilitate sharing of ->sysdata (diff) | |
download | kernel-qcow2-linux-b964b437601a0e7d09896d5d9a85c83643e94f41.tar.gz kernel-qcow2-linux-b964b437601a0e7d09896d5d9a85c83643e94f41.tar.xz kernel-qcow2-linux-b964b437601a0e7d09896d5d9a85c83643e94f41.zip |
ACPI: thinkpad-acpi: add DMI-based modalias
Add DMI-based aliases to allow module autoloading on select thinkpads.
The aliases will do nothing unless the dmi-based-module-autoloading.patch
patch from Lennart Poettering <mzxreary@0pointer.de> is applied. Lennart's
patch has been accepted by greghk and will be merged eventually.
Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Cc: Lennart Poettering <mzxreary@0pointer.de>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/misc')
-rw-r--r-- | drivers/misc/thinkpad_acpi.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/misc/thinkpad_acpi.c b/drivers/misc/thinkpad_acpi.c index 95c0b96e83f2..22a5f228b55a 100644 --- a/drivers/misc/thinkpad_acpi.c +++ b/drivers/misc/thinkpad_acpi.c @@ -92,6 +92,29 @@ MODULE_LICENSE("GPL"); /* Please remove this in year 2009 */ MODULE_ALIAS("ibm_acpi"); +/* + * DMI matching for module autoloading + * + * See http://thinkwiki.org/wiki/List_of_DMI_IDs + * See http://thinkwiki.org/wiki/BIOS_Upgrade_Downloads + * + * Only models listed in thinkwiki will be supported, so add yours + * if it is not there yet. + */ +#define IBM_BIOS_MODULE_ALIAS(__type) \ + MODULE_ALIAS("dmi:bvnIBM:bvr" __type "ET??WW") + +/* Non-ancient thinkpads */ +MODULE_ALIAS("dmi:bvnIBM:*:svnIBM:*:pvrThinkPad*:rvnIBM:*"); +MODULE_ALIAS("dmi:bvnLENOVO:*:svnLENOVO:*:pvrThinkPad*:rvnLENOVO:*"); + +/* Ancient thinkpad BIOSes have to be identified by + * BIOS type or model number, and there are far less + * BIOS types than model numbers... */ +IBM_BIOS_MODULE_ALIAS("I[B,D,H,I,M,N,O,T,W,V,Y,Z]"); +IBM_BIOS_MODULE_ALIAS("1[0,3,6,8,A-G,I,K,M-P,S,T]"); +IBM_BIOS_MODULE_ALIAS("K[U,X-Z]"); + #define __unused __attribute__ ((unused)) /**************************************************************************** |