summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/parisc/kernel/smp.c4
-rw-r--r--arch/parisc/kernel/time.c8
2 files changed, 7 insertions, 5 deletions
diff --git a/arch/parisc/kernel/smp.c b/arch/parisc/kernel/smp.c
index 6ba9257fdb7f..bb6e6a38e911 100644
--- a/arch/parisc/kernel/smp.c
+++ b/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;
}
diff --git a/arch/parisc/kernel/time.c b/arch/parisc/kernel/time.c
index d45f77f62908..9b14066d693c 100644
--- a/arch/parisc/kernel/time.c
+++ b/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)
{