Use devm_reset_controller_register to get rid
of manual unregistration.

Signed-off-by: Chuhong Yuan <hsleste...@gmail.com>
---
Changes in v2:
  - Remove not needed err_fs.

 drivers/usb/chipidea/ci_hdrc_msm.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/usb/chipidea/ci_hdrc_msm.c 
b/drivers/usb/chipidea/ci_hdrc_msm.c
index bb4645a8ca46..af648ba6544d 100644
--- a/drivers/usb/chipidea/ci_hdrc_msm.c
+++ b/drivers/usb/chipidea/ci_hdrc_msm.c
@@ -216,13 +216,13 @@ static int ci_hdrc_msm_probe(struct platform_device *pdev)
        ci->rcdev.ops = &ci_hdrc_msm_reset_ops;
        ci->rcdev.of_node = pdev->dev.of_node;
        ci->rcdev.nr_resets = 2;
-       ret = reset_controller_register(&ci->rcdev);
+       ret = devm_reset_controller_register(&pdev->dev, &ci->rcdev);
        if (ret)
                return ret;
 
        ret = clk_prepare_enable(ci->fs_clk);
        if (ret)
-               goto err_fs;
+               return ret;
 
        reset_control_assert(reset);
        usleep_range(10000, 12000);
@@ -232,7 +232,7 @@ static int ci_hdrc_msm_probe(struct platform_device *pdev)
 
        ret = clk_prepare_enable(ci->core_clk);
        if (ret)
-               goto err_fs;
+               return ret;
 
        ret = clk_prepare_enable(ci->iface_clk);
        if (ret)
@@ -271,8 +271,6 @@ static int ci_hdrc_msm_probe(struct platform_device *pdev)
        clk_disable_unprepare(ci->iface_clk);
 err_iface:
        clk_disable_unprepare(ci->core_clk);
-err_fs:
-       reset_controller_unregister(&ci->rcdev);
        return ret;
 }
 
@@ -284,7 +282,6 @@ static int ci_hdrc_msm_remove(struct platform_device *pdev)
        ci_hdrc_remove_device(ci->ci);
        clk_disable_unprepare(ci->iface_clk);
        clk_disable_unprepare(ci->core_clk);
-       reset_controller_unregister(&ci->rcdev);
 
        return 0;
 }
-- 
2.20.1

Reply via email to