| From foo@baz Wed Aug 22 09:42:09 CEST 2018 |
| From: Alexey Brodkin <Alexey.Brodkin@synopsys.com> |
| Date: Wed, 29 Nov 2017 11:21:45 +0300 |
| Subject: ARC: Enable machine_desc->init_per_cpu for !CONFIG_SMP |
| |
| From: Alexey Brodkin <Alexey.Brodkin@synopsys.com> |
| |
| [ Upstream commit 2f24ef7413a4d91657ef04e77c27ce0b313e6c95 ] |
| |
| machine_desc->init_per_cpu() hook is supposed to be per cpu |
| initialization and would seem to apply equally to UP and/or SMP. |
| Infact the comment in header file seems to suggest it works for |
| UP too, which was not the case and this patch. |
| |
| This enables !CONFIG_SMP build for platforms such as hsdk. |
| |
| Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> |
| Signed-off-by: Vineet Gupta <vgupta@synopsys.com> |
| [vgupta: trimmeed changelog] |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| arch/arc/include/asm/mach_desc.h | 2 -- |
| arch/arc/kernel/irq.c | 2 +- |
| 2 files changed, 1 insertion(+), 3 deletions(-) |
| |
| --- a/arch/arc/include/asm/mach_desc.h |
| +++ b/arch/arc/include/asm/mach_desc.h |
| @@ -34,9 +34,7 @@ struct machine_desc { |
| const char *name; |
| const char **dt_compat; |
| void (*init_early)(void); |
| -#ifdef CONFIG_SMP |
| void (*init_per_cpu)(unsigned int); |
| -#endif |
| void (*init_machine)(void); |
| void (*init_late)(void); |
| |
| --- a/arch/arc/kernel/irq.c |
| +++ b/arch/arc/kernel/irq.c |
| @@ -31,10 +31,10 @@ void __init init_IRQ(void) |
| /* a SMP H/w block could do IPI IRQ request here */ |
| if (plat_smp_ops.init_per_cpu) |
| plat_smp_ops.init_per_cpu(smp_processor_id()); |
| +#endif |
| |
| if (machine_desc->init_per_cpu) |
| machine_desc->init_per_cpu(smp_processor_id()); |
| -#endif |
| } |
| |
| /* |