aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile
diff options
context:
space:
mode:
authorMagnus Damm <damm@opensource.se>2013-02-18 08:48:03 -0500
committerSimon Horman <horms+renesas@verge.net.au>2013-03-12 13:13:21 -0400
commit5e4460fcc845ae669e20eac67558871d3f0ca432 (patch)
tree66e9193481fab0614a3fa1d08eede973bb0f7b81 /arch/arm/mach-shmobile
parentfd0865c3f7054d9068007fd280681cb4ea7929a1 (diff)
ARM: shmobile: Remove unused hotplug.c
Each CPU Hotplug implementation for mach-shmobile is now self-contained, so this change removes unused helper code in hotplug.c. The two CPU Hotplug capable SoCs sh73a0 and r8a7779 remain unchanged. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'arch/arm/mach-shmobile')
-rw-r--r--arch/arm/mach-shmobile/Makefile1
-rw-r--r--arch/arm/mach-shmobile/hotplug.c64
-rw-r--r--arch/arm/mach-shmobile/include/mach/common.h10
3 files changed, 0 insertions, 75 deletions
diff --git a/arch/arm/mach-shmobile/Makefile b/arch/arm/mach-shmobile/Makefile
index d7d20579bef7..b646ff4d742a 100644
--- a/arch/arm/mach-shmobile/Makefile
+++ b/arch/arm/mach-shmobile/Makefile
@@ -14,7 +14,6 @@ obj-$(CONFIG_ARCH_EMEV2) += setup-emev2.o clock-emev2.o
14 14
15# SMP objects 15# SMP objects
16smp-y := platsmp.o headsmp.o 16smp-y := platsmp.o headsmp.o
17smp-$(CONFIG_HOTPLUG_CPU) += hotplug.o
18smp-$(CONFIG_ARCH_SH73A0) += smp-sh73a0.o headsmp-scu.o 17smp-$(CONFIG_ARCH_SH73A0) += smp-sh73a0.o headsmp-scu.o
19smp-$(CONFIG_ARCH_R8A7779) += smp-r8a7779.o headsmp-scu.o 18smp-$(CONFIG_ARCH_R8A7779) += smp-r8a7779.o headsmp-scu.o
20smp-$(CONFIG_ARCH_EMEV2) += smp-emev2.o headsmp-scu.o 19smp-$(CONFIG_ARCH_EMEV2) += smp-emev2.o headsmp-scu.o
diff --git a/arch/arm/mach-shmobile/hotplug.c b/arch/arm/mach-shmobile/hotplug.c
deleted file mode 100644
index efd0b36a4175..000000000000
--- a/arch/arm/mach-shmobile/hotplug.c
+++ /dev/null
@@ -1,64 +0,0 @@
1/*
2 * SMP support for R-Mobile / SH-Mobile
3 *
4 * Copyright (C) 2010 Magnus Damm
5 *
6 * Based on realview, Copyright (C) 2002 ARM Ltd, All Rights Reserved
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 */
12#include <linux/kernel.h>
13#include <linux/errno.h>
14#include <linux/smp.h>
15#include <linux/cpumask.h>
16#include <linux/delay.h>
17#include <mach/common.h>
18#include <asm/cacheflush.h>
19
20static cpumask_t dead_cpus;
21
22void shmobile_cpu_die(unsigned int cpu)
23{
24 /* hardware shutdown code running on the CPU that is being offlined */
25 flush_cache_all();
26 dsb();
27
28 /* notify platform_cpu_kill() that hardware shutdown is finished */
29 cpumask_set_cpu(cpu, &dead_cpus);
30
31 /* wait for SoC code in platform_cpu_kill() to shut off CPU core
32 * power. CPU bring up starts from the reset vector.
33 */
34 while (1) {
35 /*
36 * here's the WFI
37 */
38 asm(".word 0xe320f003\n"
39 :
40 :
41 : "memory", "cc");
42 }
43}
44
45int shmobile_cpu_disable(unsigned int cpu)
46{
47 cpumask_clear_cpu(cpu, &dead_cpus);
48 /*
49 * we don't allow CPU 0 to be shutdown (it is still too special
50 * e.g. clock tick interrupts)
51 */
52 return cpu == 0 ? -EPERM : 0;
53}
54
55int shmobile_cpu_disable_any(unsigned int cpu)
56{
57 cpumask_clear_cpu(cpu, &dead_cpus);
58 return 0;
59}
60
61int shmobile_cpu_is_dead(unsigned int cpu)
62{
63 return cpumask_test_cpu(cpu, &dead_cpus);
64}
diff --git a/arch/arm/mach-shmobile/include/mach/common.h b/arch/arm/mach-shmobile/include/mach/common.h
index b8a4872f77b3..1ca1ad938d19 100644
--- a/arch/arm/mach-shmobile/include/mach/common.h
+++ b/arch/arm/mach-shmobile/include/mach/common.h
@@ -85,16 +85,6 @@ int shmobile_cpuidle_init(void);
85static inline int shmobile_cpuidle_init(void) { return 0; } 85static inline int shmobile_cpuidle_init(void) { return 0; }
86#endif 86#endif
87 87
88extern void shmobile_cpu_die(unsigned int cpu);
89extern int shmobile_cpu_disable(unsigned int cpu);
90extern int shmobile_cpu_disable_any(unsigned int cpu);
91
92#ifdef CONFIG_HOTPLUG_CPU
93extern int shmobile_cpu_is_dead(unsigned int cpu);
94#else
95static inline int shmobile_cpu_is_dead(unsigned int cpu) { return 1; }
96#endif
97
98extern void __iomem *shmobile_scu_base; 88extern void __iomem *shmobile_scu_base;
99extern void shmobile_smp_init_cpus(unsigned int ncores); 89extern void shmobile_smp_init_cpus(unsigned int ncores);
100 90