diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-11-11 01:24:25 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-11-11 01:24:25 +0100 |
commit | c6de7f1754bd474019c60d6f076fa3f704e46b78 (patch) | |
tree | 76ac9833860756c78671ff39b76b5077569491ad | |
parent | Merge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git... (diff) | |
parent | MAINTAINERS: Change Meta arch port status to Odd Fixes (diff) | |
download | linux-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-- | 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 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(); |