summaryrefslogtreecommitdiffstats
path: root/drivers/char/tpm
diff options
context:
space:
mode:
authorKylene Jo Hall <kjhall@us.ibm.com>2006-04-22 02:39:52 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-04-22 09:19:55 -0700
commit93e1b7d42e1edb4ddde6257e9a02513fef26f715 (patch)
tree5ad622666db7c8039aa5a6d934e1b4c5712ea9f7 /drivers/char/tpm
parent5713556843aee24f484f445db6540f9fef976439 (diff)
downloadlinux-93e1b7d42e1edb4ddde6257e9a02513fef26f715.tar.bz2
[PATCH] tpm: add HID module parameter
I recently found that not all BIOS manufacturers are using the specified generic PNP id in their TPM ACPI table entry. I have added the vendor specific IDs that I know about and added a module parameter that a user can specify another HID to the probe list if their device isn't being found by the default list. Signed-off-by: Kylene Hall <kjhall@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/char/tpm')
-rw-r--r--drivers/char/tpm/tpm_tis.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/char/tpm/tpm_tis.c b/drivers/char/tpm/tpm_tis.c
index 447f76388067..b9cae9a238bb 100644
--- a/drivers/char/tpm/tpm_tis.c
+++ b/drivers/char/tpm/tpm_tis.c
@@ -610,7 +610,13 @@ static int tpm_tis_pnp_resume(struct pnp_dev *dev)
static struct pnp_device_id tpm_pnp_tbl[] __devinitdata = {
{"PNP0C31", 0}, /* TPM */
- {"", 0}
+ {"ATM1200", 0}, /* Atmel */
+ {"IFX0102", 0}, /* Infineon */
+ {"BCM0101", 0}, /* Broadcom */
+ {"NSC1200", 0}, /* National */
+ /* Add new here */
+ {"", 0}, /* User Specified */
+ {"", 0} /* Terminator */
};
static struct pnp_driver tis_pnp_driver = {
@@ -621,6 +627,11 @@ static struct pnp_driver tis_pnp_driver = {
.resume = tpm_tis_pnp_resume,
};
+#define TIS_HID_USR_IDX sizeof(tpm_pnp_tbl)/sizeof(struct pnp_device_id) -2
+module_param_string(hid, tpm_pnp_tbl[TIS_HID_USR_IDX].id,
+ sizeof(tpm_pnp_tbl[TIS_HID_USR_IDX].id), 0444);
+MODULE_PARM_DESC(hid, "Set additional specific HID for this driver to probe");
+
static int __init init_tis(void)
{
return pnp_register_driver(&tis_pnp_driver);