浏览代码

clk: mvebu: armada-37xx-tbg: Switch to clk_get and balance it in probe

The parent clock is get only to have its name, and then the clock is no
more used, so we can safely free it using clk_put. Furthermore as between
the successful devm_clk_get() and the devm_clk_put() call we don't exit
the probe function in error so I can use non managed version of clk_get()
and clk_put().

Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Gregory CLEMENT 6 年之前
父节点
当前提交
480d99fdc3
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      drivers/clk/mvebu/armada-37xx-tbg.c

+ 2 - 1
drivers/clk/mvebu/armada-37xx-tbg.c

@@ -99,12 +99,13 @@ static int armada_3700_tbg_clock_probe(struct platform_device *pdev)
 	hw_tbg_data->num = NUM_TBG;
 	hw_tbg_data->num = NUM_TBG;
 	platform_set_drvdata(pdev, hw_tbg_data);
 	platform_set_drvdata(pdev, hw_tbg_data);
 
 
-	parent = devm_clk_get(dev, NULL);
+	parent = clk_get(dev, NULL);
 	if (IS_ERR(parent)) {
 	if (IS_ERR(parent)) {
 		dev_err(dev, "Could get the clock parent\n");
 		dev_err(dev, "Could get the clock parent\n");
 		return -EINVAL;
 		return -EINVAL;
 	}
 	}
 	parent_name = __clk_get_name(parent);
 	parent_name = __clk_get_name(parent);
+	clk_put(parent);
 
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	reg = devm_ioremap_resource(dev, res);
 	reg = devm_ioremap_resource(dev, res);