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....@ingics.com> Reviewed-by: Krzysztof Kozlowski <k.kozlow...@samsung.com> --- This patch was sent on https://lkml.org/lkml/2014/5/18/96 with Krzysztof's review. drivers/clk/clk-s2mps11.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c index f2f62a1b..aeaa61c 100644 --- a/drivers/clk/clk-s2mps11.c +++ b/drivers/clk/clk-s2mps11.c @@ -210,7 +210,7 @@ static int s2mps11_clk_probe(struct platform_device *pdev) sizeof(struct clk_lookup), GFP_KERNEL); if (!s2mps11_clk->lookup) { ret = -ENOMEM; - goto err_lup; + goto err_reg; } s2mps11_clk->lookup->con_id = s2mps11_name(s2mps11_clk); @@ -231,16 +231,10 @@ static int s2mps11_clk_probe(struct platform_device *pdev) platform_set_drvdata(pdev, s2mps11_clks); return ret; -err_lup: - devm_clk_unregister(&pdev->dev, s2mps11_clk->clk); + err_reg: - while (s2mps11_clk > s2mps11_clks) { - if (s2mps11_clk->lookup) { - clkdev_drop(s2mps11_clk->lookup); - devm_clk_unregister(&pdev->dev, s2mps11_clk->clk); - } - s2mps11_clk--; - } + while (--i >= 0) + clkdev_drop(s2mps11_clks[i].lookup); return ret; } -- 1.8.3.2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/