aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-11-10 19:24:25 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2015-11-10 19:24:25 -0500
commitc6de7f1754bd474019c60d6f076fa3f704e46b78 (patch)
tree76ac9833860756c78671ff39b76b5077569491ad
parent52e9a33333fc337d03ffb865048f9ccae8552a8d (diff)
parentf23d0e2468bc538e8c33223af8963ef40b7515bf (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--MAINTAINERS2
-rw-r--r--arch/metag/include/asm/irq.h8
-rw-r--r--arch/metag/kernel/smp.c2
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
6994METAG ARCHITECTURE 6994METAG ARCHITECTURE
6995M: James Hogan <james.hogan@imgtec.com> 6995M: James Hogan <james.hogan@imgtec.com>
6996L: linux-metag@vger.kernel.org 6996L: linux-metag@vger.kernel.org
6997S: Supported 6997S: Odd Fixes
6998F: arch/metag/ 6998F: arch/metag/
6999F: Documentation/metag/ 6999F: Documentation/metag/
7000F: Documentation/devicetree/bindings/metag/ 7000F: 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);
6extern void irq_ctx_exit(int cpu); 6extern 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) 9static inline void irq_ctx_init(int cpu)
10# define irq_ctx_exit(cpu) do { } while (0) 10{
11}
12static inline void irq_ctx_exit(int cpu)
13{
14}
11#endif 15#endif
12 16
13void tbi_startup_interrupt(int); 17void 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