diff options
author | Doug Anderson <dianders@chromium.org> | 2013-02-15 13:18:35 +0000 |
---|---|---|
committer | Wolfram Sang <wolfram@the-dreams.de> | 2013-02-22 00:25:50 +0100 |
commit | 55827f4aa6442ddd1d6a4e1e32f2f457eb113c22 (patch) | |
tree | 5fb9f31a58c05d678694d8102fed07b4d45bb14f /drivers/i2c/busses/i2c-designware-platdrv.c | |
parent | 0a6d2246790512c88931ddbfedf3fd48e0979093 (diff) | |
download | op-kernel-dev-55827f4aa6442ddd1d6a4e1e32f2f457eb113c22.zip op-kernel-dev-55827f4aa6442ddd1d6a4e1e32f2f457eb113c22.tar.gz |
i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls
There is simply no reason to be manually setting the private driver
data to NULL in the remove/fail to probe cases. This is just extra
cruft code that can be removed.
A few notes:
* Nothing relies on drvdata being set to NULL.
* The __device_release_driver() function eventually calls
dev_set_drvdata(dev, NULL) anyway, so there's no need to do it
twice.
* I verified that there were no cases where xxx_get_drvdata() was
being called in these drivers and checking for / relying on the NULL
return value.
This could be cleaned up kernel-wide but for now just take the baby
step and remove from the i2c subsystem.
Reported-by: Wolfram Sang <wsa@the-dreams.de>
Reported-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Wolfram Sang <wolfram@the-dreams.de>
Diffstat (limited to 'drivers/i2c/busses/i2c-designware-platdrv.c')
-rw-r--r-- | drivers/i2c/busses/i2c-designware-platdrv.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index d2a33e9..0ceb6e1 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -207,7 +207,6 @@ err_unuse_clocks: clk_put(dev->clk); dev->clk = NULL; err_free_mem: - platform_set_drvdata(pdev, NULL); put_device(&pdev->dev); kfree(dev); err_release_region: @@ -221,7 +220,6 @@ static int dw_i2c_remove(struct platform_device *pdev) struct dw_i2c_dev *dev = platform_get_drvdata(pdev); struct resource *mem; - platform_set_drvdata(pdev, NULL); pm_runtime_get_sync(&pdev->dev); i2c_del_adapter(&dev->adapter); |