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