tpm: Fix some name collisions with drivers/char/tpm.h
authorJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Tue, 5 Feb 2019 09:14:00 +0000 (11:14 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 16 Sep 2019 06:22:05 +0000 (08:22 +0200)
[ Upstream commit 8ab547a2dcfac6ec184a5e036e1093eb3f7a215c ]

* Rename TPM_BUFSIZE defined in drivers/char/tpm/st33zp24/st33zp24.h to
  ST33ZP24_BUFSIZE.
* Rename TPM_BUFSIZE defined in drivers/char/tpm/tpm_i2c_infineon.c to
  TPM_I2C_INFINEON_BUFSIZE.
* Rename TPM_RETRY in tpm_i2c_nuvoton to TPM_I2C_RETRIES.
* Remove TPM_HEADER_SIZE from tpm_i2c_nuvoton.

Cc: stable@vger.kernel.org
Fixes: bf38b8710892 ("tpm/tpm_i2c_stm_st33: Split tpm_i2c_tpm_st33 in 2 layers (core + phy)")
Fixes: aad628c1d91a ("char/tpm: Add new driver for Infineon I2C TIS TPM")
Fixes: 32d33b29ba07 ("TPM: Retry SaveState command in suspend path")
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/char/tpm/st33zp24/i2c.c
drivers/char/tpm/st33zp24/spi.c
drivers/char/tpm/st33zp24/st33zp24.h
drivers/char/tpm/tpm_i2c_infineon.c
drivers/char/tpm/tpm_i2c_nuvoton.c

index be5d1ab..8390c5b 100644 (file)
@@ -33,7 +33,7 @@
 
 struct st33zp24_i2c_phy {
        struct i2c_client *client;
 
 struct st33zp24_i2c_phy {
        struct i2c_client *client;
-       u8 buf[TPM_BUFSIZE + 1];
+       u8 buf[ST33ZP24_BUFSIZE + 1];
        int io_lpcpd;
 };
 
        int io_lpcpd;
 };
 
index d7909ab..ff019a1 100644 (file)
@@ -63,7 +63,7 @@
  * some latency byte before the answer is available (max 15).
  * We have 2048 + 1024 + 15.
  */
  * some latency byte before the answer is available (max 15).
  * We have 2048 + 1024 + 15.
  */
-#define ST33ZP24_SPI_BUFFER_SIZE (TPM_BUFSIZE + (TPM_BUFSIZE / 2) +\
+#define ST33ZP24_SPI_BUFFER_SIZE (ST33ZP24_BUFSIZE + (ST33ZP24_BUFSIZE / 2) +\
                                  MAX_SPI_LATENCY)
 
 
                                  MAX_SPI_LATENCY)
 
 
index 6f4a419..20da0a8 100644 (file)
@@ -18,8 +18,8 @@
 #ifndef __LOCAL_ST33ZP24_H__
 #define __LOCAL_ST33ZP24_H__
 
 #ifndef __LOCAL_ST33ZP24_H__
 #define __LOCAL_ST33ZP24_H__
 
