Commit 2466196d authored by Heiko Stueber's avatar Heiko Stueber Committed by Kukjin Kim

clk: samsung: fix pm init on non-dt platforms

The clock_init function checked for a dt node, returning immediately
for non-dt machines. This let to the suspend init never being reached
on those non-DT machines.

So fix this by moving the pm init code above the check.
Signed-off-by: default avatarHeiko Stueber <heiko@sntech.de>
Acked-by: default avatarMike Turquette <mturquette@linaro.org>
Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent 798ed613
...@@ -57,18 +57,6 @@ void __init samsung_clk_init(struct device_node *np, void __iomem *base, ...@@ -57,18 +57,6 @@ void __init samsung_clk_init(struct device_node *np, void __iomem *base,
unsigned long nr_rdump) unsigned long nr_rdump)
{ {
reg_base = base; reg_base = base;
if (!np)
return;
#ifdef CONFIG_OF
clk_table = kzalloc(sizeof(struct clk *) * nr_clks, GFP_KERNEL);
if (!clk_table)
panic("could not allocate clock lookup table\n");
clk_data.clks = clk_table;
clk_data.clk_num = nr_clks;
of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data);
#endif
#ifdef CONFIG_PM_SLEEP #ifdef CONFIG_PM_SLEEP
if (rdump && nr_rdump) { if (rdump && nr_rdump) {
...@@ -87,6 +75,19 @@ void __init samsung_clk_init(struct device_node *np, void __iomem *base, ...@@ -87,6 +75,19 @@ void __init samsung_clk_init(struct device_node *np, void __iomem *base,
register_syscore_ops(&samsung_clk_syscore_ops); register_syscore_ops(&samsung_clk_syscore_ops);
} }
#endif #endif
if (!np)
return;
#ifdef CONFIG_OF
clk_table = kzalloc(sizeof(struct clk *) * nr_clks, GFP_KERNEL);
if (!clk_table)
panic("could not allocate clock lookup table\n");
clk_data.clks = clk_table;
clk_data.clk_num = nr_clks;
of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data);
#endif
} }
/* add a clock instance to the clock lookup table used for dt based lookup */ /* add a clock instance to the clock lookup table used for dt based lookup */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment