aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/clk/samsung/clk.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/drivers/clk/samsung/clk.c b/drivers/clk/samsung/clk.c
index d36cdd511761..ca04b9e61588 100644
--- a/drivers/clk/samsung/clk.c
+++ b/drivers/clk/samsung/clk.c
@@ -57,18 +57,6 @@ void __init samsung_clk_init(struct device_node *np, void __iomem *base,
57 unsigned long nr_rdump) 57 unsigned long nr_rdump)
58{ 58{
59 reg_base = base; 59 reg_base = base;
60 if (!np)
61 return;
62
63#ifdef CONFIG_OF
64 clk_table = kzalloc(sizeof(struct clk *) * nr_clks, GFP_KERNEL);
65 if (!clk_table)
66 panic("could not allocate clock lookup table\n");
67
68 clk_data.clks = clk_table;
69 clk_data.clk_num = nr_clks;
70 of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data);
71#endif
72 60
73#ifdef CONFIG_PM_SLEEP 61#ifdef CONFIG_PM_SLEEP
74 if (rdump && nr_rdump) { 62 if (rdump && nr_rdump) {
@@ -87,6 +75,19 @@ void __init samsung_clk_init(struct device_node *np, void __iomem *base,
87 register_syscore_ops(&samsung_clk_syscore_ops); 75 register_syscore_ops(&samsung_clk_syscore_ops);
88 } 76 }
89#endif 77#endif
78
79 if (!np)
80 return;
81
82#ifdef CONFIG_OF
83 clk_table = kzalloc(sizeof(struct clk *) * nr_clks, GFP_KERNEL);
84 if (!clk_table)
85 panic("could not allocate clock lookup table\n");
86
87 clk_data.clks = clk_table;
88 clk_data.clk_num = nr_clks;
89 of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data);
90#endif
90} 91}
91 92
92/* add a clock instance to the clock lookup table used for dt based lookup */ 93/* add a clock instance to the clock lookup table used for dt based lookup */