diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2013-09-23 12:13:10 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2013-09-26 04:41:24 -0400 |
commit | fb8a15079a579f4cd0e01c9d37e868f5c2b4994c (patch) | |
tree | c2e7feb959fad7e77d6a6a927e446650bdaa9c13 | |
parent | 633358e9ff19145fde81903a8310ecc252dc8bca (diff) |
video: mmp: drop needless devm cleanup
The nice thing about devm_* is that the driver doesn't need to free the
resources but the driver core takes care about that. This also
simplifies the error path quite a bit and removes the wrong check for a
clock pointer being NULL.
Russell King - ARM Linux <linux@arm.linux.org.uk>:
"And this patch also fixes the above: disabling/unpreparing _after_ putting
the thing - which was quite silly... :)"
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
-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; |