[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANhBUQ0PEOoVoVscO66spy0Jv4jf5wwtGKRUwa4vd=7b70kBwA@mail.gmail.com>
Date: Wed, 28 Aug 2019 19:42:32 +0800
From: Chuhong Yuan <hslester96@...il.com>
To: Peter Chen <peter.chen@....com>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] usb: chipidea: msm: Use device-managed registration API
On Wed, Aug 28, 2019 at 11:24 AM Peter Chen <peter.chen@....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 <hslester96@...il.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
> >
Powered by blists - more mailing lists