diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-11-10 19:24:25 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-11-10 19:24:25 -0500 |
commit | c6de7f1754bd474019c60d6f076fa3f704e46b78 (patch) | |
tree | 76ac9833860756c78671ff39b76b5077569491ad | |
parent | 52e9a33333fc337d03ffb865048f9ccae8552a8d (diff) | |
parent | f23d0e2468bc538e8c33223af8963ef40b7515bf (diff) |
Merge tag 'metag-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag
Pull metag arch updates from James Hogan:
"A fix for 4KiB stacks with SMP, and a change of maintenance status to
'Odd Fixes'"
* tag 'metag-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag:
MAINTAINERS: Change Meta arch port status to Odd Fixes
metag: Turn irq_ctx_* macros into static inlines
metag: SMP: Fix 4KiB stack setup on secondary CPUs
-rw-r--r-- | MAINTAINERS | 2 | ||||
-rw-r--r-- | arch/metag/include/asm/irq.h | 8 | ||||
-rw-r--r-- | arch/metag/kernel/smp.c | 2 |
3 files changed, 9 insertions, 3 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index a4924c29c6b5..35fe7ae0492e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
@@ -6994,7 +6994,7 @@ F: Documentation/hwmon/menf21bmc | |||
6994 | METAG ARCHITECTURE | 6994 | METAG ARCHITECTURE |
6995 | M: James Hogan <james.hogan@imgtec.com> | 6995 | M: James Hogan <james.hogan@imgtec.com> |
6996 | L: linux-metag@vger.kernel.org | 6996 | L: linux-metag@vger.kernel.org |
6997 | S: Supported | 6997 | S: Odd Fixes |
6998 | F: arch/metag/ | 6998 | F: arch/metag/ |
6999 | F: Documentation/metag/ | 6999 | F: Documentation/metag/ |
7000 | F: Documentation/devicetree/bindings/metag/ | 7000 | F: Documentation/devicetree/bindings/metag/ |
diff --git a/arch/metag/include/asm/irq.h b/arch/metag/include/asm/irq.h index ad6bd0edbc3b..6ac6d4a051dd 100644 --- a/arch/metag/include/asm/irq.h +++ b/arch/metag/include/asm/irq.h | |||
@@ -6,8 +6,12 @@ extern void irq_ctx_init(int cpu); | |||
6 | extern void irq_ctx_exit(int cpu); | 6 | extern void irq_ctx_exit(int cpu); |
7 | # define __ARCH_HAS_DO_SOFTIRQ | 7 | # define __ARCH_HAS_DO_SOFTIRQ |
8 | #else | 8 | #else |
9 | # define irq_ctx_init(cpu) do { } while (0) | 9 | static inline void irq_ctx_init(int cpu) |
10 | # define irq_ctx_exit(cpu) do { } while (0) | 10 | { |
11 | } | ||
12 | static inline void irq_ctx_exit(int cpu) | ||
13 | { | ||
14 | } | ||
11 | #endif | 15 | #endif |
12 | 16 | ||
13 | void tbi_startup_interrupt(int); | 17 | void tbi_startup_interrupt(int); |
diff --git a/arch/metag/kernel/smp.c b/arch/metag/kernel/smp.c index ac3a199e33e7..c3c6f0864881 100644 --- a/arch/metag/kernel/smp.c +++ b/arch/metag/kernel/smp.c | |||
@@ -312,6 +312,7 @@ void cpu_die(void) | |||
312 | { | 312 | { |
313 | local_irq_disable(); | 313 | local_irq_disable(); |
314 | idle_task_exit(); | 314 | idle_task_exit(); |
315 | irq_ctx_exit(smp_processor_id()); | ||
315 | 316 | ||
316 | (void)cpu_report_death(); | 317 | (void)cpu_report_death(); |
317 | 318 | ||
@@ -366,6 +367,7 @@ asmlinkage void secondary_start_kernel(void) | |||
366 | panic("No TBI found!"); | 367 | panic("No TBI found!"); |
367 | 368 | ||
368 | per_cpu_trap_init(cpu); | 369 | per_cpu_trap_init(cpu); |
370 | irq_ctx_init(cpu); | ||
369 | 371 | ||
370 | preempt_disable(); | 372 | preempt_disable(); |
371 | 373 | ||