On Wed, Aug 28, 2019 at 11:24 AM Peter Chen <peter.c...@nxp.com> wrote: > > On 19-07-23 11:02:07, Chuhong Yuan wrote: > > Use devm_reset_controller_register to get rid > > of manual unregistration. > > > > Signed-off-by: Chuhong Yuan <hsleste...@gmail.com> > > --- > > drivers/usb/chipidea/ci_hdrc_msm.c | 4 +--- > > 1 file changed, 1 insertion(+), 3 deletions(-) > > > > diff --git a/drivers/usb/chipidea/ci_hdrc_msm.c > > b/drivers/usb/chipidea/ci_hdrc_msm.c > > index bb4645a8ca46..067542e84aea 100644 > > --- a/drivers/usb/chipidea/ci_hdrc_msm.c > > +++ b/drivers/usb/chipidea/ci_hdrc_msm.c > > @@ -216,7 +216,7 @@ 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; > > > > @@ -272,7 +272,6 @@ static int ci_hdrc_msm_probe(struct platform_device > > *pdev) > > err_iface: > > clk_disable_unprepare(ci->core_clk); > > err_fs: > > - reset_controller_unregister(&ci->rcdev); > > It is devm API, why the unregister needs to be called at > fail path? >
I am not very clear about your problem... After using devm_reset_controller_register(), I have removed reset_controller_unregister() calls in this patch. > Peter > > > return ret; > > } > > > > @@ -284,7 +283,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 > >