Message ID | 1391553532-27001-2-git-send-email-galak@codeaurora.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 02/04, Kumar Gala wrote: > diff --git a/arch/arm/mach-msm/platsmp.c b/arch/arm/mach-msm/platsmp.c > index 3721b31..251a91e 100644 > --- 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) We shouldn't need __ref anymore either right? > +{ > + wfi(); > +} > +#endif > + > static inline int get_core_count(void) > { > /* 1 + the PART[1:0] field of MIDR */
On Feb 4, 2014, at 5:07 PM, Stephen Boyd <sboyd@codeaurora.org> wrote: > On 02/04, Kumar Gala wrote: >> diff --git a/arch/arm/mach-msm/platsmp.c b/arch/arm/mach-msm/platsmp.c >> index 3721b31..251a91e 100644 >> --- 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) > > We shouldn't need __ref anymore either right? I think we might as cpu_die is still marked __ref so I think we need it. > >> +{ >> + wfi(); >> +} >> +#endif >> + >> static inline int get_core_count(void) >> { >> /* 1 + the PART[1:0] field of MIDR */ > -- > Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, > hosted by The Linux Foundation > -- > To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
On 02/04, Kumar Gala wrote: > > On Feb 4, 2014, at 5:07 PM, Stephen Boyd <sboyd@codeaurora.org> wrote: > > > On 02/04, Kumar Gala wrote: > >> diff --git a/arch/arm/mach-msm/platsmp.c b/arch/arm/mach-msm/platsmp.c > >> index 3721b31..251a91e 100644 > >> --- 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) > > > > We shouldn't need __ref anymore either right? > > I think we might as cpu_die is still marked __ref so I think we need it. > Someone should remove __ref from cpu_die() as well. It was only ever there for __cpuinit but now that __cpuinit is gone it's useless.
diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile index 721f27f..8327f60 100644 --- a/arch/arm/mach-msm/Makefile +++ b/arch/arm/mach-msm/Makefile @@ -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) -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 diff --git a/arch/arm/mach-msm/common.h b/arch/arm/mach-msm/common.h index 33c7725..0a4899b 100644 --- a/arch/arm/mach-msm/common.h +++ b/arch/arm/mach-msm/common.h @@ -24,7 +24,6 @@ extern void __iomem *__msm_ioremap_caller(phys_addr_t phys_addr, size_t size, 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; diff --git a/arch/arm/mach-msm/hotplug.c b/arch/arm/mach-msm/hotplug.c deleted file mode 100644 index cea80fc..0000000 --- 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(); -} diff --git a/arch/arm/mach-msm/platsmp.c b/arch/arm/mach-msm/platsmp.c index 3721b31..251a91e 100644 --- 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 */
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