Thread (1 message) 1 message, 1 author, 2012-03-13

[PATCH 4/7 v4] ARM: kirkwood: add dreamplug (fdt) support.

From: Jason Cooper <hidden>
Date: 2012-03-13 13:12:27
Also in: linux-devicetree

On Tue, Mar 13, 2012 at 10:10:42AM +0000, Arnd Bergmann wrote:
On Tuesday 13 March 2012, Jason Cooper wrote:
quoted
Initially, copied guruplug-setup.c and did s/guruplug/dreamplug/g.
Then, switched to SPI based NOR flash.

After talking to Arnd Bergman, chose an incremental approach to adding
devicetree support.  First, we use the dtb to tell us we are on the
dreamplug, then we gradually port over drivers.

Driver porting will start with the uart (see next patch), and progress
from there.  Next, all drivers not needing common clock (kirkwood_tclk)
or pinmux.  Then, remain drivers as that support hits the tree.

We need to absorb kirkwood_init() into kirkwood_dt_init() so that as we
convert drivers, we can remove the platform call, eg
kirkwood_rtc_init().  This maintains compatibility with non-fdt
configurations because they still call kirkwood_init() in common.c.

As drivers are converted, we will reinstate the 'static' qualifier in
common.c.

Signed-off-by: Jason Cooper <redacted>
Patches 4 and 5 both look ok, but since I merged the earlier versions
of these into the stable next/board branch of arm-soc.git, you will have
to generate these as incremental patches now, and adapt the changeset
comments accordingly.
Ok.
One small issue:
quoted
--- a/arch/arm/mach-kirkwood/Kconfig
+++ b/arch/arm/mach-kirkwood/Kconfig
@@ -44,6 +44,20 @@ config MACH_GURUPLUG
 	  Say 'Y' here if you want your kernel to support the
 	  Marvell GuruPlug Reference Board.
 
+config ARCH_KIRKWOOD_DT
+	bool "Marvell Kirkwood Flattened Device Tree"
+	select USE_OF
+	help
+	  Say 'Y' here if you want your kernel to support the
+	  Marvell Kirkwood using flattened device tree.
+
+config MACH_DREAMPLUG_DT
+	bool "Marvell DreamPlug (Flattened Device Tree)"
+	select ARCH_KIRKWOOD_DT
+	help
+	  Say 'Y' here if you want your kernel to support the
+	  Marvell DreamPlug (Flattened Device Tree).
+
You allow ARCH_KIRKWOOD_DT to be enabled without also enabling
dreamplug. That is ok, but
quoted
+
+	if (of_machine_is_compatible("globalscale,dreamplug"))
+		dreamplug_init();
+
you call a function from dreamplug.o in board-dt.o and
quoted
+/* board init functions for drivers not converted to fdt */
+void dreamplug_init(void);
you have an unconditional forward declaration in the header.

The idiomatic way to deal with this is to replace turn the
declaration into

#ifdef CONFIG_DREAMPLUG_DT
void dreamplug_init(void);
#else
static inline void dreamplug_init(void) {}
#endif
Will do, thanks.

Jason.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help