OSDN Git Service

usb: chipidea: msm: Use device-managed registration API
authorChuhong Yuan <hslester96@gmail.com>
Mon, 2 Sep 2019 01:43:23 +0000 (09:43 +0800)
committerPeter Chen <peter.chen@nxp.com>
Tue, 3 Sep 2019 06:16:40 +0000 (14:16 +0800)
Use devm_reset_controller_register to get rid
of manual unregistration.

Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
drivers/usb/chipidea/ci_hdrc_msm.c

index bb4645a..af648ba 100644 (file)
@@ -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 @@ err_mux:
        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;
 }