2014-08-30 17:32:58 +08:00
|
|
|
From b5a3a19e3efa6238c6a00a8f36a8ab2c25eeebc3 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Kumar Gala <galak@codeaurora.org>
|
|
|
|
Date: Fri, 31 Jan 2014 13:48:29 -0600
|
|
|
|
Subject: [PATCH 003/182] ARM: msm: kill off hotplug.c
|
|
|
|
|
|
|
|
Right now hotplug.c only really implements msm_cpu_die as a wfi. Just
|
|
|
|
move that implementation into platsmp.c. At the same time we use the
|
|
|
|
existing wfi() instead of inline asm.
|
|
|
|
|
|
|
|
Signed-off-by: Kumar Gala <galak@codeaurora.org>
|
|
|
|
---
|
|
|
|
arch/arm/mach-msm/Makefile | 1 -
|
|
|
|
arch/arm/mach-msm/common.h | 1 -
|
|
|
|
arch/arm/mach-msm/hotplug.c | 51 -------------------------------------------
|
|
|
|
arch/arm/mach-msm/platsmp.c | 7 ++++++
|
|
|
|
4 files changed, 7 insertions(+), 53 deletions(-)
|
|
|
|
delete mode 100644 arch/arm/mach-msm/hotplug.c
|
|
|
|
|
|
|
|
--- a/arch/arm/mach-msm/Makefile
|
|
|
|
+++ b/arch/arm/mach-msm/Makefile
|
2014-09-11 05:40:19 +08:00
|
|
|
@@ -18,7 +18,6 @@ obj-$(CONFIG_MSM_SCM) += scm.o scm-boot.
|
2014-08-30 17:32:58 +08:00
|
|
|
|
|
|
|
CFLAGS_scm.o :=$(call as-instr,.arch_extension sec,-DREQUIRES_SEC=1)
|
|
|
|
|
|
|
|
-obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o
|
|
|
|
obj-$(CONFIG_SMP) += platsmp.o
|
|
|
|
|
|
|
|
obj-$(CONFIG_MACH_TROUT) += board-trout.o board-trout-gpio.o board-trout-mmc.o devices-msm7x00.o
|
|
|
|
--- a/arch/arm/mach-msm/common.h
|
|
|
|
+++ b/arch/arm/mach-msm/common.h
|
2014-09-11 05:40:19 +08:00
|
|
|
@@ -24,7 +24,6 @@ extern void __iomem *__msm_ioremap_calle
|
2014-08-30 17:32:58 +08:00
|
|
|
unsigned int mtype, void *caller);
|
|
|
|
|
|
|
|
extern struct smp_operations msm_smp_ops;
|
|
|
|
-extern void msm_cpu_die(unsigned int cpu);
|
|
|
|
|
|
|
|
struct msm_mmc_platform_data;
|
|
|
|
|
|
|
|
--- a/arch/arm/mach-msm/hotplug.c
|
|
|
|
+++ /dev/null
|
|
|
|
@@ -1,51 +0,0 @@
|
|
|
|
-/*
|
|
|
|
- * Copyright (C) 2002 ARM Ltd.
|
|
|
|
- * All Rights Reserved
|
|
|
|
- *
|
|
|
|
- * This program is free software; you can redistribute it and/or modify
|
|
|
|
- * it under the terms of the GNU General Public License version 2 as
|
|
|
|
- * published by the Free Software Foundation.
|
|
|
|
- */
|
|
|
|
-#include <linux/kernel.h>
|
|
|
|
-#include <linux/errno.h>
|
|
|
|
-#include <linux/smp.h>
|
|
|
|
-
|
|
|
|
-#include <asm/smp_plat.h>
|
|
|
|
-
|
|
|
|
-#include "common.h"
|
|
|
|
-
|
|
|
|
-static inline void cpu_enter_lowpower(void)
|
|
|
|
-{
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-static inline void cpu_leave_lowpower(void)
|
|
|
|
-{
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-static inline void platform_do_lowpower(unsigned int cpu)
|
|
|
|
-{
|
|
|
|
- asm("wfi"
|
|
|
|
- :
|
|
|
|
- :
|
|
|
|
- : "memory", "cc");
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-/*
|
|
|
|
- * platform-specific code to shutdown a CPU
|
|
|
|
- *
|
|
|
|
- * Called with IRQs disabled
|
|
|
|
- */
|
|
|
|
-void __ref msm_cpu_die(unsigned int cpu)
|
|
|
|
-{
|
|
|
|
- /*
|
|
|
|
- * we're ready for shutdown now, so do it
|
|
|
|
- */
|
|
|
|
- cpu_enter_lowpower();
|
|
|
|
- platform_do_lowpower(cpu);
|
|
|
|
-
|
|
|
|
- /*
|
|
|
|
- * bring this CPU back into the world of cache
|
|
|
|
- * coherency, and then restore interrupts
|
|
|
|
- */
|
|
|
|
- cpu_leave_lowpower();
|
|
|
|
-}
|
|
|
|
--- a/arch/arm/mach-msm/platsmp.c
|
|
|
|
+++ b/arch/arm/mach-msm/platsmp.c
|
|
|
|
@@ -29,6 +29,13 @@ extern void secondary_startup(void);
|
|
|
|
|
|
|
|
static DEFINE_SPINLOCK(boot_lock);
|
|
|
|
|
|
|
|
+#ifdef CONFIG_HOTPLUG_CPU
|
|
|
|
+static void __ref msm_cpu_die(unsigned int cpu)
|
|
|
|
+{
|
|
|
|
+ wfi();
|
|
|
|
+}
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
static inline int get_core_count(void)
|
|
|
|
{
|
|
|
|
/* 1 + the PART[1:0] field of MIDR */
|