|
@@ -141,11 +141,6 @@ static struct device_node *s2mps11_clk_parse_dt(struct platform_device *pdev)
|
|
|
return ERR_PTR(-EINVAL);
|
|
|
}
|
|
|
|
|
|
- clk_table = devm_kzalloc(&pdev->dev, sizeof(struct clk *) *
|
|
|
- S2MPS11_CLKS_NUM, GFP_KERNEL);
|
|
|
- if (!clk_table)
|
|
|
- return ERR_PTR(-ENOMEM);
|
|
|
-
|
|
|
for (i = 0; i < S2MPS11_CLKS_NUM; i++)
|
|
|
of_property_read_string_index(clk_np, "clock-output-names", i,
|
|
|
&s2mps11_clks_init[i].name);
|
|
@@ -168,6 +163,11 @@ static int s2mps11_clk_probe(struct platform_device *pdev)
|
|
|
|
|
|
s2mps11_clk = s2mps11_clks;
|
|
|
|
|
|
+ clk_table = devm_kzalloc(&pdev->dev, sizeof(struct clk *) *
|
|
|
+ S2MPS11_CLKS_NUM, GFP_KERNEL);
|
|
|
+ if (!clk_table)
|
|
|
+ return -ENOMEM;
|
|
|
+
|
|
|
/* Store clocks of_node in first element of s2mps11_clks array */
|
|
|
s2mps11_clks->clk_np = s2mps11_clk_parse_dt(pdev);
|
|
|
if (IS_ERR(s2mps11_clks->clk_np))
|
|
@@ -220,15 +220,13 @@ static int s2mps11_clk_probe(struct platform_device *pdev)
|
|
|
clkdev_add(s2mps11_clk->lookup);
|
|
|
}
|
|
|
|
|
|
- if (clk_table) {
|
|
|
- for (i = 0; i < S2MPS11_CLKS_NUM; i++)
|
|
|
- clk_table[i] = s2mps11_clks[i].clk;
|
|
|
+ for (i = 0; i < S2MPS11_CLKS_NUM; i++)
|
|
|
+ clk_table[i] = s2mps11_clks[i].clk;
|
|
|
|
|
|
- clk_data.clks = clk_table;
|
|
|
- clk_data.clk_num = S2MPS11_CLKS_NUM;
|
|
|
- of_clk_add_provider(s2mps11_clks->clk_np,
|
|
|
- of_clk_src_onecell_get, &clk_data);
|
|
|
- }
|
|
|
+ clk_data.clks = clk_table;
|
|
|
+ clk_data.clk_num = S2MPS11_CLKS_NUM;
|
|
|
+ of_clk_add_provider(s2mps11_clks->clk_np, of_clk_src_onecell_get,
|
|
|
+ &clk_data);
|
|
|
|
|
|
platform_set_drvdata(pdev, s2mps11_clks);
|
|
|
|