diff options
Diffstat (limited to 'arch/arm/kernel/devtree.c')
-rw-r--r-- | arch/arm/kernel/devtree.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/arch/arm/kernel/devtree.c b/arch/arm/kernel/devtree.c index 3e5a2056a466..ea9ce92a4b52 100644 --- a/arch/arm/kernel/devtree.c +++ b/arch/arm/kernel/devtree.c | |||
@@ -33,18 +33,21 @@ void __init early_init_dt_add_memory_arch(u64 base, u64 size) | |||
33 | } | 33 | } |
34 | 34 | ||
35 | #ifdef CONFIG_SMP | 35 | #ifdef CONFIG_SMP |
36 | extern struct of_cpu_method __cpu_method_of_table_begin[]; | 36 | extern struct of_cpu_method __cpu_method_of_table[]; |
37 | extern struct of_cpu_method __cpu_method_of_table_end[]; | 37 | |
38 | static const struct of_cpu_method __cpu_method_of_table_sentinel | ||
39 | __used __section(__cpu_method_of_table_end); | ||
40 | |||
38 | 41 | ||
39 | static int __init set_smp_ops_by_method(struct device_node *node) | 42 | static int __init set_smp_ops_by_method(struct device_node *node) |
40 | { | 43 | { |
41 | const char *method; | 44 | const char *method; |
42 | struct of_cpu_method *m = __cpu_method_of_table_begin; | 45 | struct of_cpu_method *m = __cpu_method_of_table; |
43 | 46 | ||
44 | if (of_property_read_string(node, "enable-method", &method)) | 47 | if (of_property_read_string(node, "enable-method", &method)) |
45 | return 0; | 48 | return 0; |
46 | 49 | ||
47 | for (; m < __cpu_method_of_table_end; m++) | 50 | for (; m->method; m++) |
48 | if (!strcmp(m->method, method)) { | 51 | if (!strcmp(m->method, method)) { |
49 | smp_set_ops(m->ops); | 52 | smp_set_ops(m->ops); |
50 | return 1; | 53 | return 1; |