[RFC PATCH 3/5] arm64: introduce CPU_OF_TABLES for cpu ops selection

Mark Rutland
2015-04-14T15:52:14Z

On Thu, Apr 09, 2015 at 10:17:06PM +0100, Arnd Bergmann wrote:
> On Thursday 09 April 2015 12:37:09 Kumar Gala wrote:
> > @@ -67,4 +67,9 @@ extern const struct cpu_operations *cpu_ops[NR_CPUS];
> > int __init cpu_read_ops(struct device_node *dn, int cpu);
> > void __init cpu_read_bootcpu_ops(void);
> >
> > +#define CPU_METHOD_OF_DECLARE(name, __ops) \
> > + static const struct cpu_operations *__cpu_method_table_##name \
> > + __used __section(__cpu_method_of_table) \
> > + = __ops;
> > +
> > #endif /* ifndef __ASM_CPU_OPS_H */
> >
>
> I'd rather not add this, to avoid giving the appearance that platforms
> can just add another one here.

Likewise.

SMP bringup is always hairy, and giving the appearance that such code
should be hidden away somewhere (and missing critical review) is a bad
idea.

While this seemed like a good idea in the past for 32-bit, we've only
seen marginal decoupling, and very little in the way of actual semantics
defined for the enable-methods. Which effectively spreads implementation
details further rather than separating them from the interface.

Mark.