Re: [PATCH] usb: chipidea: msm: Use device-managed registration API

From: Chuhong Yuan
Date: Wed Aug 28 2019 - 07:42:47 EST


On Wed, Aug 28, 2019 at 11:24 AM Peter Chen <peter.chen@xxxxxxx> 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 <hslester96@xxxxxxxxx>
> > ---
> > 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
> >