aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-08-21 17:28:24 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-08-21 17:28:24 -0400
commit46097f27180c7dd371c2b0391d40bb1fa36007af (patch)
tree55a202d3ba3fd24e5d4afa286cefa72ec01ebcd1
parent4ec656bdf43a13a655a8259b79dd63bc1f0b1e41 (diff)
parent3eb53b20d7bd1374598cfb1feaa081fcac0e76cd (diff)
Merge branch 'parisc-4.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux
Pull two parisc fixes from Helge Deller: "The first patch ensures that the high-res cr16 clocksource (which was added in kernel 4.7) gets choosen as default clocksource for parisc. The second patch moves the #define of EREFUSED down inside errno.h and thus unbreaks building the gccgo compiler" * 'parisc-4.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: Fix order of EREFUSED define in errno.h parisc: Fix automatic selection of cr16 clocksource
-rw-r--r--arch/parisc/include/uapi/asm/errno.h4
-rw-r--r--arch/parisc/kernel/processor.c8
-rw-r--r--arch/parisc/kernel/time.c12
3 files changed, 2 insertions, 22 deletions
diff --git a/arch/parisc/include/uapi/asm/errno.h b/arch/parisc/include/uapi/asm/errno.h
index c0ae62520d15..274d5bc6ecce 100644
--- a/arch/parisc/include/uapi/asm/errno.h
+++ b/arch/parisc/include/uapi/asm/errno.h
@@ -97,10 +97,10 @@
97#define ENOTCONN 235 /* Transport endpoint is not connected */ 97#define ENOTCONN 235 /* Transport endpoint is not connected */
98#define ESHUTDOWN 236 /* Cannot send after transport endpoint shutdown */ 98#define ESHUTDOWN 236 /* Cannot send after transport endpoint shutdown */
99#define ETOOMANYREFS 237 /* Too many references: cannot splice */ 99#define ETOOMANYREFS 237 /* Too many references: cannot splice */
100#define EREFUSED ECONNREFUSED /* for HP's NFS apparently */
101#define ETIMEDOUT 238 /* Connection timed out */ 100#define ETIMEDOUT 238 /* Connection timed out */
102#define ECONNREFUSED 239 /* Connection refused */ 101#define ECONNREFUSED 239 /* Connection refused */
103#define EREMOTERELEASE 240 /* Remote peer released connection */ 102#define EREFUSED ECONNREFUSED /* for HP's NFS apparently */
103#define EREMOTERELEASE 240 /* Remote peer released connection */
104#define EHOSTDOWN 241 /* Host is down */ 104#define EHOSTDOWN 241 /* Host is down */
105#define EHOSTUNREACH 242 /* No route to host */ 105#define EHOSTUNREACH 242 /* No route to host */
106 106
diff --git a/arch/parisc/kernel/processor.c b/arch/parisc/kernel/processor.c
index 5adc339eb7c8..0c2a94a0f751 100644
--- a/arch/parisc/kernel/processor.c
+++ b/arch/parisc/kernel/processor.c
@@ -51,8 +51,6 @@ EXPORT_SYMBOL(_parisc_requires_coherency);
51 51
52DEFINE_PER_CPU(struct cpuinfo_parisc, cpu_data); 52DEFINE_PER_CPU(struct cpuinfo_parisc, cpu_data);
53 53
54extern int update_cr16_clocksource(void); /* from time.c */
55
56/* 54/*
57** PARISC CPU driver - claim "device" and initialize CPU data structures. 55** PARISC CPU driver - claim "device" and initialize CPU data structures.
58** 56**
@@ -228,12 +226,6 @@ static int processor_probe(struct parisc_device *dev)
228 } 226 }
229#endif 227#endif
230 228
231 /* If we've registered more than one cpu,
232 * we'll use the jiffies clocksource since cr16
233 * is not synchronized between CPUs.
234 */
235 update_cr16_clocksource();
236
237 return 0; 229 return 0;
238} 230}
239 231
diff --git a/arch/parisc/kernel/time.c b/arch/parisc/kernel/time.c
index 505cf1ac5af2..4b0b963d52a7 100644
--- a/arch/parisc/kernel/time.c
+++ b/arch/parisc/kernel/time.c
@@ -221,18 +221,6 @@ static struct clocksource clocksource_cr16 = {
221 .flags = CLOCK_SOURCE_IS_CONTINUOUS, 221 .flags = CLOCK_SOURCE_IS_CONTINUOUS,
222}; 222};
223 223
224int 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
236void __init start_cpu_itimer(void) 224void __init start_cpu_itimer(void)
237{ 225{
238 unsigned int cpu = smp_processor_id(); 226 unsigned int cpu = smp_processor_id();