On 12 March 2013 14:47, Heiko Stübner <heiko@xxxxxxxxx> wrote: > Am Dienstag, 12. März 2013, 10:02:55 schrieb Heiko Stübner: >> Am Dienstag, 12. März 2013, 09:53:00 schrieb Thomas Abraham: >> > On 12 March 2013 05:14, Heiko Stübner <heiko@xxxxxxxxx> wrote: >> > > This let to the suspend init never being reached on non-DT platforms. >> > > >> > > Signed-off-by: Heiko Stueber <heiko@xxxxxxxxx> >> > > --- >> > > >> > > drivers/clk/samsung/clk.c | 2 -- >> > > 1 files changed, 0 insertions(+), 2 deletions(-) >> > > >> > > diff --git a/drivers/clk/samsung/clk.c b/drivers/clk/samsung/clk.c >> > > index d36cdd5..1a5de69 100644 >> > > --- a/drivers/clk/samsung/clk.c >> > > +++ b/drivers/clk/samsung/clk.c >> > > @@ -57,8 +57,6 @@ void __init samsung_clk_init(struct device_node *np, >> > > void __iomem *base, >> > > >> > > unsigned long nr_rdump) >> > > >> > > { >> > > >> > > reg_base = base; >> > > >> > > - if (!np) >> > > - return; >> > >> > Hi Heiko, >> > >> > Sorry, I did not understand the need for this. Could you please add >> > few more details on this change. >> >> Hi Thomas, >> >> On non-dt platforms the init would stop here, therefore never reaching the >> code that inits the syscore ops below to save the register values on >> suspend and restores them on resume. >> >> I might be overlooking something, but I think we want to save/restore the >> register values on both dt and non-dt platforms. > > ok, I did overlook something :-) > > The register saving seems to be done separately on non-dt platforms (mach- > exynos/pm.c for example). So I probably need to redo patch 2 and 3. The register saving is supposed to be done in the clock driver itself for both dt and non-dt platforms. So you are right in pointing out this issue. But in this patch, removing the check on 'np' is not right. Because, on builds were CONFIG_OF is enabled but kernel image executing on non-dt platforms, the allocation of clk_table should be avoided. So instead of removing the check on 'np', the code inside #ifdef CONFIG_PM_SLEEP should be placed after the assignment to reg_base. The check on 'np' should then follow. Thanks, Thomas. > > > Heiko > > >> > > #ifdef CONFIG_OF >> > > >> > > clk_table = kzalloc(sizeof(struct clk *) * nr_clks, >> > > GFP_KERNEL); >> > > >> > > -- >> > > 1.7.2.3 > -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html