diff options
author | Jingoo Han <jg1.han@samsung.com> | 2013-04-29 05:16:33 -0400 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2013-07-11 15:02:32 -0400 |
commit | 2f7b9b4883f4d67821bbd80f8fdfb8630d24cc60 (patch) | |
tree | bf12cc64dff36cc6a0929b29b0657b6db45bf98d /drivers/watchdog/shwdt.c | |
parent | 259181feb003e3244d4ba15256735ca259be217a (diff) |
watchdog: shwdt: use devm_clk_get()
Use devm_clk_get() to make cleanup paths more simple.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Diffstat (limited to 'drivers/watchdog/shwdt.c')
-rw-r--r-- | drivers/watchdog/shwdt.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/drivers/watchdog/shwdt.c b/drivers/watchdog/shwdt.c index 6185af2b3310..ea2154bfe5ab 100644 --- a/drivers/watchdog/shwdt.c +++ b/drivers/watchdog/shwdt.c | |||
@@ -241,7 +241,7 @@ static int sh_wdt_probe(struct platform_device *pdev) | |||
241 | 241 | ||
242 | wdt->dev = &pdev->dev; | 242 | wdt->dev = &pdev->dev; |
243 | 243 | ||
244 | wdt->clk = clk_get(&pdev->dev, NULL); | 244 | wdt->clk = devm_clk_get(&pdev->dev, NULL); |
245 | if (IS_ERR(wdt->clk)) { | 245 | if (IS_ERR(wdt->clk)) { |
246 | /* | 246 | /* |
247 | * Clock framework support is optional, continue on | 247 | * Clock framework support is optional, continue on |
@@ -251,10 +251,8 @@ static int sh_wdt_probe(struct platform_device *pdev) | |||
251 | } | 251 | } |
252 | 252 | ||
253 | wdt->base = devm_ioremap_resource(wdt->dev, res); | 253 | wdt->base = devm_ioremap_resource(wdt->dev, res); |
254 | if (IS_ERR(wdt->base)) { | 254 | if (IS_ERR(wdt->base)) |
255 | rc = PTR_ERR(wdt->base); | 255 | return PTR_ERR(wdt->base); |
256 | goto err; | ||
257 | } | ||
258 | 256 | ||
259 | watchdog_set_nowayout(&sh_wdt_dev, nowayout); | 257 | watchdog_set_nowayout(&sh_wdt_dev, nowayout); |
260 | watchdog_set_drvdata(&sh_wdt_dev, wdt); | 258 | watchdog_set_drvdata(&sh_wdt_dev, wdt); |
@@ -277,7 +275,7 @@ static int sh_wdt_probe(struct platform_device *pdev) | |||
277 | rc = watchdog_register_device(&sh_wdt_dev); | 275 | rc = watchdog_register_device(&sh_wdt_dev); |
278 | if (unlikely(rc)) { | 276 | if (unlikely(rc)) { |
279 | dev_err(&pdev->dev, "Can't register watchdog (err=%d)\n", rc); | 277 | dev_err(&pdev->dev, "Can't register watchdog (err=%d)\n", rc); |
280 | goto err; | 278 | return rc; |
281 | } | 279 | } |
282 | 280 | ||
283 | init_timer(&wdt->timer); | 281 | init_timer(&wdt->timer); |
@@ -292,11 +290,6 @@ static int sh_wdt_probe(struct platform_device *pdev) | |||
292 | pm_runtime_enable(&pdev->dev); | 290 | pm_runtime_enable(&pdev->dev); |
293 | 291 | ||
294 | return 0; | 292 | return 0; |
295 | |||
296 | err: | ||
297 | clk_put(wdt->clk); | ||
298 | |||
299 | return rc; | ||
300 | } | 293 | } |
301 | 294 | ||
302 | static int sh_wdt_remove(struct platform_device *pdev) | 295 | static int sh_wdt_remove(struct platform_device *pdev) |
@@ -308,7 +301,6 @@ static int sh_wdt_remove(struct platform_device *pdev) | |||
308 | watchdog_unregister_device(&sh_wdt_dev); | 301 | watchdog_unregister_device(&sh_wdt_dev); |
309 | 302 | ||
310 | pm_runtime_disable(&pdev->dev); | 303 | pm_runtime_disable(&pdev->dev); |
311 | clk_put(wdt->clk); | ||
312 | 304 | ||
313 | return 0; | 305 | return 0; |
314 | } | 306 | } |