aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChuhong Yuan <hslester96@gmail.com>2019-09-01 21:43:23 -0400
committerPeter Chen <peter.chen@nxp.com>2019-09-03 02:16:40 -0400
commitecd55e367f3d706788632e176ec6b94e1a72a07c (patch)
treefc75ed99b2e4101901d2ef666cb3b7f135041f30
parent05559f10ed797b79f7fa47313682c48919a2b111 (diff)
usb: chipidea: msm: Use device-managed registration API
Use devm_reset_controller_register to get rid of manual unregistration. Signed-off-by: Chuhong Yuan <hslester96@gmail.com> Signed-off-by: Peter Chen <peter.chen@nxp.com>
-rw-r--r--drivers/usb/chipidea/ci_hdrc_msm.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/usb/chipidea/ci_hdrc_msm.c b/drivers/usb/chipidea/ci_hdrc_msm.c
index bb4645a8ca46..af648ba6544d 100644
--- a/drivers/usb/chipidea/ci_hdrc_msm.c
+++ b/drivers/usb/chipidea/ci_hdrc_msm.c
@@ -216,13 +216,13 @@ static int ci_hdrc_msm_probe(struct platform_device *pdev)
216 ci->rcdev.ops = &ci_hdrc_msm_reset_ops; 216 ci->rcdev.ops = &ci_hdrc_msm_reset_ops;
217 ci->rcdev.of_node = pdev->dev.of_node; 217 ci->rcdev.of_node = pdev->dev.of_node;
218 ci->rcdev.nr_resets = 2; 218 ci->rcdev.nr_resets = 2;
219 ret = reset_controller_register(&ci->rcdev); 219 ret = devm_reset_controller_register(&pdev->dev, &ci->rcdev);
220 if (ret) 220 if (ret)
221 return ret; 221 return ret;
222 222
223 ret = clk_prepare_enable(ci->fs_clk); 223 ret = clk_prepare_enable(ci->fs_clk);
224 if (ret) 224 if (ret)
225 goto err_fs; 225 return ret;
226 226
227 reset_control_assert(reset); 227 reset_control_assert(reset);
228 usleep_range(10000, 12000); 228 usleep_range(10000, 12000);
@@ -232,7 +232,7 @@ static int ci_hdrc_msm_probe(struct platform_device *pdev)
232 232
233 ret = clk_prepare_enable(ci->core_clk); 233 ret = clk_prepare_enable(ci->core_clk);
234 if (ret) 234 if (ret)
235 goto err_fs; 235 return ret;
236 236
237 ret = clk_prepare_enable(ci->iface_clk); 237 ret = clk_prepare_enable(ci->iface_clk);
238 if (ret) 238 if (ret)
@@ -271,8 +271,6 @@ err_mux:
271 clk_disable_unprepare(ci->iface_clk); 271 clk_disable_unprepare(ci->iface_clk);
272err_iface: 272err_iface:
273 clk_disable_unprepare(ci->core_clk); 273 clk_disable_unprepare(ci->core_clk);
274err_fs:
275 reset_controller_unregister(&ci->rcdev);
276 return ret; 274 return ret;
277} 275}
278 276
@@ -284,7 +282,6 @@ static int ci_hdrc_msm_remove(struct platform_device *pdev)
284 ci_hdrc_remove_device(ci->ci); 282 ci_hdrc_remove_device(ci->ci);
285 clk_disable_unprepare(ci->iface_clk); 283 clk_disable_unprepare(ci->iface_clk);
286 clk_disable_unprepare(ci->core_clk); 284 clk_disable_unprepare(ci->core_clk);
287 reset_controller_unregister(&ci->rcdev);
288 285
289 return 0; 286 return 0;
290} 287}