Re: [RFC] [PATCH] Device Tree on ARM platform

From: Sascha Hauer
Date: Thu May 28 2009 - 08:43:28 EST

On Wed, May 27, 2009 at 03:05:58PM -0600, Grant Likely wrote:
> On Wed, May 27, 2009 at 2:52 PM, Mark Brown
> <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> > On Wed, May 27, 2009 at 08:29:10PM +0100, Russell King wrote:
> >> On Wed, May 27, 2009 at 02:08:42PM -0500, Scott Wood wrote:
> >
> >> > I'm not talking about platform specific code, I'm talking about code to
> >> > retrieve information about a device from the device tree.  There would
> >> > not be separate instances of this for "platforms X, Y and Z", just one
> >> > of_platform binding in each driver.  It's no different than having a
> >> > platform bus binding, except in the data structures used.
> >
> >> I really don't see what OF buys us then, apart from additional dependencies
> >> that have to be correct for the kernel to work.  I can only see disadvantages
> >> if all OF is, is a way to pass some file to the kernel to (effectively) tell
> >> it which drivers to use.
> >
> > The main selling points of the device tree AFAICT are that some
> > platforms have to use it it anyway due to the native OS and firmware for
> > the platform use it, the possibility of using the same device tree with
> > more than one OS (modulo unrepresentable holes) and the fact that some
> > people find it more convenient to use than straight data tables
> > (personally I find the two approaches to be much of a muchness there).
> > Perhaps I'm missing something, though?
> Here are some that I've find useful:
> There is the advantage that it decouples the machine description from
> the kernel code, which in turn seems to encourage code reuse. There
> has been a significant decrease in the amount of platform specific
> code in powerpc since the switch to FDT booting.
> There is the advantage of easy multiplatform support. I regularly
> build a single kernel image which boots on all my MPC5200 boards, and
> on my MPC83xx boards.

That is not necessarily an advantage of a device tree. On ARM you can
also build a kernel which runs on 20+ PXA platforms at the same time.
(And I'm sure it can be done to even support say i.MX and PXA at the
same time, but this is another story)


Pengutronix e.K. | |
Industrial Linux Solutions | |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at