[PATCH] arm: Add basic support for new Marvell Armada SoC family

Jason Cooper jason at lakedaemon.net
Mon May 21 11:35:59 EDT 2012


On Mon, May 21, 2012 at 10:30:42AM +0100, Russell King - ARM Linux wrote:
> On Sun, May 20, 2012 at 09:30:50PM -0400, Jason Cooper wrote:
> > On Sun, May 20, 2012 at 12:10:25PM +0100, Russell King - ARM Linux wrote:
> > > On Sun, May 20, 2012 at 10:58:37AM +0000, Arnd Bergmann wrote:
> > > > On Sunday 20 May 2012, Russell King - ARM Linux wrote:
> > > > > And try to avoid putting anything in the include/mach/ directory which
> > > > > isn't needed by any code outside of arch/arm/{plat,mach}-* directory.
> > > > > 
> > > > > In other words, headers needed only for code in arch/arm/plat-mvvebu/
> > > > > should be in that very same directory.
> > > > 
> > > > Ok, so let me make sure I got it all right:
> > > > 
> > > > * all *.c files that are used for multiple boards go to plat-mvebu
> > > > * all *-setup.c files go to mach-mvebu
> > > > * only headers that are used outside of {mach,plat}-mvebug go to
> > > >   plat-mvebu/include/mach
> > 
> > plat-mvebu/include/plat ?
> 
> Better.
> 
> > > > * headers used to inteface between the first two go to
> > > >   plat-mvebu/include/plat (?)
> > 
> > plat-mvebu/include ?
> 
> No, we don't put include files in that directory, always a subdirectory.
> But note - any header file used _only_ by files in plat-mvebu should be
> in plat-mvebu itself and not some subdirectory.  Locality of reference
> is the key idea there.

Got it, thanks for the clarification.

> > > That sounds reasonable.  The only eyebrow raising thing is having an
> > > include/mach inside a plat-* directory... that seems an odd way to do
> > > things as mach/ includes normally come from the mach-* directory.
> > > 
> > > So I wonder whether Nicolas' idea of "dt-only stuff in arch/arm/plat-*"
> > > is the right idea.  It just makes plat-* the same as a mach-* but with
> > > a different name, whereas it is _supposed_ to be for stuff shared
> > > between a bunch of mach-* directories.
> > 
> > In an ideal (dt) world, plat-*/ would hold all the dt source files, and
> > arch/arm/boot/dts/ would become the new mach-*/.  mach-*/ is kept around
> > for the few legacy, unconverted boards.
> 
> At that point I'd suggest the plat-* is renamed to mach-* ;)
> 
> plat-* was only invented to allow SoC folk to have some place to put
> common code shared between a set of mach-*, and nothing more.

So lets follow that to it's logical end.  How about we rename
plat-orion/ to mach-mvebu/, put all dt-compatible code in mach-mvebu/,
and empty the remaining mach-*/'s as they get converted?

mach-mvebu/'s directory tree structure could be:
	include/	# no headers
	include/mach/	# headers used by drivers, etc
	include/board/	# common headers used by legacy board files
	board/		# common source code for legacy board files

The end goal being to empty and remove the board/'s and remove the other
mach-*/ directories.

Alternatively, in this scenario we could name 'board' -> 'legacy' to
make it more obvious.

thx,

Jason.



More information about the linux-arm-kernel mailing list