diff options
author | Doug Anderson <dianders@chromium.org> | 2013-02-15 08:18:35 -0500 |
---|---|---|
committer | Wolfram Sang <wolfram@the-dreams.de> | 2013-02-21 18:25:50 -0500 |
commit | 55827f4aa6442ddd1d6a4e1e32f2f457eb113c22 (patch) | |
tree | 5fb9f31a58c05d678694d8102fed07b4d45bb14f /drivers/i2c/busses/i2c-designware-platdrv.c | |
parent | 0a6d2246790512c88931ddbfedf3fd48e0979093 (diff) |
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 d2a33e93f8ab..0ceb6e1b0f65 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c | |||
@@ -207,7 +207,6 @@ err_unuse_clocks: | |||
207 | clk_put(dev->clk); | 207 | clk_put(dev->clk); |
208 | dev->clk = NULL; | 208 | dev->clk = NULL; |
209 | err_free_mem: | 209 | err_free_mem: |
210 | platform_set_drvdata(pdev, NULL); | ||
211 | put_device(&pdev->dev); | 210 | put_device(&pdev->dev); |
212 | kfree(dev); | 211 | kfree(dev); |
213 | err_release_region: | 212 | err_release_region: |
@@ -221,7 +220,6 @@ static int dw_i2c_remove(struct platform_device *pdev) | |||
221 | struct dw_i2c_dev *dev = platform_get_drvdata(pdev); | 220 | struct dw_i2c_dev *dev = platform_get_drvdata(pdev); |
222 | struct resource *mem; | 221 | struct resource *mem; |
223 | 222 | ||
224 | platform_set_drvdata(pdev, NULL); | ||
225 | pm_runtime_get_sync(&pdev->dev); | 223 | pm_runtime_get_sync(&pdev->dev); |
226 | 224 | ||
227 | i2c_del_adapter(&dev->adapter); | 225 | i2c_del_adapter(&dev->adapter); |