]> pilppa.com Git - linux-2.6-omap-h63xx.git/commitdiff
OMAP2xxx clock: init osc_ck, sys_ck internal lists early
authorPaul Walmsley <paul@pwsan.com>
Fri, 10 Apr 2009 02:20:41 +0000 (20:20 -0600)
committerpaul <paul@twilight.(none)>
Fri, 10 Apr 2009 02:20:41 +0000 (20:20 -0600)
Commit 3f0a820c4c0b4670fb5f164baa5582e23c2ef118 breaks OMAP2xxx boot
during initial propagate_rate() on osc_ck and sys_ck.  Fix by calling
clk_init_one() for these clocks first.

Resolves

<1>Unable to handle kernel NULL pointer dereference at virtual address 00000000
<1>pgd = c0004000
<1>[00000000] *pgd=00000000
Internal error: Oops: 5 [#1]
Modules linked in:
CPU: 0    Not tainted  (2.6.29-omap1 #37)
PC is at propagate_rate+0x10/0x60
LR is at omap2_clk_init+0x30/0x218
...

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Cc: Russell King <linux@arm.linux.org.uk>
arch/arm/mach-omap2/clock24xx.c

index 1e839c5a28c5cfb93dec935f4e6b4e9841e1171a..3b7ecc6c43e4b2a7cb8c31a27c66310ae229631f 100644 (file)
@@ -720,6 +720,8 @@ int __init omap2_clk_init(void)
 
        clk_init(&omap2_clk_functions);
 
+       clk_init_one(&osc_ck);
+       clk_init_one(&sys_ck);
        osc_ck.rate = omap2_osc_clk_recalc(&osc_ck);
        propagate_rate(&osc_ck);
        sys_ck.rate = omap2_sys_clk_recalc(&sys_ck);