[PATCH v8 2/2] ARM: Enable selection of SMP operations at boot time

Nicolas Pitre nicolas.pitre at linaro.org
Thu Apr 25 10:42:41 EDT 2013


On Thu, 25 Apr 2013, Will Deacon wrote:

> On Wed, Apr 24, 2013 at 07:40:19PM +0100, Stefano Stabellini wrote:
> > From: Jon Medhurst <tixy at linaro.org>
> > 
> > Add a new 'smp_init' hook to machine_desc so platforms can specify a
> > function to be used to setup smp ops instead of having a statically
> > defined value.  The hook must return true when smp_ops are initialized.
> > If false the static mdesc->smp_ops will be used by default.
> > 
> > Signed-off-by: Jon Medhurst <tixy at linaro.org>
> > Signed-off-by: Nicolas Pitre <nicolas.pitre at linaro.org>
> > Signed-off-by: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
> > Reviewed-by: Santosh Shilimkar <santosh.shilimkar at ti.com>
> > ---
> >  arch/arm/include/asm/mach/arch.h |    4 ++++
> >  arch/arm/kernel/setup.c          |   10 ++++++----
> >  2 files changed, 10 insertions(+), 4 deletions(-)
> 
> [...]
> 
> >  	if (is_smp()) {
> > -		if (psci_smp_available())
> > -			smp_set_ops(&psci_smp_ops);
> > -		else if (mdesc->smp)
> > -			smp_set_ops(mdesc->smp);
> > +		if (!mdesc->smp_init || !mdesc->smp_init()) {
> 
> Minor nit, but this feels backwards to me. We usually return 0 on success,
> yet we're saying here that if mdesc->smp_init() returns 0, then we go and
> override the smp ops.

It doesn't return 0, but true or false.  So, semantically, if ->smp_init 
returns false, that means it didn't initialize anything.


Nicolas



More information about the linux-arm-kernel mailing list