MIPS: OCTEON: support disabling HOTPLUG_CPU run-time
authorAaro Koskinen <aaro.koskinen@iki.fi>
Fri, 27 Jun 2014 21:59:51 +0000 (00:59 +0300)
committerRalf Baechle <ralf@linux-mips.org>
Fri, 1 Aug 2014 22:06:42 +0000 (00:06 +0200)
If nosmp kernel option given, we can assume HOTPLUG_CPU is disabled.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Acked-by: David Daney <david.daney@cavium.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7202/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/cavium-octeon/smp.c

index 2c8d156f240c27df11e8d486b1991121db831a37..ea969309b35f9c81c2b91d587f07ff5a5c77aff8 100644 (file)
@@ -84,6 +84,9 @@ static void octeon_smp_hotplug_setup(void)
 #ifdef CONFIG_HOTPLUG_CPU
        struct linux_app_boot_info *labi;
 
+       if (!setup_max_cpus)
+               return;
+
        labi = (struct linux_app_boot_info *)PHYS_TO_XKSEG_CACHED(LABI_ADDR_IN_BOOTLOADER);
        if (labi->labi_signature != LABI_SIGNATURE)
                panic("The bootloader version on this board is incorrect.");
@@ -129,7 +132,7 @@ static void octeon_smp_setup(void)
         * will assign CPU numbers for possible cores as well.  Cores
         * are always consecutively numberd from 0.
         */
-       for (id = 0; id < num_cores && id < NR_CPUS; id++) {
+       for (id = 0; setup_max_cpus && id < num_cores && id < NR_CPUS; id++) {
                if (!(core_mask & (1 << id))) {
                        set_cpu_possible(cpus, true);
                        __cpu_number_map[id] = cpus;