diff options
author | Kylene Jo Hall <kjhall@us.ibm.com> | 2006-04-22 05:38:55 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-04-22 12:19:54 -0400 |
commit | b09d53009db21228adde29b468eb4583e66cbe7c (patch) | |
tree | d845bd9408ab13d8cbff4d49acb218674fce6b6c /drivers | |
parent | e496f540540f0a0bffcc3f83785f9954dacf1b83 (diff) |
[PATCH] tpm: check mem start and len
The memory start and length values obtained from the ACPI entry need to be
checked and filled in with the default values from the specification if
they don't exist. This patch fills in the default values and uses them
appropriately.
Signed-off-by: Kylie 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')
-rw-r--r-- | drivers/char/tpm/tpm_tis.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/char/tpm/tpm_tis.c b/drivers/char/tpm/tpm_tis.c index 1cb5a7f0755d..9c0727bf28b7 100644 --- a/drivers/char/tpm/tpm_tis.c +++ b/drivers/char/tpm/tpm_tis.c | |||
@@ -52,6 +52,8 @@ enum tis_int_flags { | |||
52 | }; | 52 | }; |
53 | 53 | ||
54 | enum tis_defaults { | 54 | enum tis_defaults { |
55 | TIS_MEM_BASE = 0xFED4000, | ||
56 | TIS_MEM_LEN = 0x5000, | ||
55 | TIS_SHORT_TIMEOUT = 750, /* ms */ | 57 | TIS_SHORT_TIMEOUT = 750, /* ms */ |
56 | TIS_LONG_TIMEOUT = 2000, /* 2 sec */ | 58 | TIS_LONG_TIMEOUT = 2000, /* 2 sec */ |
57 | }; | 59 | }; |
@@ -437,6 +439,11 @@ static int __devinit tpm_tis_pnp_init(struct pnp_dev | |||
437 | start = pnp_mem_start(pnp_dev, 0); | 439 | start = pnp_mem_start(pnp_dev, 0); |
438 | len = pnp_mem_len(pnp_dev, 0); | 440 | len = pnp_mem_len(pnp_dev, 0); |
439 | 441 | ||
442 | if (!start) | ||
443 | start = TIS_MEM_BASE; | ||
444 | if (!len) | ||
445 | len = TIS_MEM_LEN; | ||
446 | |||
440 | if (!(chip = tpm_register_hardware(&pnp_dev->dev, &tpm_tis))) | 447 | if (!(chip = tpm_register_hardware(&pnp_dev->dev, &tpm_tis))) |
441 | return -ENODEV; | 448 | return -ENODEV; |
442 | 449 | ||