*
* @Synopsis:
* 09/15/2010: First shot driver tpm_tis driver for
- lpc is used as model.
+ * lpc is used as model.
*/
#include <linux/pci.h>
long ret;
u8 status;
- if (chip->vendor.irq) {
+ if (chip->vendor.irq) {
ret = wait_for_serirq_timeout(chip, ((tpm_stm_i2c_status
(chip) & mask) ==
mask), timeout);
wait_for_stat(chip,
TPM_STS_DATA_AVAIL | TPM_STS_VALID,
chip->vendor.timeout_c,
- &chip->vendor.read_queue)
- == 0) {
+ &chip->vendor.read_queue) == 0) {
burstcnt = get_burstcount(chip);
if (burstcnt < 0)
return burstcnt;
struct i2c_client *client;
struct tpm_stm_dev *tpm_dev;
- if (chip == NULL)
+ if (!chip)
return -EBUSY;
if (len < TPM_HEADER_SIZE)
return -EBUSY;
int size = 0;
int expected;
- if (chip == NULL)
+ if (!chip)
return -EBUSY;
if (count < TPM_HEADER_SIZE) {
}
size += recv_data(chip, &buf[TPM_HEADER_SIZE],
- expected - TPM_HEADER_SIZE);
+ expected - TPM_HEADER_SIZE);
if (size < expected) {
dev_err(chip->dev, "Unable to read remainder of result\n");
size = -ETIME;
int ret;
pdata = client->dev.platform_data;
- if (pdata == NULL) {
- pr_err("No platform data\n");
- return -EINVAL;
+ if (!pdata) {
+ dev_err(chip->dev, "No platform data\n");
+ return -ENODEV;
}
/* store for late use */
tpm_stm_i2c_probe(struct i2c_client *client, const struct i2c_device_id *id)
{
int ret;
- u8 intmask;
+ u8 intmask = 0;
struct tpm_chip *chip;
struct st33zp24_platform_data *platform_data;
struct tpm_stm_dev *tpm_dev;
- if (client == NULL) {
- pr_info("%s: i2c client is NULL. Device not accessible.\n",
+ if (!client) {
+ dev_info(&client->dev, "%s: i2c client is NULL. Device not accessible.\n",
__func__);
return -ENODEV;
}
/*
* tpm_stm_i2c_remove remove the TPM device
* @param: client, the i2c_client drescription (TPM I2C description).
- clear_bit(0, &chip->is_open);
+ * clear_bit(0, &chip->is_open);
* @return: 0 in case of success.
*/
static int tpm_stm_i2c_remove(struct i2c_client *client)
gpio_set_value(pin_infos->io_lpcpd, 0);
else
ret = tpm_pm_suspend(dev);
+
return ret;
} /* tpm_stm_i2c_suspend() */
{TPM_ST33_I2C, 0},
{}
};
+MODULE_DEVICE_TABLE(i2c, tpm_stm_i2c_id);
#ifdef CONFIG_OF
static const struct of_device_id of_st33zp24_i2c_match[] = {
MODULE_DEVICE_TABLE(of, of_st33zp24_i2c_match);
#endif
-MODULE_DEVICE_TABLE(i2c, tpm_stm_i2c_id);
static SIMPLE_DEV_PM_OPS(tpm_stm_i2c_ops, tpm_stm_i2c_pm_suspend,
tpm_stm_i2c_pm_resume);
static struct i2c_driver tpm_stm_i2c_driver = {
.name = TPM_ST33_I2C,
.pm = &tpm_stm_i2c_ops,
.of_match_table = of_match_ptr(of_st33zp24_i2c_match),
- },
+ },
.probe = tpm_stm_i2c_probe,
.remove = tpm_stm_i2c_remove,
.id_table = tpm_stm_i2c_id