mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
52b52b4681
commit
6a032dba7d
|
@ -18,7 +18,6 @@ obj-$(CONFIG_MSM_SCM) += scm.o scm-boot.o
|
||||||
|
|
||||||
CFLAGS_scm.o :=$(call as-instr,.arch_extension sec,-DREQUIRES_SEC=1)
|
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_SMP) += platsmp.o
|
||||||
|
|
||||||
obj-$(CONFIG_MACH_TROUT) += board-trout.o board-trout-gpio.o board-trout-mmc.o devices-msm7x00.o
|
obj-$(CONFIG_MACH_TROUT) += board-trout.o board-trout-gpio.o board-trout-mmc.o devices-msm7x00.o
|
||||||
|
|
|
@ -24,7 +24,6 @@ extern void __iomem *__msm_ioremap_caller(phys_addr_t phys_addr, size_t size,
|
||||||
unsigned int mtype, void *caller);
|
unsigned int mtype, void *caller);
|
||||||
|
|
||||||
extern struct smp_operations msm_smp_ops;
|
extern struct smp_operations msm_smp_ops;
|
||||||
extern void msm_cpu_die(unsigned int cpu);
|
|
||||||
|
|
||||||
struct msm_mmc_platform_data;
|
struct msm_mmc_platform_data;
|
||||||
|
|
||||||
|
|
|
@ -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();
|
|
||||||
}
|
|
|
@ -29,6 +29,13 @@ extern void secondary_startup(void);
|
||||||
|
|
||||||
static DEFINE_SPINLOCK(boot_lock);
|
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)
|
static inline int get_core_count(void)
|
||||||
{
|
{
|
||||||
/* 1 + the PART[1:0] field of MIDR */
|
/* 1 + the PART[1:0] field of MIDR */
|
||||||
|
|
Loading…
Reference in New Issue