summaryrefslogtreecommitdiffstats
path: root/drivers/char/tpm
diff options
context:
space:
mode:
authorChristophe Ricard2014-12-01 19:32:52 +0100
committerPeter Huewe2015-01-17 14:00:07 +0100
commit76182b6b008b694d095aec1e2eb6c07fae787128 (patch)
tree80a238308c01cc8dff7a430058beb17fe9e0c4ad /drivers/char/tpm
parenttpm/tpm_i2c_stm_st33: Add new tpm_stm_dev structure and remove tpm_i2c_buffer... (diff)
downloadkernel-qcow2-linux-76182b6b008b694d095aec1e2eb6c07fae787128.tar.gz
kernel-qcow2-linux-76182b6b008b694d095aec1e2eb6c07fae787128.tar.xz
kernel-qcow2-linux-76182b6b008b694d095aec1e2eb6c07fae787128.zip
tpm/tpm_i2c_stm_st33: Remove reference to io_serirq
The serirq gpio pin is used only as interrupt. After driver initialization, the serirq signal is always used through interrupt and never with gpio kernel API. The irq can then be initialized during the platform_data definition within the client->irq pin. Reviewed-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com> Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Diffstat (limited to 'drivers/char/tpm')
-rw-r--r--drivers/char/tpm/tpm_i2c_stm_st33.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/drivers/char/tpm/tpm_i2c_stm_st33.c b/drivers/char/tpm/tpm_i2c_stm_st33.c
index 4f725386385f..728611638d1c 100644
--- a/drivers/char/tpm/tpm_i2c_stm_st33.c
+++ b/drivers/char/tpm/tpm_i2c_stm_st33.c
@@ -103,7 +103,6 @@ struct tpm_stm_dev {
struct completion irq_detection;
struct tpm_chip *chip;
u8 buf[TPM_BUFSIZE + 1];
- int io_serirq;
int io_lpcpd;
};
@@ -688,18 +687,15 @@ tpm_st33_i2c_probe(struct i2c_client *client, const struct i2c_device_id *id)
err = -ENODEV;
goto _tpm_clean_answer;
}
- err = gpio_request(platform_data->io_serirq, "TPM IO_SERIRQ");
- if (err)
- goto _gpio_init2;
clear_interruption(tpm_dev);
- err = request_irq(gpio_to_irq(platform_data->io_serirq),
+ err = request_irq(client->irq,
&tpm_ioserirq_handler,
IRQF_TRIGGER_HIGH,
"TPM SERIRQ management", chip);
if (err < 0) {
dev_err(chip->dev , "TPM SERIRQ signals %d not available\n",
- gpio_to_irq(platform_data->io_serirq));
+ client->irq);
goto _irq_set;
}
@@ -739,10 +735,7 @@ tpm_st33_i2c_probe(struct i2c_client *client, const struct i2c_device_id *id)
dev_info(chip->dev, "TPM I2C Initialized\n");
return 0;
_irq_set:
- free_irq(gpio_to_irq(platform_data->io_serirq), (void *)chip);
-_gpio_init2:
- if (interrupts)
- gpio_free(platform_data->io_serirq);
+ free_irq(client->irq, (void *)chip);
_gpio_init1:
if (power_mgt)
gpio_free(platform_data->io_lpcpd);