Skip to content
Snippets Groups Projects
Commit a53b79a2 authored by Simon Glass's avatar Simon Glass
Browse files

tpm: tpm_tis_i2c: Simplify init code


Move all the init and uninit code into one place.

Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
Acked-by: default avatarChristophe <Ricard&lt;christophe-h.ricard@st.com>
Reviewed-by: default avatarHeiko Schocher <hs@denx.de>
parent 13894bdb
No related branches found
No related tags found
No related merge requests found
......@@ -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;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment