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: Heiko Stueber <heiko@sntech.de>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
This commit is contained in:
Heiko Stueber 2013-03-18 13:43:52 +09:00 committed by Kukjin Kim
parent 798ed613f5
commit 2466196d3e
1 changed files with 13 additions and 12 deletions

View File

@ -57,18 +57,6 @@ void __init samsung_clk_init(struct device_node *np, void __iomem *base,
unsigned long nr_rdump)
{
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
if (rdump && nr_rdump) {
@ -87,6 +75,19 @@ void __init samsung_clk_init(struct device_node *np, void __iomem *base,
register_syscore_ops(&samsung_clk_syscore_ops);
}
#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 */