allwinner: Separate code to power off self and other CPUs

Currently, sunxi_cpu_off() has two separate code paths: one for the
local CPU, and one for other CPUs. Let's split them in to two functions.
This actually simplifies things, because all callers either operate on
the local CPU only (sunxi_pwr_down_wfi()) or other CPUs only
(sunxi_cpu_power_off_others()). This avoids needing a second MPIDR read
to choose the appropriate code path.

Change-Id: I55de85025235cc95466bfa106831fc4c2368f527
Signed-off-by: Samuel Holland <samuel@sholland.org>
diff --git a/plat/allwinner/common/sunxi_pm.c b/plat/allwinner/common/sunxi_pm.c
index aa80c52..1e1d895 100644
--- a/plat/allwinner/common/sunxi_pm.c
+++ b/plat/allwinner/common/sunxi_pm.c
@@ -107,7 +107,7 @@
 
 static void __dead2 sunxi_pwr_down_wfi(const psci_power_state_t *target_state)
 {
-	sunxi_cpu_off(read_mpidr());
+	sunxi_cpu_power_off_self();
 
 	while (1)
 		wfi();
@@ -136,7 +136,7 @@
 	}
 
 	/* Turn off all secondary CPUs */
-	sunxi_disable_secondary_cpus(read_mpidr());
+	sunxi_cpu_power_off_others();
 
 	sunxi_power_down();