Преглед изворни кода

[PARISC] time: clocksource lost update_callback

So move the code to be called by smp_cpus_done, which is
after we've figured out if there's more than one cpu
actually present.

Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Kyle McMartin пре 18 година
родитељ
комит
b2a8289a61
2 измењених фајлова са 7 додато и 5 уклоњено
  1. 4 0
      arch/parisc/kernel/smp.c
  2. 3 5
      arch/parisc/kernel/time.c

+ 4 - 0
arch/parisc/kernel/smp.c

@@ -567,6 +567,10 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
 
 void smp_cpus_done(unsigned int cpu_max)
 {
+	extern int update_cr16_clocksource(void);
+
+	update_cr16_clocksource();
+
 	return;
 }
 

+ 3 - 5
arch/parisc/kernel/time.c

@@ -176,8 +176,6 @@ static cycle_t read_cr16(void)
 	return get_cycles();
 }
 
-static int cr16_update_callback(void);
-
 static struct clocksource clocksource_cr16 = {
 	.name			= "cr16",
 	.rating			= 300,
@@ -185,11 +183,11 @@ static struct clocksource clocksource_cr16 = {
 	.mask			= CLOCKSOURCE_MASK(BITS_PER_LONG),
 	.mult			= 0, /* to be set */
 	.shift			= 22,
-	.update_callback	= cr16_update_callback,
 	.flags			= CLOCK_SOURCE_IS_CONTINUOUS,
 };
 
-static int cr16_update_callback(void)
+#ifdef CONFIG_SMP
+int update_cr16_clocksource(void)
 {
 	int change = 0;
 
@@ -202,7 +200,7 @@ static int cr16_update_callback(void)
 
 	return change;
 }
-
+#endif /*CONFIG_SMP*/
 
 void __init start_cpu_itimer(void)
 {