summaryrefslogtreecommitdiff
path: root/drivers/tpm
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2015-08-22 18:31:26 -0600
committerSimon Glass <sjg@chromium.org>2015-08-31 07:57:27 -0600
commit605152a80371c494b1735f6ef8d296e141b1eadf (patch)
tree88ebccd79c2608bc4e8916467b302d85b15f2614 /drivers/tpm
parent13932b09bb19898a5c64bf7a48448855200c63f5 (diff)
tpm: tpm_tis_i2c: Merge struct tpm into tpm_chip
There are too many structures storing the same sort of information. Move the fields from struct tpm into struct tpm_chip and remove the former struct. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heiko Schocher <hs@denx.de>
Diffstat (limited to 'drivers/tpm')
-rw-r--r--drivers/tpm/tpm_tis_i2c.c24
-rw-r--r--drivers/tpm/tpm_tis_i2c.h1
2 files changed, 10 insertions, 15 deletions
diff --git a/drivers/tpm/tpm_tis_i2c.c b/drivers/tpm/tpm_tis_i2c.c
index 81a3bb5981..046e282ccc 100644
--- a/drivers/tpm/tpm_tis_i2c.c
+++ b/drivers/tpm/tpm_tis_i2c.c
@@ -375,12 +375,6 @@ static const u8 tpm_ordinal_duration[TPM_MAX_ORDINAL] = {
TPM_MEDIUM,
};
-/* TPM configuration */
-struct tpm {
- struct udevice *dev;
- char inited;
-} tpm;
-
static struct tpm_chip g_chip;
/*
@@ -976,7 +970,7 @@ static void tpm_close(void)
* @param dev Returns a configuration of TPM device
* @return 0 if ok, -1 on error
*/
-static int tpm_decode_config(struct tpm *dev)
+static int tpm_decode_config(struct tpm_chip *chip)
{
const void *blob = gd->fdt_blob;
struct udevice *bus;
@@ -1021,7 +1015,7 @@ static int tpm_decode_config(struct tpm *dev)
* TODO(sjg@chromium.org): Older TPMs will need to use the older method
* in iic_tpm_read() so the offset length needs to be 0 here.
*/
- ret = i2c_get_chip(bus, chip_addr, 1, &dev->dev);
+ ret = i2c_get_chip(bus, chip_addr, 1, &chip->dev);
if (ret) {
debug("Cannot find device for node '%s: ret=%d'\n",
fdt_get_name(blob, node, NULL), ret);
@@ -1033,15 +1027,15 @@ static int tpm_decode_config(struct tpm *dev)
int tis_init(void)
{
- if (tpm.inited)
+ if (g_chip.inited)
return 0;
- if (tpm_decode_config(&tpm))
+ if (tpm_decode_config(&g_chip))
return -1;
debug("%s: done\n", __func__);
- tpm.inited = 1;
+ g_chip.inited = 1;
return 0;
}
@@ -1050,17 +1044,17 @@ int tis_open(void)
{
int rc;
- if (!tpm.inited)
+ if (!g_chip.inited)
return -1;
- rc = tpm_open_dev(tpm.dev);
+ rc = tpm_open_dev(g_chip.dev);
return rc;
}
int tis_close(void)
{
- if (!tpm.inited)
+ if (!g_chip.inited)
return -1;
tpm_close();
@@ -1074,7 +1068,7 @@ int tis_sendrecv(const uint8_t *sendbuf, size_t sbuf_size,
int len;
uint8_t buf[4096];
- if (!tpm.inited)
+ if (!g_chip.inited)
return -1;
if (sizeof(buf) < sbuf_size)
diff --git a/drivers/tpm/tpm_tis_i2c.h b/drivers/tpm/tpm_tis_i2c.h
index 0fec4640d8..161e63b5ff 100644
--- a/drivers/tpm/tpm_tis_i2c.h
+++ b/drivers/tpm/tpm_tis_i2c.h
@@ -43,6 +43,7 @@ enum i2c_chip_type {
};
struct tpm_chip {
+ bool inited;
int is_open;
u8 req_complete_mask;
u8 req_complete_val;