parisc: Fix automatic selection of cr16 clocksource

Commit 54b66800907 (parisc: Add native high-resolution sched_clock()
implementation) added support to use the CPU-internal cr16 counters as reliable
clocksource with the help of HAVE_UNSTABLE_SCHED_CLOCK.

Sadly the commit missed to remove the hack which prevented cr16 to become the
default clocksource even on SMP systems.

Signed-off-by: Helge Deller <deller@gmx.de>
Cc: stable@vger.kernel.org # 4.7+

Changed files
-20
arch
parisc
-8
arch/parisc/kernel/processor.c
··· 51 51 52 52 DEFINE_PER_CPU(struct cpuinfo_parisc, cpu_data); 53 53 54 - extern int update_cr16_clocksource(void); /* from time.c */ 55 - 56 54 /* 57 55 ** PARISC CPU driver - claim "device" and initialize CPU data structures. 58 56 ** ··· 225 227 cpu_up(cpuid); 226 228 } 227 229 #endif 228 - 229 - /* If we've registered more than one cpu, 230 - * we'll use the jiffies clocksource since cr16 231 - * is not synchronized between CPUs. 232 - */ 233 - update_cr16_clocksource(); 234 230 235 231 return 0; 236 232 }
-12
arch/parisc/kernel/time.c
··· 221 221 .flags = CLOCK_SOURCE_IS_CONTINUOUS, 222 222 }; 223 223 224 - int update_cr16_clocksource(void) 225 - { 226 - /* since the cr16 cycle counters are not synchronized across CPUs, 227 - we'll check if we should switch to a safe clocksource: */ 228 - if (clocksource_cr16.rating != 0 && num_online_cpus() > 1) { 229 - clocksource_change_rating(&clocksource_cr16, 0); 230 - return 1; 231 - } 232 - 233 - return 0; 234 - } 235 - 236 224 void __init start_cpu_itimer(void) 237 225 { 238 226 unsigned int cpu = smp_processor_id();