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

Jason Cooper jason at lakedaemon.net
Wed Mar 14 00:12:27 EST 2012


On Tue, Mar 13, 2012 at 10:10:42AM +0000, Arnd Bergmann wrote:
> On Tuesday 13 March 2012, Jason Cooper wrote:
> > 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 <jason at lakedaemon.net>
> 
> 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:
> 
> > --- 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
> 
> > +
> > +	if (of_machine_is_compatible("globalscale,dreamplug"))
> > +		dreamplug_init();
> > +
> 
> you call a function from dreamplug.o in board-dt.o and
> 
> > +/* 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.


More information about the devicetree-discuss mailing list