summaryrefslogtreecommitdiff
path: root/arch/arm/mach-realview/platsmp-dt.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@armlinux.org.uk>2018-12-13 15:54:26 +0300
committerRussell King <rmk+kernel@armlinux.org.uk>2018-12-14 17:44:59 +0300
commit4fb68e12f2cf93176f1b7542c754a4d0413eb290 (patch)
treebd7fb50a09268f2012b1a6be1864641eaf10cc47 /arch/arm/mach-realview/platsmp-dt.c
parent651022382c7f8da46cb4872a545ee1da6d097d2a (diff)
downloadlinux-4fb68e12f2cf93176f1b7542c754a4d0413eb290.tar.xz
ARM: vexpress/realview: consolidate immitation CPU hotplug
The only difference between the hotplug implementation for Realview and Versatile Express are the bit in the auxiliary control register to disable coherency. Combine the two implentations accounting for that difference. Rename the functions to try to discourage cargo-cult copying of this code. Tested-by: Sudeep Holla <sudeep.holla@arm.com> Acked-by: Sudeep Holla <sudeep.holla@arm.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'arch/arm/mach-realview/platsmp-dt.c')
-rw-r--r--arch/arm/mach-realview/platsmp-dt.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/arm/mach-realview/platsmp-dt.c b/arch/arm/mach-realview/platsmp-dt.c
index c242423bf8db..ce331b3dbf54 100644
--- a/arch/arm/mach-realview/platsmp-dt.c
+++ b/arch/arm/mach-realview/platsmp-dt.c
@@ -17,7 +17,6 @@
#include <asm/smp_scu.h>
#include <plat/platsmp.h>
-#include "hotplug.h"
#define REALVIEW_SYS_FLAGSSET_OFFSET 0x30
@@ -79,6 +78,13 @@ static void __init realview_smp_prepare_cpus(unsigned int max_cpus)
__pa_symbol(versatile_secondary_startup));
}
+#ifdef CONFIG_HOTPLUG_CPU
+static void realview_cpu_die(unsigned int cpu)
+{
+ return versatile_immitation_cpu_die(cpu, 0x20);
+}
+#endif
+
static const struct smp_operations realview_dt_smp_ops __initconst = {
.smp_prepare_cpus = realview_smp_prepare_cpus,
.smp_secondary_init = versatile_secondary_init,