diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-08-21 17:28:24 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-08-21 17:28:24 -0400 |
commit | 46097f27180c7dd371c2b0391d40bb1fa36007af (patch) | |
tree | 55a202d3ba3fd24e5d4afa286cefa72ec01ebcd1 | |
parent | 4ec656bdf43a13a655a8259b79dd63bc1f0b1e41 (diff) | |
parent | 3eb53b20d7bd1374598cfb1feaa081fcac0e76cd (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.h | 4 | ||||
-rw-r--r-- | arch/parisc/kernel/processor.c | 8 | ||||
-rw-r--r-- | arch/parisc/kernel/time.c | 12 |
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 | ||
52 | DEFINE_PER_CPU(struct cpuinfo_parisc, cpu_data); | 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 | ** 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 | ||
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 | void __init start_cpu_itimer(void) | 224 | void __init start_cpu_itimer(void) |
237 | { | 225 | { |
238 | unsigned int cpu = smp_processor_id(); | 226 | unsigned int cpu = smp_processor_id(); |