Re: [PATCH v8 2/2] ARM: Enable selection of SMP operations at boottime

From: Will Deacon
Date: Thu Apr 25 2013 - 04:49:59 EST


On Wed, Apr 24, 2013 at 07:40:19PM +0100, Stefano Stabellini wrote:
> From: Jon Medhurst <tixy@xxxxxxxxxx>
>
> 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@xxxxxxxxxx>
> Signed-off-by: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> Reviewed-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx>
> ---
> 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.

Will

> + if (psci_smp_available())
> + smp_set_ops(&psci_smp_ops);
> + else if (mdesc->smp)
> + smp_set_ops(mdesc->smp);
> + }
> smp_init_cpus();
> }
> #endif
> --
> 1.7.2.5
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/