aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clk/clk-s2mps11.c
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@ingics.com>2015-07-16 09:59:43 -0400
committerStephen Boyd <sboyd@codeaurora.org>2015-07-28 14:58:46 -0400
commit264e3b75de4eee6e4ee4616bf2b2a3d522cad72a (patch)
tree76b68596282ceaa7f153569bc3939d66b5a6b12e /drivers/clk/clk-s2mps11.c
parent5a1cfafaeab5237523d43cd033e1fb42bf5c1933 (diff)
clk: s2mps11: Simplify s2mps11_clk_probe unwind paths
The devm_clk_unregister() in .probe error case is not necessary as it will be automatically called when probe fails. Signed-off-by: Axel Lin <axel.lin@ingics.com> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Diffstat (limited to 'drivers/clk/clk-s2mps11.c')
-rw-r--r--drivers/clk/clk-s2mps11.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c
index 9b13a303d3f8..ba7fb1b8c182 100644
--- a/drivers/clk/clk-s2mps11.c
+++ b/drivers/clk/clk-s2mps11.c
@@ -246,7 +246,7 @@ static int s2mps11_clk_probe(struct platform_device *pdev)
246 s2mps11_name(s2mps11_clk), NULL); 246 s2mps11_name(s2mps11_clk), NULL);
247 if (!s2mps11_clk->lookup) { 247 if (!s2mps11_clk->lookup) {
248 ret = -ENOMEM; 248 ret = -ENOMEM;
249 goto err_lup; 249 goto err_reg;
250 } 250 }
251 } 251 }
252 252
@@ -265,16 +265,10 @@ static int s2mps11_clk_probe(struct platform_device *pdev)
265 platform_set_drvdata(pdev, s2mps11_clks); 265 platform_set_drvdata(pdev, s2mps11_clks);
266 266
267 return ret; 267 return ret;
268err_lup: 268
269 devm_clk_unregister(&pdev->dev, s2mps11_clk->clk);
270err_reg: 269err_reg:
271 while (s2mps11_clk > s2mps11_clks) { 270 while (--i >= 0)
272 if (s2mps11_clk->lookup) { 271 clkdev_drop(s2mps11_clks[i].lookup);
273 clkdev_drop(s2mps11_clk->lookup);
274 devm_clk_unregister(&pdev->dev, s2mps11_clk->clk);
275 }
276 s2mps11_clk--;
277 }
278 272
279 return ret; 273 return ret;
280} 274}