void __init vexpress_smp_init_ops(void) { struct smp_operations *ops = &vexpress_smp_ops; #ifdef CONFIG_MCPM extern struct smp_operations mcpm_smp_ops; if(of_find_compatible_node(NULL, NULL, "arm,cci")) ops = &mcpm_smp_ops; #endif smp_set_ops(ops); }
static int __init set_smp_ops_by_method(struct device_node *node) { const char *method; struct of_cpu_method *m = __cpu_method_of_table; if (of_property_read_string(node, "enable-method", &method)) return 0; for (; m->method; m++) if (!strcmp(m->method, method)) { smp_set_ops(m->ops); return 1; } return 0; }
void __init mcpm_smp_set_ops(void) { smp_set_ops(&mcpm_smp_ops); }