linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: "Grant Likely" <grant.likely@secretlab.ca>
To: "Robert Schwebel" <r.schwebel@pengutronix.de>
Cc: linuxppc-dev <linuxppc-dev@ozlabs.org>
Subject: Re: Question on mpc52xx_common.c
Date: Tue, 8 Apr 2008 15:26:11 -0600	[thread overview]
Message-ID: <fa686aa40804081426u2c2a530ej8ecb6ce9f8fb49a0@mail.gmail.com> (raw)
In-Reply-To: <20080408194517.GX13814@pengutronix.de>

On Tue, Apr 8, 2008 at 1:45 PM, Robert Schwebel
<r.schwebel@pengutronix.de> wrote:
> On Tue, Apr 08, 2008 at 08:52:55AM -0600, Grant Likely wrote:
>  > It may be ideal, but I don't think it is realistic.  I'm now of the
>  > firm opinion that device trees and firmware are *never* perfect.
>  > Especially when the definition of perfect is a moving target.
>
>  Well observed; isn't this the prove of the assumption that the whole
>  device tree idea is not working? It is *always* inconsistent and it is
>  *maintenance hell* because out-of-tree ports do *always* breakt because
>  of string inconsistencies. We have just ported a 8260 board from 2.6.22
>  to 2.6.25 and it is almost 100% oftree porting. And you do not even have
>  a single point of a parser, because all this string parsing is
>  completely scattered all over the tree.

I disagree and that is not my point.  My point is that perfection is
neither obtainable or necessary.  Many of the recently established
embedded guidelines are not "perfect" because they are counter to a
few of the OF recommended practices.  However, they are consistent
within themselves, they work, and once established they are not going
to change.  imperfect != bad.  I brought up a new 5200 board this week
which required zero kernel changes.  All I needed was a new dt to
describe the board.

Now, if out-of-tree ports continue to break then we've got a problem
that needs to be fixed.  Once a binding is established (which usually
takes a few kernel releases) it should be very stable and even if the
definition of ideal is changed, backwards compatibility must be
maintained.

>  The ARM method of using just a device number is so much easier ...

Only if the assumption is made that very little data needs to be
shared between the kernel and the firmware.  The moment you try to do
something more complex you either have the nightmare of bd_info or you
use a structured data format (like the device tree)

On another node, there are platforms where a device number is
unworkable.  For example, for Linux on an FPGA like the Xilinx Virtex,
there would need to be a new platform number every time the FPGA
bitstream was updated because it is effectively an entirely different
platform.

Finally, using a device number means you need to encode into the
kernel the exact layout of every platform it supports.  That adds up
to a lot of code in a real hurry; even if most of it is just
boilerplate instantiations.

Cheers,
g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

  parent reply	other threads:[~2008-04-08 21:26 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <m21w5map5f.fsf@ohwell.denx.de>
     [not found] ` <m2wsne9a4c.fsf@ohwell.denx.de>
2008-04-03 19:00   ` Question on mpc52xx_common.c Grant Likely
2008-04-07 22:31     ` Matt Sealey
2008-04-08  2:14       ` Arnd Bergmann
2008-04-08  2:25         ` Grant Likely
     [not found]           ` <23d2e4300804071926n57746a3cj551ef38bf10486c7@mail.gmail.com>
     [not found]             ` <47FB3CD6.2090706@genesi-usa.com>
2008-04-08 14:52               ` Grant Likely
2008-04-08 19:45                 ` Robert Schwebel
2008-04-08 20:07                   ` Scott Wood
2008-04-08 23:51                     ` David Gibson
2008-04-09  6:18                       ` Wolfgang Denk
2008-04-08 20:12                   ` Timur Tabi
2008-04-08 21:26                   ` Grant Likely [this message]
2008-04-08 21:51                     ` Segher Boessenkool
2008-04-09 16:46                       ` Matt Sealey
2008-04-10  6:39                     ` Robert Schwebel
2008-04-08  7:56         ` Sven Luther

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fa686aa40804081426u2c2a530ej8ecb6ce9f8fb49a0@mail.gmail.com \
    --to=grant.likely@secretlab.ca \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=r.schwebel@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).