[1/3] msm: platsmp: Consolidate write to pen_release
diff mbox series

Message ID 1370305185-6450-2-git-send-email-rvaswani@codeaurora.org
State New, archived
Headers show
Series
  • Add SMP support for MSM8660 and MSM8960
Related show

Commit Message

Rohit Vaswani June 4, 2013, 12:19 a.m. UTC
Change the pen variable in one place.

Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
---
 arch/arm/mach-msm/platsmp.c |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

Patch
diff mbox series

diff --git a/arch/arm/mach-msm/platsmp.c b/arch/arm/mach-msm/platsmp.c
index 00cdb0a..2028f3f 100644
--- a/arch/arm/mach-msm/platsmp.c
+++ b/arch/arm/mach-msm/platsmp.c
@@ -32,6 +32,14 @@  extern void msm_secondary_startup(void);
 
 static DEFINE_SPINLOCK(boot_lock);
 
+static void __cpuinit write_pen_release(int val)
+{
+	pen_release = val;
+	smp_wmb();
+	__cpuc_flush_dcache_area((void *)&pen_release, sizeof(pen_release));
+	outer_clean_range(__pa(&pen_release), __pa(&pen_release + 1));
+}
+
 static inline int get_core_count(void)
 {
 	/* 1 + the PART[1:0] field of MIDR */
@@ -44,8 +52,7 @@  static void __cpuinit msm_secondary_init(unsigned int cpu)
 	 * let the primary processor know we're out of the
 	 * pen, then head off into the C entry point
 	 */
-	pen_release = -1;
-	smp_wmb();
+	write_pen_release(-1);
 
 	/*
 	 * Synchronise with the boot thread.
@@ -98,9 +105,7 @@  static int __cpuinit msm_boot_secondary(unsigned int cpu, struct task_struct *id
 	 * Note that "pen_release" is the hardware CPU ID, whereas
 	 * "cpu" is Linux's internal ID.
 	 */
-	pen_release = cpu_logical_map(cpu);
-	__cpuc_flush_dcache_area((void *)&pen_release, sizeof(pen_release));
-	outer_clean_range(__pa(&pen_release), __pa(&pen_release + 1));
+	write_pen_release(cpu_logical_map(cpu));
 
 	/*
 	 * Send the secondary CPU a soft interrupt, thereby causing