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>
This commit is contained in:
Simon Glass 2015-08-22 18:31:26 -06:00
parent 13932b09bb
commit 605152a803
2 changed files with 10 additions and 15 deletions

View File

@ -375,12 +375,6 @@ static const u8 tpm_ordinal_duration[TPM_MAX_ORDINAL] = {
TPM_MEDIUM, TPM_MEDIUM,
}; };
/* TPM configuration */
struct tpm {
struct udevice *dev;
char inited;
} tpm;
static struct tpm_chip g_chip; static struct tpm_chip g_chip;
/* /*
@ -976,7 +970,7 @@ static void tpm_close(void)
* @param dev Returns a configuration of TPM device * @param dev Returns a configuration of TPM device
* @return 0 if ok, -1 on error * @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; const void *blob = gd->fdt_blob;
struct udevice *bus; 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 * 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. * 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) { if (ret) {
debug("Cannot find device for node '%s: ret=%d'\n", debug("Cannot find device for node '%s: ret=%d'\n",
fdt_get_name(blob, node, NULL), ret); fdt_get_name(blob, node, NULL), ret);
@ -1033,15 +1027,15 @@ static int tpm_decode_config(struct tpm *dev)
int tis_init(void) int tis_init(void)
{ {
if (tpm.inited) if (g_chip.inited)
return 0; return 0;
if (tpm_decode_config(&tpm)) if (tpm_decode_config(&g_chip))
return -1; return -1;
debug("%s: done\n", __func__); debug("%s: done\n", __func__);
tpm.inited = 1; g_chip.inited = 1;
return 0; return 0;
} }
@ -1050,17 +1044,17 @@ int tis_open(void)
{ {
int rc; int rc;
if (!tpm.inited) if (!g_chip.inited)
return -1; return -1;
rc = tpm_open_dev(tpm.dev); rc = tpm_open_dev(g_chip.dev);
return rc; return rc;
} }
int tis_close(void) int tis_close(void)
{ {
if (!tpm.inited) if (!g_chip.inited)
return -1; return -1;
tpm_close(); tpm_close();
@ -1074,7 +1068,7 @@ int tis_sendrecv(const uint8_t *sendbuf, size_t sbuf_size,
int len; int len;
uint8_t buf[4096]; uint8_t buf[4096];
if (!tpm.inited) if (!g_chip.inited)
return -1; return -1;
if (sizeof(buf) < sbuf_size) if (sizeof(buf) < sbuf_size)

View File

@ -43,6 +43,7 @@ enum i2c_chip_type {
}; };
struct tpm_chip { struct tpm_chip {
bool inited;
int is_open; int is_open;
u8 req_complete_mask; u8 req_complete_mask;
u8 req_complete_val; u8 req_complete_val;