aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/tpm/tpm.h
diff options
context:
space:
mode:
authorLeendert van Doorn <leendert@watson.ibm.com>2006-04-22 05:38:03 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-04-22 12:19:54 -0400
commit27084efee0c3dc0eb15b5ed750aa9f1adb3983c3 (patch)
treeaa9570006e4e44e3f9a1c2c1960ed025a790711c /drivers/char/tpm/tpm.h
parent08e96e486dd1345ae0ad70247387d0d4fd346889 (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.h9
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
80struct tpm_chip { 87struct 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
103static inline int tpm_read_index(int base, int index) 112static inline int tpm_read_index(int base, int index)
104{ 113{
105 outb(index, base); 114 outb(index, base);