]> rtime.felk.cvut.cz Git - lisovros/linux_canprio.git/commitdiff
sparc64: Fix cpufreq notifier registry.
authorDavid S. Miller <davem@davemloft.net>
Wed, 23 Jul 2008 23:21:07 +0000 (16:21 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 1 Aug 2008 19:43:06 +0000 (12:43 -0700)
[ Upstream commit 7ae93f51d7fa8b9130d47e0b7d17979a165c5bc3 ]

Based upon a report by Daniel Smolik.

We do it too early, which triggers a BUG in
cpufreq_register_notifier().

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/sparc64/kernel/time.c

index e5d238970c7ec60e7d52a04495ffb7eb725340c5..f46402380a726cdccc0bda13a480c6bab4056bc4 100644 (file)
@@ -883,6 +883,16 @@ static struct notifier_block sparc64_cpufreq_notifier_block = {
        .notifier_call  = sparc64_cpufreq_notifier
 };
 
+static int __init register_sparc64_cpufreq_notifier(void)
+{
+
+       cpufreq_register_notifier(&sparc64_cpufreq_notifier_block,
+                                 CPUFREQ_TRANSITION_NOTIFIER);
+       return 0;
+}
+
+core_initcall(register_sparc64_cpufreq_notifier);
+
 #endif /* CONFIG_CPU_FREQ */
 
 static int sparc64_next_event(unsigned long delta,
@@ -1049,11 +1059,6 @@ void __init time_init(void)
               sparc64_clockevent.mult, sparc64_clockevent.shift);
 
        setup_sparc64_timer();
-
-#ifdef CONFIG_CPU_FREQ
-       cpufreq_register_notifier(&sparc64_cpufreq_notifier_block,
-                                 CPUFREQ_TRANSITION_NOTIFIER);
-#endif
 }
 
 unsigned long long sched_clock(void)