summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-11-11 01:24:25 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2015-11-11 01:24:25 +0100
commitc6de7f1754bd474019c60d6f076fa3f704e46b78 (patch)
tree76ac9833860756c78671ff39b76b5077569491ad
parentMerge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git... (diff)
parentMAINTAINERS: Change Meta arch port status to Odd Fixes (diff)
downloadlinux-c6de7f1754bd474019c60d6f076fa3f704e46b78.tar.xz
linux-c6de7f1754bd474019c60d6f076fa3f704e46b78.zip
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
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/
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);
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);
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)
{
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();