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 <[email protected]>
---
 drivers/char/tpm/st33zp24/i2c.c | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/drivers/char/tpm/st33zp24/i2c.c b/drivers/char/tpm/st33zp24/i2c.c
index b20cc2b..f179aad 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;
        }
-- 
2.5.0


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
tpmdd-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tpmdd-devel

Reply via email to