MIPS: generic: enable SMP on SMVP systems
authorSander Vanheule <sander@svanheule.net>
Sat, 18 Dec 2021 10:05:11 +0000 (11:05 +0100)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Tue, 21 Dec 2021 12:51:47 +0000 (13:51 +0100)
In addition to CPS SMP setups, also try to initialise MT SMP setups with
multiple VPEs per CPU core. CMP SMP support is not provided as it is
considered deprecated.

Additionally, rework the code by dropping the err variable and make it
similar to how other platforms perform this initialisation.

Co-developed-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/generic/init.c

index 1842cdd..1d712ea 100644 (file)
@@ -110,14 +110,15 @@ void __init plat_mem_setup(void)
 
 void __init device_tree_init(void)
 {
-       int err;
-
        unflatten_and_copy_device_tree();
        mips_cpc_probe();
 
-       err = register_cps_smp_ops();
-       if (err)
-               err = register_up_smp_ops();
+       if (!register_cps_smp_ops())
+               return;
+       if (!register_vsmp_smp_ops())
+               return;
+
+       register_up_smp_ops();
 }
 
 int __init apply_mips_fdt_fixups(void *fdt_out, size_t fdt_out_size,