diff options
author | Mark Rutland <mark.rutland@arm.com> | 2013-09-02 19:49:06 +0800 |
---|---|---|
committer | Graeme Gregory <graeme.gregory@linaro.org> | 2013-09-25 14:03:19 +0100 |
commit | d0ce15b0d1dce6e7313f34739ad7caca9ea4dd68 (patch) | |
tree | d92a58a7256f72e605e7046c6a97121c1296d160 /arch/arm64 | |
parent | 66bb25cee422694e2f497c4fe7228df62a717780 (diff) |
arm64: read enable-method for CPU0
With the advent of CPU_HOTPLUG, the enable-method property for CPU0
may tells us something useful (i.e. how to hotplug it back on), so
we must read it along with all the enable-method for all the other CPUs.
This patch ensures that CPU0's enable-method property is read.
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Diffstat (limited to 'arch/arm64')
-rw-r--r-- | arch/arm64/kernel/smp.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c index ee83b935ba5d..cfbb6d78e621 100644 --- a/arch/arm64/kernel/smp.c +++ b/arch/arm64/kernel/smp.c @@ -253,6 +253,8 @@ void __init smp_init_cpus(void) } } + enable_method = of_get_property(dn, "enable-method", NULL); + /* * The numbering scheme requires that the boot CPU * must be assigned logical id 0. Record it so that @@ -268,11 +270,12 @@ void __init smp_init_cpus(void) bootcpu_valid = true; + if (enable_method) + smp_ops[0] = smp_get_ops(enable_method); + /* - * cpu_logical_map has already been - * initialized and the boot cpu doesn't need - * the enable-method so continue without - * incrementing cpu. + * cpu_logical_map has already been initialized so + * continue without incrementing cpu. */ continue; } @@ -280,10 +283,6 @@ void __init smp_init_cpus(void) if (cpu >= NR_CPUS) goto next; - /* - * We currently support only the "spin-table" enable-method. - */ - enable_method = of_get_property(dn, "enable-method", NULL); if (!enable_method) { pr_err("%s: missing enable-method property\n", dn->full_name); |