summaryrefslogtreecommitdiff
path: root/drivers/tpm
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2015-08-22 18:31:28 -0600
committerSimon Glass <sjg@chromium.org>2015-08-31 07:57:28 -0600
commita53b79a25502b78d6e8b00b90f0fde14c9ccb20d (patch)
tree7f4f4dfa7bbaddeae2c64ffe116605277515b995 /drivers/tpm
parent13894bdba4a4b1a5c073ac8a109805c99abe0979 (diff)
tpm: tpm_tis_i2c: Simplify init code
Move all the init and uninit code into one place. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Christophe Ricard<christophe-h.ricard@st.com> Reviewed-by: Heiko Schocher <hs@denx.de>
Diffstat (limited to 'drivers/tpm')
-rw-r--r--drivers/tpm/tpm_tis_i2c.c33
1 files changed, 10 insertions, 23 deletions
diff --git a/drivers/tpm/tpm_tis_i2c.c b/drivers/tpm/tpm_tis_i2c.c
index 39652a977c7..9dd40dd3cf5 100644
--- a/drivers/tpm/tpm_tis_i2c.c
+++ b/drivers/tpm/tpm_tis_i2c.c
@@ -608,27 +608,6 @@ out:
return rc;
}
-static int tpm_open_dev(struct udevice *dev)
-{
- int rc;
-
- debug("%s: start\n", __func__);
- if (g_chip.is_open)
- return -EBUSY;
- rc = tpm_tis_i2c_init(dev);
- if (rc < 0)
- g_chip.is_open = 0;
- return rc;
-}
-
-static void tpm_close(void)
-{
- if (g_chip.is_open) {
- release_locality(&g_chip, g_chip.locality, 1);
- g_chip.is_open = 0;
- }
-}
-
/**
* Decode TPM configuration.
*
@@ -712,7 +691,12 @@ int tis_open(void)
if (!g_chip.inited)
return -1;
- rc = tpm_open_dev(g_chip.dev);
+ debug("%s: start\n", __func__);
+ if (g_chip.is_open)
+ return -EBUSY;
+ rc = tpm_tis_i2c_init(g_chip.dev);
+ if (rc < 0)
+ g_chip.is_open = 0;
return rc;
}
@@ -722,7 +706,10 @@ int tis_close(void)
if (!g_chip.inited)
return -1;
- tpm_close();
+ if (g_chip.is_open) {
+ release_locality(&g_chip, g_chip.locality, 1);
+ g_chip.is_open = 0;
+ }
return 0;
}