Use helper function clk_alloc_onecell_data() to allocate struct
clk_onecell_data.

Signed-off-by: David Lechner <[email protected]>
---
 drivers/clk/clk-qoriq.c | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/drivers/clk/clk-qoriq.c b/drivers/clk/clk-qoriq.c
index 3a1812f..5278cc7 100644
--- a/drivers/clk/clk-qoriq.c
+++ b/drivers/clk/clk-qoriq.c
@@ -1175,13 +1175,11 @@ static void __init legacy_pll_init(struct device_node 
*np, int idx)
        count = of_property_count_strings(np, "clock-output-names");
 
        BUILD_BUG_ON(ARRAY_SIZE(pll->div) < 4);
-       subclks = kcalloc(4, sizeof(struct clk *), GFP_KERNEL);
-       if (!subclks)
+       onecell_data = clk_alloc_onecell_data(4);
+       if (!onecell_data)
                return;
 
-       onecell_data = kmalloc(sizeof(*onecell_data), GFP_KERNEL);
-       if (!onecell_data)
-               goto err_clks;
+       subclks = onecell_data->clks;
 
        if (count <= 3) {
                subclks[0] = pll->div[0].clk;
@@ -1194,7 +1192,6 @@ static void __init legacy_pll_init(struct device_node 
*np, int idx)
                subclks[3] = pll->div[3].clk;
        }
 
-       onecell_data->clks = subclks;
        onecell_data->clk_num = count;
 
        rc = of_clk_add_provider(np, of_clk_src_onecell_get, onecell_data);
@@ -1206,9 +1203,7 @@ static void __init legacy_pll_init(struct device_node 
*np, int idx)
 
        return;
 err_cell:
-       kfree(onecell_data);
-err_clks:
-       kfree(subclks);
+       clk_free_onecell_data(onecell_data);
 }
 
 /* Legacy node */
-- 
2.7.4

Reply via email to