Thread (1 message) 1 message, 1 author, 2018-09-24
DORMANTno replies

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

From: gregory.clement@bootlin.com (Gregory CLEMENT)
Date: 2018-09-24 15:18:30

Hi Chris and Olof
 
 On lun., sept. 24 2018, Chris Packham [off-list ref] wrote:
On 24/09/18 21:54, Olof Johansson wrote:
quoted
On Fri, Sep 21, 2018 at 12:05:48PM +0200, Gregory CLEMENT wrote:
quoted
Hi Chris,
  
  On jeu., juil. 26 2018, Chris Packham [off-list ref] wrote:
quoted
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 <chris.packham@alliedtelesis.co.nz>
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 <gregory.clement@bootlin.com>

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 <redacted>
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 <chris.packham@alliedtelesis.co.nz>
Signed-off-by: Olof Johansson <redacted>
---
  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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help