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);
 
        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))
                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);