diff options
Diffstat (limited to 'drivers/video/mmp/hw/mmp_ctrl.c')
-rw-r--r-- | drivers/video/mmp/hw/mmp_ctrl.c | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/drivers/video/mmp/hw/mmp_ctrl.c b/drivers/video/mmp/hw/mmp_ctrl.c index 75dca19bf214..6ac755270ab4 100644 --- a/drivers/video/mmp/hw/mmp_ctrl.c +++ b/drivers/video/mmp/hw/mmp_ctrl.c | |||
@@ -514,7 +514,7 @@ static int mmphw_probe(struct platform_device *pdev) | |||
514 | if (IS_ERR(ctrl->clk)) { | 514 | if (IS_ERR(ctrl->clk)) { |
515 | dev_err(ctrl->dev, "unable to get clk %s\n", mi->clk_name); | 515 | dev_err(ctrl->dev, "unable to get clk %s\n", mi->clk_name); |
516 | ret = -ENOENT; | 516 | ret = -ENOENT; |
517 | goto failed_get_clk; | 517 | goto failed; |
518 | } | 518 | } |
519 | clk_prepare_enable(ctrl->clk); | 519 | clk_prepare_enable(ctrl->clk); |
520 | 520 | ||
@@ -551,21 +551,8 @@ failed_path_init: | |||
551 | path_deinit(path_plat); | 551 | path_deinit(path_plat); |
552 | } | 552 | } |
553 | 553 | ||
554 | if (ctrl->clk) { | 554 | clk_disable_unprepare(ctrl->clk); |
555 | devm_clk_put(ctrl->dev, ctrl->clk); | ||
556 | clk_disable_unprepare(ctrl->clk); | ||
557 | } | ||
558 | failed_get_clk: | ||
559 | devm_free_irq(ctrl->dev, ctrl->irq, ctrl); | ||
560 | failed: | 555 | failed: |
561 | if (ctrl) { | ||
562 | if (ctrl->reg_base) | ||
563 | devm_iounmap(ctrl->dev, ctrl->reg_base); | ||
564 | devm_release_mem_region(ctrl->dev, res->start, | ||
565 | resource_size(res)); | ||
566 | devm_kfree(ctrl->dev, ctrl); | ||
567 | } | ||
568 | |||
569 | dev_err(&pdev->dev, "device init failed\n"); | 556 | dev_err(&pdev->dev, "device init failed\n"); |
570 | 557 | ||
571 | return ret; | 558 | return ret; |