-#define TPM_WRITE_DIRECTION             0x80
-#define TPM_BUFSIZE                     2048
+#define TPM_WRITE_DIRECTION    0x80
+#define ST33ZP24_BUFSIZE       2048
 
 struct st33zp24_dev {
        struct tpm_chip *chip;
 
 struct st33zp24_dev {
        struct tpm_chip *chip;
index 977fd42..3b4e967 100644 (file)
@@ -26,8 +26,7 @@
 #include <linux/wait.h>
 #include "tpm.h"
 
 #include <linux/wait.h>
 #include "tpm.h"
 
-/* max. buffer size supported by our TPM */
-#define TPM_BUFSIZE 1260
+#define TPM_I2C_INFINEON_BUFSIZE 1260
 
 /* max. number of iterations after I2C NAK */
 #define MAX_COUNT 3
 
 /* max. number of iterations after I2C NAK */
 #define MAX_COUNT 3
@@ -63,11 +62,13 @@ enum i2c_chip_type {
        UNKNOWN,
 };
 
        UNKNOWN,
 };
 
-/* Structure to store I2C TPM specific stuff */
 struct tpm_inf_dev {
        struct i2c_client *client;
        int locality;
 struct tpm_inf_dev {
        struct i2c_client *client;
        int locality;
-       u8 buf[TPM_BUFSIZE + sizeof(u8)]; /* max. buffer size + addr */
+       /* In addition to the data itself, the buffer must fit the 7-bit I2C
+        * address and the direction bit.
+        */
+       u8 buf[TPM_I2C_INFINEON_BUFSIZE + 1];
        struct tpm_chip *chip;
        enum i2c_chip_type chip_type;
        unsigned int adapterlimit;
        struct tpm_chip *chip;
        enum i2c_chip_type chip_type;
        unsigned int adapterlimit;
@@ -219,7 +220,7 @@ static int iic_tpm_write_generic(u8 addr, u8 *buffer, size_t len,
                .buf = tpm_dev.buf
        };
 
                .buf = tpm_dev.buf
        };
 
-       if (len > TPM_BUFSIZE)
+       if (len > TPM_I2C_INFINEON_BUFSIZE)
                return -EINVAL;
 
        if (!tpm_dev.client->adapter->algo->master_xfer)
                return -EINVAL;
 
        if (!tpm_dev.client->adapter->algo->master_xfer)
@@ -527,8 +528,8 @@ static int tpm_tis_i2c_send(struct tpm_chip *chip, u8 *buf, size_t len)
        u8 retries = 0;
        u8 sts = TPM_STS_GO;
 
        u8 retries = 0;
        u8 sts = TPM_STS_GO;
 
-       if (len > TPM_BUFSIZE)
-               return -E2BIG;  /* command is too long for our tpm, sorry */
+       if (len > TPM_I2C_INFINEON_BUFSIZE)
+               return -E2BIG;
 
        if (request_locality(chip, 0) < 0)
                return -EBUSY;
 
        if (request_locality(chip, 0) < 0)
                return -EBUSY;
index b8defdf..2803080 100644 (file)
 #include "tpm.h"
 
 /* I2C interface offsets */
 #include "tpm.h"
 
 /* I2C interface offsets */
-#define TPM_STS                0x00
-#define TPM_BURST_COUNT        0x01
-#define TPM_DATA_FIFO_W        0x20
-#define TPM_DATA_FIFO_R        0x40
-#define TPM_VID_DID_RID        0x60
-/* TPM command header size */
-#define TPM_HEADER_SIZE        10
-#define TPM_RETRY      5
+#define TPM_STS                        0x00
+#define TPM_BURST_COUNT                0x01
+#define TPM_DATA_FIFO_W                0x20
+#define TPM_DATA_FIFO_R                0x40
+#define TPM_VID_DID_RID                0x60
+#define TPM_I2C_RETRIES                5
 /*
  * I2C bus device maximum buffer size w/o counting I2C address or command
  * i.e. max size required for I2C write is 34 = addr, command, 32 bytes data
 /*
  * I2C bus device maximum buffer size w/o counting I2C address or command
  * i.e. max size required for I2C write is 34 = addr, command, 32 bytes data
@@ -292,7 +290,7 @@ static int i2c_nuvoton_recv(struct tpm_chip *chip, u8 *buf, size_t count)
                dev_err(dev, "%s() count < header size\n", __func__);
                return -EIO;
        }
                dev_err(dev, "%s() count < header size\n", __func__);
                return -EIO;
        }
-       for (retries = 0; retries < TPM_RETRY; retries++) {
+       for (retries = 0; retries < TPM_I2C_RETRIES; retries++) {
                if (retries > 0) {
                        /* if this is not the first trial, set responseRetry */
                        i2c_nuvoton_write_status(client,
                if (retries > 0) {
                        /* if this is not the first trial, set responseRetry */
                        i2c_nuvoton_write_status(client,