MIPS: Loongson64: Fix build error 'secondary_kexec_args' undeclared under !SMP
authorYouling Tang <tangyouling@loongson.cn>
Thu, 6 May 2021 02:02:50 +0000 (10:02 +0800)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Tue, 11 May 2021 20:21:21 +0000 (22:21 +0200)
On the Loongson64 platform, if CONFIG_SMP is not set, the following build
error will occur:
arch/mips/loongson64/reset.c:133:2: error:'secondary_kexec_args' undeclared

Because the definition and declaration of secondary_kexec_args are in the
CONFIG_SMP, the secondary_kexec_args variable should be used in CONFIG_SMP.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Youling Tang <tangyouling@loongson.cn>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/loongson64/reset.c

index c97bfdc..758d5d2 100644 (file)
@@ -126,11 +126,12 @@ static void loongson_kexec_shutdown(void)
        for_each_possible_cpu(cpu)
                if (!cpu_online(cpu))
                        cpu_device_up(get_cpu_device(cpu));
+
+       secondary_kexec_args[0] = TO_UNCAC(0x3ff01000);
 #endif
        kexec_args[0] = kexec_argc;
        kexec_args[1] = fw_arg1;
        kexec_args[2] = fw_arg2;
-       secondary_kexec_args[0] = TO_UNCAC(0x3ff01000);
        memcpy((void *)fw_arg1, kexec_argv, KEXEC_ARGV_SIZE);
        memcpy((void *)fw_arg2, kexec_envp, KEXEC_ENVP_SIZE);
 }
@@ -141,7 +142,9 @@ static void loongson_crash_shutdown(struct pt_regs *regs)
        kexec_args[0] = kdump_argc;
        kexec_args[1] = fw_arg1;
        kexec_args[2] = fw_arg2;
+#ifdef CONFIG_SMP
        secondary_kexec_args[0] = TO_UNCAC(0x3ff01000);
+#endif
        memcpy((void *)fw_arg1, kdump_argv, KEXEC_ARGV_SIZE);
        memcpy((void *)fw_arg2, kexec_envp, KEXEC_ENVP_SIZE);
 }