aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJingoo Han <jg1.han@samsung.com>2013-04-29 05:16:49 -0400
committerWim Van Sebroeck <wim@iguana.be>2013-07-11 15:03:30 -0400
commit07bf971a38427e2659603468e5947c39754edb13 (patch)
tree23000e7c8ac2829c2f1b6d0a6b6cf2c299b47061
parent4d2327ca9d44dbf5b4ead443f380ad58baa8c201 (diff)
watchdog: sp805_wdt: use devm_clk_get()
Use devm_clk_get() to make cleanup paths more simple. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
-rw-r--r--drivers/watchdog/sp805_wdt.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/watchdog/sp805_wdt.c b/drivers/watchdog/sp805_wdt.c
index 8872642505c0..58df98aec122 100644
--- a/drivers/watchdog/sp805_wdt.c
+++ b/drivers/watchdog/sp805_wdt.c
@@ -231,7 +231,7 @@ sp805_wdt_probe(struct amba_device *adev, const struct amba_id *id)
231 goto err; 231 goto err;
232 } 232 }
233 233
234 wdt->clk = clk_get(&adev->dev, NULL); 234 wdt->clk = devm_clk_get(&adev->dev, NULL);
235 if (IS_ERR(wdt->clk)) { 235 if (IS_ERR(wdt->clk)) {
236 dev_warn(&adev->dev, "Clock not found\n"); 236 dev_warn(&adev->dev, "Clock not found\n");
237 ret = PTR_ERR(wdt->clk); 237 ret = PTR_ERR(wdt->clk);
@@ -251,15 +251,13 @@ sp805_wdt_probe(struct amba_device *adev, const struct amba_id *id)
251 if (ret) { 251 if (ret) {
252 dev_err(&adev->dev, "watchdog_register_device() failed: %d\n", 252 dev_err(&adev->dev, "watchdog_register_device() failed: %d\n",
253 ret); 253 ret);
254 goto err_register; 254 goto err;
255 } 255 }
256 amba_set_drvdata(adev, wdt); 256 amba_set_drvdata(adev, wdt);
257 257
258 dev_info(&adev->dev, "registration successful\n"); 258 dev_info(&adev->dev, "registration successful\n");
259 return 0; 259 return 0;
260 260
261err_register:
262 clk_put(wdt->clk);
263err: 261err:
264 dev_err(&adev->dev, "Probe Failed!!!\n"); 262 dev_err(&adev->dev, "Probe Failed!!!\n");
265 return ret; 263 return ret;
@@ -272,7 +270,6 @@ static int sp805_wdt_remove(struct amba_device *adev)
272 watchdog_unregister_device(&wdt->wdd); 270 watchdog_unregister_device(&wdt->wdd);
273 amba_set_drvdata(adev, NULL); 271 amba_set_drvdata(adev, NULL);
274 watchdog_set_drvdata(&wdt->wdd, NULL); 272 watchdog_set_drvdata(&wdt->wdd, NULL);
275 clk_put(wdt->clk);
276 273
277 return 0; 274 return 0;
278} 275}