From 732618975ee688059ca50f87a76f8a3bed8d4fb1 Mon Sep 17 00:00:00 2001 From: Daniel Kurtz Date: Fri, 21 Apr 2017 10:25:48 +0800 Subject: [PATCH] drivers/i2c/tpm: Remove vendor.irq MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The vendor.irq field was originally intended for use as the TPM 1.2 "command complete" interrupt. However, all actual coreboot tpm drivers and hardware use the vendor.status method of checking command completion instead, and this irq field is not used. Let's just remove this unused functionality to simplify the code. BRANCH=none BUG=b:36786804 TEST=Boot reef w/ serial enabled firmware, verify verstage sees "cr50 TPM" and does not complain about lack of tis_plat_irq_status(). TEST=Boot eve w/ serial enabled firmware, verify verstage sees "cr50 TPM" and does not complain about lack of tis_plat_irq_status(). Change-Id: I994c5bfbd18124af9cb81d9684117af766ab0124 Signed-off-by: Daniel Kurtz Reviewed-on: https://review.coreboot.org/19396 Reviewed-by: Julius Werner Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Aaron Durbin Tested-by: build bot (Jenkins) --- src/drivers/i2c/tpm/tis.c | 3 --- src/drivers/i2c/tpm/tpm.c | 3 --- src/drivers/i2c/tpm/tpm.h | 1 - 3 files changed, 7 deletions(-) diff --git a/src/drivers/i2c/tpm/tis.c b/src/drivers/i2c/tpm/tis.c index 9bdf0130e2..7cdb2a23b5 100644 --- a/src/drivers/i2c/tpm/tis.c +++ b/src/drivers/i2c/tpm/tis.c @@ -103,9 +103,6 @@ static ssize_t tpm_transmit(const uint8_t *sbuf, size_t sbufsiz, void *rbuf, goto out; } - if (chip->vendor.irq) - goto out_recv; - int timeout = 2 * 60 * 1000; /* two minutes timeout */ while (timeout) { ASSERT(chip->vendor.status); diff --git a/src/drivers/i2c/tpm/tpm.c b/src/drivers/i2c/tpm/tpm.c index 5350695922..cc44b48692 100644 --- a/src/drivers/i2c/tpm/tpm.c +++ b/src/drivers/i2c/tpm/tpm.c @@ -545,9 +545,6 @@ int tpm_vendor_init(struct tpm_chip *chip, unsigned int bus, uint32_t dev_addr) chip->vendor.send = &tpm_tis_i2c_send; chip->vendor.cancel = &tpm_tis_i2c_ready; - /* Disable interrupts (not supported) */ - chip->vendor.irq = 0; - if (request_locality(chip, 0) != 0) return -1; diff --git a/src/drivers/i2c/tpm/tpm.h b/src/drivers/i2c/tpm/tpm.h index 35cf3972cf..1a01e05055 100644 --- a/src/drivers/i2c/tpm/tpm.h +++ b/src/drivers/i2c/tpm/tpm.h @@ -58,7 +58,6 @@ struct tpm_vendor_specific { uint8_t req_complete_mask; uint8_t req_complete_val; uint8_t req_canceled; - int irq; int (*recv)(struct tpm_chip *, uint8_t *, size_t); int (*send)(struct tpm_chip *, uint8_t *, size_t); void (*cancel)(struct tpm_chip *);