diff mbox series

usb: chipidea: msm: Use device-managed registration API

Message ID 20190723030206.2919-1-hslester96@gmail.com (mailing list archive)
State Superseded
Headers show
Series usb: chipidea: msm: Use device-managed registration API | expand

Commit Message

Chuhong Yuan July 23, 2019, 3:02 a.m. UTC
Use devm_reset_controller_register to get rid
of manual unregistration.

Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
---
 drivers/usb/chipidea/ci_hdrc_msm.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

Comments

Peter Chen Aug. 28, 2019, 3:24 a.m. UTC | #1
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@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?

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
>
Chuhong Yuan Aug. 28, 2019, 11:42 a.m. UTC | #2
On Wed, Aug 28, 2019 at 11:24 AM Peter Chen <peter.chen@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 <hslester96@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
> >
Peter Chen Aug. 29, 2019, 3:39 a.m. UTC | #3
On 19-08-28 19:42:32, Chuhong Yuan wrote:
> On Wed, Aug 28, 2019 at 11:24 AM Peter Chen <peter.chen@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 <hslester96@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.
> 

Sorry, my fault.

Your patch is ok, but try to clean up the label "err_fs" since
it is not needed.

Peter

> > 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
> > >
diff mbox series

Patch

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);
 	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;
 }