summaryrefslogtreecommitdiffstats
path: root/drivers/char/tpm
diff options
context:
space:
mode:
authorChristophe RICARD <christophe.ricard@gmail.com>2016-02-23 22:25:50 +0100
committerJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>2016-06-25 16:26:35 +0200
commit740ec346f32b3459ecf8ae27df76cfa60e94ead0 (patch)
treee4e33b6b97c769456dbe1483038ccb121464680d /drivers/char/tpm
parenttpm: st33zp24: Add support for acpi probing for spi device. (diff)
downloadlinux-740ec346f32b3459ecf8ae27df76cfa60e94ead0.tar.xz
linux-740ec346f32b3459ecf8ae27df76cfa60e94ead0.zip
tpm/st33zp24/i2c: Change xxx_request_resources header
Simplify st33zp24_i2c_acpi_request_resources, st33zp24_i2c_of_request_resources and st33zp24_i2c_request_resources to have the same prototype and using i2c_get_clientdata. Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com> Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Diffstat (limited to 'drivers/char/tpm')
-rw-r--r--drivers/char/tpm/st33zp24/i2c.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/drivers/char/tpm/st33zp24/i2c.c b/drivers/char/tpm/st33zp24/i2c.c
index b20cc2ba98cc..f179aadd287e 100644
--- a/drivers/char/tpm/st33zp24/i2c.c
+++ b/drivers/char/tpm/st33zp24/i2c.c
@@ -110,9 +110,9 @@ static const struct st33zp24_phy_ops i2c_phy_ops = {
.recv = st33zp24_i2c_recv,
};
-static int st33zp24_i2c_acpi_request_resources(struct st33zp24_i2c_phy *phy)
+static int st33zp24_i2c_acpi_request_resources(struct i2c_client *client)
{
- struct i2c_client *client = phy->client;
+ struct st33zp24_i2c_phy *phy = i2c_get_clientdata(client);
const struct acpi_device_id *id;
struct gpio_desc *gpiod_lpcpd;
struct device *dev;
@@ -147,10 +147,10 @@ static int st33zp24_i2c_acpi_request_resources(struct st33zp24_i2c_phy *phy)
return 0;
}
-static int st33zp24_i2c_of_request_resources(struct st33zp24_i2c_phy *phy)
+static int st33zp24_i2c_of_request_resources(struct i2c_client *client)
{
+ struct st33zp24_i2c_phy *phy = i2c_get_clientdata(client);
struct device_node *pp;
- struct i2c_client *client = phy->client;
int gpio;
int ret;
@@ -185,10 +185,10 @@ static int st33zp24_i2c_of_request_resources(struct st33zp24_i2c_phy *phy)
return 0;
}
-static int st33zp24_i2c_request_resources(struct i2c_client *client,
- struct st33zp24_i2c_phy *phy)
+static int st33zp24_i2c_request_resources(struct i2c_client *client)
{
struct st33zp24_platform_data *pdata;
+ struct st33zp24_i2c_phy *phy = i2c_get_clientdata(client);
int ret;
pdata = client->dev.platform_data;
@@ -244,17 +244,20 @@ static int st33zp24_i2c_probe(struct i2c_client *client,
return -ENOMEM;
phy->client = client;
+
+ i2c_set_clientdata(client, phy);
+
pdata = client->dev.platform_data;
if (!pdata && client->dev.of_node) {
- ret = st33zp24_i2c_of_request_resources(phy);
+ ret = st33zp24_i2c_of_request_resources(client);
if (ret)
return ret;
} else if (pdata) {
- ret = st33zp24_i2c_request_resources(client, phy);
+ ret = st33zp24_i2c_request_resources(client);
if (ret)
return ret;
} else if (ACPI_HANDLE(&client->dev)) {
- ret = st33zp24_i2c_acpi_request_resources(phy);
+ ret = st33zp24_i2c_acpi_request_resources(client);
if (ret)
return ret;
}