Merge tag 'metag-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan...
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 11 Nov 2015 00:24:25 +0000 (16:24 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 11 Nov 2015 00:24:25 +0000 (16:24 -0800)
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

MAINTAINERS
arch/metag/include/asm/irq.h
arch/metag/kernel/smp.c

index a4924c29c6b5282e1e60830dca3be33f91df4d7b..35fe7ae0492e066cfb716913fe2fa7b7cd2a9256 100644 (file)
@@ -6994,7 +6994,7 @@ F:        Documentation/hwmon/menf21bmc
 METAG ARCHITECTURE
 M:     James Hogan <james.hogan@imgtec.com>
 L:     linux-metag@vger.kernel.org
-S:     Supported
+S:     Odd Fixes
 F:     arch/metag/
 F:     Documentation/metag/
 F:     Documentation/devicetree/bindings/metag/
index ad6bd0edbc3bf8a43a3796f1c11eb49e8a7ec0b9..6ac6d4a051ddd6ad812571080b1c7c1f8f9e8a6d 100644 (file)
@@ -6,8 +6,12 @@ extern void irq_ctx_init(int cpu);
 extern void irq_ctx_exit(int cpu);
 # define __ARCH_HAS_DO_SOFTIRQ
 #else
-# define irq_ctx_init(cpu) do { } while (0)
-# define irq_ctx_exit(cpu) do { } while (0)
+static inline void irq_ctx_init(int cpu)
+{
+}
+static inline void irq_ctx_exit(int cpu)
+{
+}
 #endif
 
 void tbi_startup_interrupt(int);
index ac3a199e33e714d772f688b7f9620cb964d29a0f..c3c6f086488169cc06e53b1eb6eb07ea6b2e68ee 100644 (file)
@@ -312,6 +312,7 @@ void cpu_die(void)
 {
        local_irq_disable();
        idle_task_exit();
+       irq_ctx_exit(smp_processor_id());
 
        (void)cpu_report_death();
 
@@ -366,6 +367,7 @@ asmlinkage void secondary_start_kernel(void)
                panic("No TBI found!");
 
        per_cpu_trap_init(cpu);
+       irq_ctx_init(cpu);
 
        preempt_disable();