diff options
-rw-r--r-- | drivers/char/tpm/tpm_i2c_stm_st33.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/char/tpm/tpm_i2c_stm_st33.c b/drivers/char/tpm/tpm_i2c_stm_st33.c index 8c60d33d116c..16f1f785c0b9 100644 --- a/drivers/char/tpm/tpm_i2c_stm_st33.c +++ b/drivers/char/tpm/tpm_i2c_stm_st33.c | |||
@@ -96,15 +96,13 @@ enum tis_defaults { | |||
96 | static int write8_reg(struct i2c_client *client, u8 tpm_register, | 96 | static int write8_reg(struct i2c_client *client, u8 tpm_register, |
97 | u8 *tpm_data, u16 tpm_size) | 97 | u8 *tpm_data, u16 tpm_size) |
98 | { | 98 | { |
99 | u8 data; | ||
100 | int value = 0; | 99 | int value = 0; |
101 | struct st33zp24_platform_data *pin_infos; | 100 | struct st33zp24_platform_data *pin_infos; |
102 | 101 | ||
103 | pin_infos = client->dev.platform_data; | 102 | pin_infos = client->dev.platform_data; |
104 | 103 | ||
105 | data = tpm_register; | 104 | pin_infos->tpm_i2c_buffer[0][0] = tpm_register; |
106 | memcpy(pin_infos->tpm_i2c_buffer[0], &data, sizeof(data)); | 105 | memcpy(&pin_infos->tpm_i2c_buffer[0][1], tpm_data, tpm_size); |
107 | memcpy(pin_infos->tpm_i2c_buffer[0] + 1, tpm_data, tpm_size); | ||
108 | value = i2c_master_send(client, pin_infos->tpm_i2c_buffer[0], | 106 | value = i2c_master_send(client, pin_infos->tpm_i2c_buffer[0], |
109 | tpm_size + 1); | 107 | tpm_size + 1); |
110 | return value; | 108 | return value; |