diff options
author | Leendert van Doorn <leendert@watson.ibm.com> | 2006-04-22 05:38:03 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-04-22 12:19:54 -0400 |
commit | 27084efee0c3dc0eb15b5ed750aa9f1adb3983c3 (patch) | |
tree | aa9570006e4e44e3f9a1c2c1960ed025a790711c /drivers/char/tpm/tpm.h | |
parent | 08e96e486dd1345ae0ad70247387d0d4fd346889 (diff) |
[PATCH] tpm: driver for next generation TPM chips
The driver for the next generation of TPM chips version 1.2 including support
for interrupts. The Trusted Computing Group has written the TPM Interface
Specification (TIS) which defines a common interface for all manufacturer's
1.2 TPM's thus the name tpm_tis.
Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com>
Signed-off-by: Kylene Hall <kjhall@us.ibm.com>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/char/tpm/tpm.h')
-rw-r--r-- | drivers/char/tpm/tpm.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/char/tpm/tpm.h b/drivers/char/tpm/tpm.h index 75d105c4e65d..24541a556d02 100644 --- a/drivers/char/tpm/tpm.h +++ b/drivers/char/tpm/tpm.h | |||
@@ -64,6 +64,8 @@ struct tpm_vendor_specific { | |||
64 | void __iomem *iobase; /* ioremapped address */ | 64 | void __iomem *iobase; /* ioremapped address */ |
65 | unsigned long base; /* TPM base address */ | 65 | unsigned long base; /* TPM base address */ |
66 | 66 | ||
67 | int irq; | ||
68 | |||
67 | int region_size; | 69 | int region_size; |
68 | int have_region; | 70 | int have_region; |
69 | 71 | ||
@@ -73,8 +75,13 @@ struct tpm_vendor_specific { | |||
73 | u8 (*status) (struct tpm_chip *); | 75 | u8 (*status) (struct tpm_chip *); |
74 | struct miscdevice miscdev; | 76 | struct miscdevice miscdev; |
75 | struct attribute_group *attr_group; | 77 | struct attribute_group *attr_group; |
78 | struct list_head list; | ||
79 | int locality; | ||
76 | u32 timeout_a, timeout_b, timeout_c, timeout_d; | 80 | u32 timeout_a, timeout_b, timeout_c, timeout_d; |
77 | u32 duration[3]; | 81 | u32 duration[3]; |
82 | |||
83 | wait_queue_head_t read_queue; | ||
84 | wait_queue_head_t int_queue; | ||
78 | }; | 85 | }; |
79 | 86 | ||
80 | struct tpm_chip { | 87 | struct tpm_chip { |
@@ -100,6 +107,8 @@ struct tpm_chip { | |||
100 | struct list_head list; | 107 | struct list_head list; |
101 | }; | 108 | }; |
102 | 109 | ||
110 | #define to_tpm_chip(n) container_of(n, struct tpm_chip, vendor) | ||
111 | |||
103 | static inline int tpm_read_index(int base, int index) | 112 | static inline int tpm_read_index(int base, int index) |
104 | { | 113 | { |
105 | outb(index, base); | 114 | outb(index, base); |