LoongArch: Fix the !CONFIG_SMP build
authorHuacai Chen <chenhuacai@loongson.cn>
Sun, 5 Jun 2022 08:19:53 +0000 (16:19 +0800)
committerHuacai Chen <chenhuacai@loongson.cn>
Wed, 8 Jun 2022 03:00:40 +0000 (11:00 +0800)
commit255b4658c809e194bc10236ac24a722ec14a83d6
treea325d0ed85a26eaf794369a5c52dc5a53d6a0041
parentf2906aa863381afb0015a9eb7fefad885d4e5a56
LoongArch: Fix the !CONFIG_SMP build

1, We assume arch/loongarch/include/asm/smp.h be included in include/
   linux/smp.h is valid and the reverse inclusion isn't. So remove the
   <linux/smp.h> in arch/loongarch/include/asm/smp.h.
2, arch/loongarch/include/asm/smp.h is only needed when CONFIG_SMP,
   and setup.c include it only because it need plat_smp_setup(). So,
   reorganize setup.c & smp.h, and then remove <asm/smp.h> in setup.c.
3, Fix cacheinfo.c and percpu.h build error by adding the missing header
   files when !CONFIG_SMP.
4, Fix acpi.c build error by adding CONFIG_SMP guards.
5, Move irq_stat definition from smp.c to irq.c and fix its declaration.
6, Select CONFIG_SMP for CONFIG_NUMA, similar as other architectures do.

Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
arch/loongarch/Kconfig
arch/loongarch/include/asm/hardirq.h
arch/loongarch/include/asm/percpu.h
arch/loongarch/include/asm/smp.h
arch/loongarch/kernel/acpi.c
arch/loongarch/kernel/cacheinfo.c
arch/loongarch/kernel/irq.c
arch/loongarch/kernel/setup.c
arch/loongarch/kernel/smp.c