The kpc_i2c driver stashes private state data in the platform_data
member of its device structure. In general, the platform_data structure
is used for passing data to the driver during probe() rather than as a
storage area for runtime state data. Instead, use the drvdata member
for all state info meant to be accessible in driver callbacks.

Signed-off-by: Geordan Neukum <gneuk...@gmail.com>
---
 drivers/staging/kpc2000/kpc2000_i2c.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/kpc2000/kpc2000_i2c.c 
b/drivers/staging/kpc2000/kpc2000_i2c.c
index 1767f351a116..e4bbb91af972 100644
--- a/drivers/staging/kpc2000/kpc2000_i2c.c
+++ b/drivers/staging/kpc2000/kpc2000_i2c.c
@@ -589,7 +589,7 @@ static int pi2c_probe(struct platform_device *pldev)
        res = platform_get_resource(pldev, IORESOURCE_MEM, 0);
        priv->smba = (unsigned long)ioremap_nocache(res->start, 
resource_size(res));
 
-       pldev->dev.platform_data = priv;
+       platform_set_drvdata(pldev, priv);
 
        priv->features |= FEATURE_IDF;
        priv->features |= FEATURE_I2C_BLOCK_READ;
@@ -620,7 +620,7 @@ static int pi2c_remove(struct platform_device *pldev)
 {
        struct i2c_device *lddev;
 
-       lddev = (struct i2c_device *)pldev->dev.platform_data;
+       lddev = (struct i2c_device *)platform_get_drvdata(pldev);
 
        i2c_del_adapter(&lddev->adapter);
 
-- 
2.21.0

Reply via email to