diff options
Diffstat (limited to 'drivers/rtc/rtc-mxc.c')
-rw-r--r-- | drivers/rtc/rtc-mxc.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/rtc/rtc-mxc.c b/drivers/rtc/rtc-mxc.c index 9a3895bc4f4d..ab87bacb8f88 100644 --- a/drivers/rtc/rtc-mxc.c +++ b/drivers/rtc/rtc-mxc.c | |||
@@ -436,22 +436,20 @@ static int mxc_rtc_probe(struct platform_device *pdev) | |||
436 | pdata->irq = -1; | 436 | pdata->irq = -1; |
437 | } | 437 | } |
438 | 438 | ||
439 | if (pdata->irq >=0) | 439 | if (pdata->irq >= 0) |
440 | device_init_wakeup(&pdev->dev, 1); | 440 | device_init_wakeup(&pdev->dev, 1); |
441 | 441 | ||
442 | rtc = devm_rtc_device_register(&pdev->dev, pdev->name, &mxc_rtc_ops, | 442 | rtc = devm_rtc_device_register(&pdev->dev, pdev->name, &mxc_rtc_ops, |
443 | THIS_MODULE); | 443 | THIS_MODULE); |
444 | if (IS_ERR(rtc)) { | 444 | if (IS_ERR(rtc)) { |
445 | ret = PTR_ERR(rtc); | 445 | ret = PTR_ERR(rtc); |
446 | goto exit_clr_drvdata; | 446 | goto exit_put_clk; |
447 | } | 447 | } |
448 | 448 | ||
449 | pdata->rtc = rtc; | 449 | pdata->rtc = rtc; |
450 | 450 | ||
451 | return 0; | 451 | return 0; |
452 | 452 | ||
453 | exit_clr_drvdata: | ||
454 | platform_set_drvdata(pdev, NULL); | ||
455 | exit_put_clk: | 453 | exit_put_clk: |
456 | clk_disable_unprepare(pdata->clk); | 454 | clk_disable_unprepare(pdata->clk); |
457 | 455 | ||
@@ -465,7 +463,6 @@ static int mxc_rtc_remove(struct platform_device *pdev) | |||
465 | struct rtc_plat_data *pdata = platform_get_drvdata(pdev); | 463 | struct rtc_plat_data *pdata = platform_get_drvdata(pdev); |
466 | 464 | ||
467 | clk_disable_unprepare(pdata->clk); | 465 | clk_disable_unprepare(pdata->clk); |
468 | platform_set_drvdata(pdev, NULL); | ||
469 | 466 | ||
470 | return 0; | 467 | return 0; |
471 | } | 468 | } |