[coreboot-gerrit] Patch set updated for coreboot: 050f988 tpm: allow 0 as valid i2c bus number

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Wed Apr 8 13:31:32 CEST 2015


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/9405

-gerrit

commit 050f98888ded7c90ca80997c4c89f625297b491c
Author: Daisuke Nojiri <dnojiri at chromium.org>
Date:   Wed Oct 29 11:14:53 2014 -0700

    tpm: allow 0 as valid i2c bus number
    
    tpm driver uses bus=0 as indication of uninitialized tpm device. this
    change allows 0 as a valid i2c bus number.
    
    BUG=None
    BRANCH=ToT
    TEST=Built cosmos.
    
    Change-Id: Ie8d285abff11643cc3efc0fa30e4afcc3ca1c0d5
    Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
    Original-Commit-Id: 493077b68cf46b08f0d1ddfe57bf6064d714d537
    Original-Change-Id: Iac55e88db4ef757a292270e7201d8fdd37a90b50
    Original-Signed-off-by: Daisuke Nojiri <dnojiri at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/226294
    Original-Reviewed-by: Aaron Durbin <adurbin at chromium.org>
---
 src/drivers/i2c/tpm/tpm.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/drivers/i2c/tpm/tpm.c b/src/drivers/i2c/tpm/tpm.c
index bc36e35..dc4ab78 100644
--- a/src/drivers/i2c/tpm/tpm.c
+++ b/src/drivers/i2c/tpm/tpm.c
@@ -86,13 +86,14 @@ static const char * const chip_name[] = {
 
 /* Structure to store I2C TPM specific stuff */
 struct tpm_inf_dev {
-	unsigned bus;
+	int bus;
 	unsigned int addr;
 	uint8_t buf[TPM_BUFSIZE + sizeof(uint8_t)]; // max. buffer size + addr
 	enum i2c_chip_type chip_type;
 };
 
 static struct tpm_inf_dev tpm_dev = {
+	.bus = -1,
 	.addr = TPM_I2C_ADDR
 };
 
@@ -115,7 +116,7 @@ static int iic_tpm_read(uint8_t addr, uint8_t *buffer, size_t len)
 	int rc;
 	int count;
 
-	if (!tpm_dev.bus)
+	if (tpm_dev.bus < 0)
 		return -1;
 	if ((tpm_dev.chip_type == SLB9635) || (tpm_dev.chip_type == UNKNOWN)) {
 		/* slb9635 protocol should work in both cases */
@@ -186,7 +187,7 @@ static int iic_tpm_write_generic(uint8_t addr, uint8_t *buffer, size_t len,
 	tpm_dev.buf[0] = addr;
 	memcpy(&(tpm_dev.buf[1]), buffer, len);
 
-	if (!tpm_dev.bus)
+	if (tpm_dev.bus < 0)
 		return -1;
 	for (count = 0; count < max_count; count++) {
 		rc = i2c_write_raw(tpm_dev.bus, tpm_dev.addr,



More information about the coreboot-gerrit mailing list