Subject: [PATCH v5] ARM: mvebu: use dt_fixup to provide fallback for enable-method

From: [email-masked] (Gregory CLEMENT)
Date: Mon, 24 Sep 2018 17:18:30 +0200

Hi Chris and Olof
 
 On lun., sept. 24 2018, Chris Packham <[email-masked]> wrote:

> On 24/09/18 21:54, Olof Johansson wrote:
>> On Fri, Sep 21, 2018 at 12:05:48PM +0200, Gregory CLEMENT wrote:
>>> Hi Chris,
>>>   
>>>   On jeu., juil. 26 2018, Chris Packham <[email-masked]> wrote:
>>>
>>>> We need to maintain backwards compatibility with device trees that don't
>>>> define an enable method. At the same time we want the device tree to be
>>>> able to specify an enable-method and have it stick.
>>>>
>>>> Previously by having smp assigned in the DT_MACHINE definition this
>>>> would be picked up by setup_arch() and override whatever
>>>> arm_dt_init_cpu_maps() had configured. Now we move the initial
>>>> assignment of default smp_ops to a dt_fixup and let
>>>> arm_dt_init_cpu_maps() override that if the device tree defines an
>>>> enable-method.
>>>>
>>>> Signed-off-by: Chris Packham <[email-masked]>
>>>
>>> I made several tests on an Armada XP based board: OpenBlock AX3: I
>>> modify the enable-method in the decvice tree, and I confirm that without
>>> your patch it is not taken into account whereas with this patch the
>>> enable-method is applied form the device tree. I also didn't see any
>>> regression with the original dtb.
>>>
>>> So I added my:
>>> Tested-by: Gregory CLEMENT <[email-masked]>
>>>
>>> and applied on mvebu/soc
>> 
>> Hi,
>> 
>> Looks like this broke non-SMP. Not a huge deal, but please apply this as
>> closely as possible on top of the previous patch (or squash it in).
>> 
>> 
>> - 8< - 8< - 8< - 8< - 8< - 8< - 8< - 8< - 8< - 8< - 8< - 8< - 8< - 8< -
>> 
>> 
>> 
>>  From 3190d9502607995c7aecce79beec36714574d494 Mon Sep 17 00:00:00 2001
>> From: Olof Johansson <[email-masked]>
>> Date: Mon, 24 Sep 2018 02:37:31 -0700
>> Subject: [PATCH] ARM: mvebu: fix !SMP build
>> 
>> Wrap set_smp_ops() in CONFIG_SMP.
>> 
>> Fixes: d6ec59de9a0a8 ("ARM: mvebu: use dt_fixup to provide fallback for enable-method")
>> Cc: Chris Packham <[email-masked]>
>> Signed-off-by: Olof Johansson <[email-masked]>
>> ---
>>   arch/arm/mach-mvebu/board-v7.c | 2 ++
>>   1 file changed, 2 insertions(+)
>> 
>> diff --git a/arch/arm/mach-mvebu/board-v7.c b/arch/arm/mach-mvebu/board-v7.c
>> index 5bbde5e..0b10acd 100644
>> --- a/arch/arm/mach-mvebu/board-v7.c
>> +++ b/arch/arm/mach-mvebu/board-v7.c
>> @@ -147,7 +147,9 @@ static void __init mvebu_dt_init(void)
>>   
>>   static void __init armada_370_xp_dt_fixup(void)
>>   {
>> +#ifdef CONFIG_SMP
>>   	smp_set_ops(smp_ops(armada_xp_smp_ops));
>> +#endif
>>   }
>>   
>>   static const char * const armada_370_xp_dt_compat[] __initconst = {
>> 
>
> Makes sense to me.
>
> Gregory, do you want me to send a v6 or are you able to squash this
> in?

I squashed Olof fix in the commit of the mvebu/soc .

Thanks,

Gregory

-- 
Gregory Clement, Bootlin
Embedded Linux and Kernel engineering
http://bootlin.com