power: reset: sc27xx: Change to use cpu_down()
authorBaolin Wang <baolin.wang7@gmail.com>
Mon, 9 Mar 2020 08:18:45 +0000 (16:18 +0800)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Wed, 11 Mar 2020 22:32:09 +0000 (23:32 +0100)
To allow the SC27XX driver can be built as a module, and the
freeze_secondary_cpus() symbol is not exported, thus we can change
to use the exported cpu_down() API to shut down other cpus to avoid
racing, which is same as the freeze_secondary_cpus().

Signed-off-by: Baolin Wang <baolin.wang7@gmail.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/power/reset/sc27xx-poweroff.c

index 2bedd4c..91b5ece 100644 (file)
@@ -29,10 +29,13 @@ static struct regmap *regmap;
  */
 static void sc27xx_poweroff_shutdown(void)
 {
-#ifdef CONFIG_PM_SLEEP_SMP
-       int cpu = smp_processor_id();
+#ifdef CONFIG_HOTPLUG_CPU
+       int cpu;
 
-       freeze_secondary_cpus(cpu);
+       for_each_online_cpu(cpu) {
+               if (cpu != smp_processor_id())
+                       cpu_down(cpu);
+       }
 #endif
 }