diff options
author | Russell King <rmk+kernel@armlinux.org.uk> | 2018-12-13 15:54:26 +0300 |
---|---|---|
committer | Russell King <rmk+kernel@armlinux.org.uk> | 2018-12-14 17:44:59 +0300 |
commit | 4fb68e12f2cf93176f1b7542c754a4d0413eb290 (patch) | |
tree | bd7fb50a09268f2012b1a6be1864641eaf10cc47 /arch/arm/mach-vexpress/platsmp.c | |
parent | 651022382c7f8da46cb4872a545ee1da6d097d2a (diff) | |
download | linux-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-vexpress/platsmp.c')
-rw-r--r-- | arch/arm/mach-vexpress/platsmp.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/mach-vexpress/platsmp.c b/arch/arm/mach-vexpress/platsmp.c index 742499bac6d0..af0113be5970 100644 --- a/arch/arm/mach-vexpress/platsmp.c +++ b/arch/arm/mach-vexpress/platsmp.c @@ -82,6 +82,13 @@ static void __init vexpress_smp_dt_prepare_cpus(unsigned int max_cpus) vexpress_flags_set(__pa_symbol(versatile_secondary_startup)); } +#ifdef CONFIG_HOTPLUG_CPU +static void vexpress_cpu_die(unsigned int cpu) +{ + versatile_immitation_cpu_die(cpu, 0x40); +} +#endif + const struct smp_operations vexpress_smp_dt_ops __initconst = { .smp_prepare_cpus = vexpress_smp_dt_prepare_cpus, .smp_secondary_init = versatile_secondary_init, |