Devicetree
 help / color / mirror / Atom feed
From: David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
To: Robert Schwebel <r.schwebel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
Cc: devicetree-discuss
	<devicetree-discuss-mnsaURCQ41sdnm+yROfE0A@public.gmane.org>,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-xIg/pKzrS19vn6HldHNs0ANdhmdF6hFW@public.gmane.org,
	Janboe Ye <yuan-bo.ye-3WKxDLwmzFNWk0Htik3J/w@public.gmane.org>,
	Timur Tabi <timur-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
	rmk-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org
Subject: Re: [RFC] [PATCH] Device Tree on ARM platform
Date: Thu, 28 May 2009 13:02:33 +1000	[thread overview]
Message-ID: <20090528030233.GD1464@yookeroo.seuss> (raw)
In-Reply-To: <20090527150527.GK6805-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>

On Wed, May 27, 2009 at 05:05:27PM +0200, Robert Schwebel wrote:
> On Wed, May 27, 2009 at 09:39:30AM -0500, Timur Tabi wrote:
[snip]
> - The whole concept is based on the assumption that bindings are defined
>   *once*, then never to be changed again. As this is not true (check
>   MPC5200 to find out what I mean), oftree wreckage is *the* main cause
>   of new kernels not working on old bootloaders any more. Is there a
>   solution of this problem? I have not seen a good idea how to avoid the
>   constant change in definitions.

That's true in the ideal, but doesn't break down completely in
reality.  Sure, you want to *aim* for a binding which never needs
updating, but in practice of course, you do need to change it.  When
you do, you end up with backwards compatibility code in the kernel or
the firmware or both to handle both "old" and "new" variants of the
device tree.  It's not perfect, but it still results in substantially
*less* accumulated cruft than we had before.

> - The oftree layering is fundamentally broken. We already have a sane
>   abstraction for arbitrary hardware in the kernel: platform devices.
>   Why not instanciate platform devices from a generic oftree core?

You're conflating the concept of the device tree structure with the
way we instantiate of_platform devices.  As Grant says, the actual
passed in device tree is just a data structure.

You're correct that the layering for the handling of the of_platform
bus and of_platform devices is fundmentally broken, although in
practice it works a lot less badly than it does in theory.  I've been
meaning to get around to replacing this with a saner structure (using
a table of constructor functions to instantiate platform devices or
others from the device tree information), but haven't had time yet.

> - Platform data makes it possible to store function pointers. There
>   is no equivalent to this concept in oftree-land.
> 
> oftree could be a great tool if these things would be resolved.
> Currently they are not, and in result, ARM just works and is easy,
> whereas on PowerPC systems people often spend more time working on
> binding stuff than on the actual functionality.

I think that was true in the early days when everyone was getting the
hang of the device tree.  It's becoming less and less true.

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

  parent reply	other threads:[~2009-05-28  3:02 UTC|newest]

Thread overview: 142+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1243408083.13460.14.camel@debian-nb>
2009-05-27 14:27 ` [RFC] [PATCH] Device Tree on ARM platform Grant Likely
2009-05-27 14:39   ` Timur Tabi
     [not found]     ` <ed82fe3e0905270739k38018c87ka11f62c5977e45fb-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-27 15:05       ` Robert Schwebel
     [not found]         ` <20090527150527.GK6805-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-05-27 15:39           ` Grant Likely
     [not found]             ` <fa686aa40905270839m375bbdacqb1acb1be0a2d2da0-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-27 16:20               ` Robert Schwebel
     [not found]                 ` <20090527162000.GM6805-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-05-27 20:35                   ` Grant Likely
     [not found]                     ` <fa686aa40905271335o1165419hda2334bef42aa3f-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-27 23:48                       ` Robert Schwebel
     [not found]                         ` <20090527234801.GP6805-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-05-27 23:52                           ` David Miller
2009-05-27 23:58                           ` Scott Wood
     [not found]                             ` <4A1DD3A0.3010501-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2009-05-28  0:02                               ` David Miller
2009-05-28  0:07                               ` Robert Schwebel
     [not found]                                 ` <20090528000707.GR6805-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-05-28  0:15                                   ` David Miller
     [not found]                                     ` <20090527.171525.204909140.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2009-05-28 10:37                                       ` Mark Brown
     [not found]                                         ` <20090528103745.GA19523-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2009-05-28 22:32                                           ` Grant Likely
2009-05-29 12:34                                             ` Mark Brown
     [not found]                                               ` <20090529123411.GB14650-HF5t3jzXg/6ND3a5+9QAFujbO/Zr0HzV@public.gmane.org>
2009-05-30  9:52                                                 ` Benjamin Herrenschmidt
2009-05-30 10:21                                                   ` Russell King - ARM Linux
     [not found]                                                     ` <20090530102153.GA6910-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2009-05-30 17:56                                                       ` Mark Brown
2009-06-02  7:57                                                     ` Holger Schurig
     [not found]                                                       ` <200906020957.20493.hs4233-x6+DxXLjN1AJvtFkdXX2Hg4jNU5vUVPG@public.gmane.org>
2009-06-02  9:48                                                         ` Mark Brown
2009-05-28  2:57                                   ` David Gibson
     [not found]                                     ` <20090528025718.GC1464-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-05-28  3:36                                       ` Grant Likely
2009-05-28  3:29                                   ` Grant Likely
2009-05-28  9:51                                     ` Wolfgang Denk
     [not found]                                       ` <20090528095126.99DB4832E416-C2Gvrrd9BC/j/ljBK/0BTg@public.gmane.org>
2009-05-28  9:59                                         ` David Miller
2009-05-28 10:13                                         ` Robert Schwebel
     [not found]                                           ` <20090528101339.GV6805-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-05-28 13:33                                             ` Jon Smirl
     [not found]                                               ` <9e4733910905280633u15546189q37a4b4080158249c-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-28 13:42                                                 ` Robert Schwebel
2009-05-28  9:38                                 ` Wolfgang Denk
2009-05-28  3:21                               ` Grant Likely
2009-05-28  3:16                           ` Grant Likely
2009-05-28  0:55                   ` Stephen Neuendorffer
2009-05-27 18:56             ` Alexander Clouter
     [not found]               ` <2ve0f6-8fn.ln1-kuKQLpWnKMRB2HF5bZY0Orm56z/blAVA@public.gmane.org>
2009-05-27 20:46                 ` Grant Likely
2009-05-27 21:32                   ` Alexander Clouter
2009-05-28 14:29                     ` Dmitry Eremin-Solenikov
2009-05-27 15:41           ` Peter Korsgaard
     [not found]             ` <87vdnm8sec.fsf-uXGAPMMVk8amE9MCos8gUmSdvHPH+/yF@public.gmane.org>
2009-05-27 16:23               ` Scott Wood
2009-05-27 17:56                 ` Russell King
     [not found]                   ` <20090527175609.GB31861-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2009-05-27 19:08                     ` Scott Wood
     [not found]                       ` <4A1D8FBA.6040802-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2009-05-27 19:13                         ` Jon Smirl
2009-05-27 19:21                           ` Russell King - ARM Linux
     [not found]                             ` <20090527192116.GA31110-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2009-05-27 19:39                               ` Jean-Christophe PLAGNIOL-VILLARD
     [not found]                                 ` <20090527193927.GD30039-RQcB7r2h9QmfDR2tN2SG5Ni2O/JbrIOy@public.gmane.org>
2009-05-27 20:22                                   ` Grant Likely
     [not found]                                     ` <fa686aa40905271322x2f62c3dcs355374b30b4db3ca-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-27 20:19                                       ` Jean-Christophe PLAGNIOL-VILLARD
     [not found]                                         ` <20090527201951.GF30039-RQcB7r2h9QmfDR2tN2SG5Ni2O/JbrIOy@public.gmane.org>
2009-05-27 20:54                                           ` Grant Likely
     [not found]                                             ` <fa686aa40905271354y50b9583cp9f53c35354edc285-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-28  3:04                                               ` David Gibson
2009-05-28  7:58                                               ` Benjamin Herrenschmidt
2009-05-27 23:57                                       ` Robert Schwebel
     [not found]                                         ` <20090527235704.GQ6805-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-05-28  0:00                                           ` David Miller
2009-05-28  3:21                                           ` Grant Likely
     [not found]                                             ` <fa686aa40905272021w18a148caqd2b73c4448da2b28-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-28  6:34                                               ` Wolfram Sang
     [not found]                                                 ` <20090528063445.GA12004-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-05-28  7:55                                                   ` Benjamin Herrenschmidt
2009-05-28 13:34                                                   ` Grant Likely
2009-05-28  7:48                                           ` Benjamin Herrenschmidt
2009-05-28 14:22                                     ` Ben Dooks
2009-05-27 20:28                                   ` David Miller
     [not found]                                     ` <20090527.132827.65331718.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2009-05-27 20:31                                       ` Jean-Christophe PLAGNIOL-VILLARD
2009-05-28  2:52                               ` David Gibson
     [not found]                                 ` <20090528025258.GB1464-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-05-28  4:27                                   ` David Miller
     [not found]                                     ` <20090527.212730.183576278.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2009-05-28  4:47                                       ` David Gibson
     [not found]                                         ` <20090528044732.GK1464-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-05-28  5:31                                           ` David Miller
     [not found]                                             ` <20090527.223147.94364683.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2009-05-28  5:47                                               ` David Gibson
2009-05-28  7:47                               ` Benjamin Herrenschmidt
2009-05-28 14:17                           ` Ben Dooks
2009-05-28 14:24                             ` Robert Schwebel
     [not found]                             ` <20090528141743.GA16199-SMNkleLxa3Z6Wcw2j4pizdi2O/JbrIOy@public.gmane.org>
2009-05-28 14:47                               ` Grant Likely
2009-05-27 19:29                         ` Russell King
2009-05-27 19:47                           ` Sergei Shtylyov
     [not found]                           ` <20090527192909.GA32398-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2009-05-27 19:53                             ` Scott Wood
     [not found]                               ` <4A1D9A1E.80603-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2009-05-27 19:54                                 ` Timur Tabi
     [not found]                                   ` <4A1D9A66.5020002-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2009-05-27 20:25                                     ` David Miller
     [not found]                                       ` <20090527.132553.40558501.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2009-05-27 20:27                                         ` Timur Tabi
     [not found]                                           ` <4A1DA24D.5000101-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2009-05-27 20:55                                             ` David Miller
     [not found]                                               ` <20090527.135500.217447785.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2009-05-27 23:26                                                 ` Robert Schwebel
2009-05-27 20:35                                       ` M. Warner Losh
2009-05-27 20:14                                 ` Jean-Christophe PLAGNIOL-VILLARD
2009-05-27 20:23                             ` David Miller
     [not found]                               ` <20090527.132328.78091350.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2009-05-27 20:27                                 ` Jean-Christophe PLAGNIOL-VILLARD
     [not found]                                   ` <20090527202701.GA16219-RQcB7r2h9QmfDR2tN2SG5Ni2O/JbrIOy@public.gmane.org>
2009-05-27 20:48                                     ` Josh Boyer
2009-05-27 20:56                                     ` David Miller
2009-05-27 20:52                             ` Mark Brown
     [not found]                               ` <20090527205218.GA5591-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2009-05-27 21:05                                 ` Grant Likely
     [not found]                                   ` <fa686aa40905271405pc2f1738gc8dd139f61a0e27-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-28  0:11                                     ` Jon Smirl
2009-05-28 12:43                                     ` Sascha Hauer
2009-05-28 13:18                                       ` Thomas Gleixner
     [not found]                                         ` <alpine.LFD.2.00.0905281457170.3397-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-05-28 15:04                                           ` Sascha Hauer
     [not found]                                             ` <20090528150409.GO22742-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-05-28 15:27                                               ` Thomas Gleixner
2009-05-29  0:51                                               ` Benjamin Herrenschmidt
2009-05-29  7:52                                                 ` Sascha Hauer
     [not found]                                                   ` <20090529075238.GC24565-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-05-29  9:08                                                     ` Benjamin Herrenschmidt
2009-05-31 10:52                                                 ` Russell King - ARM Linux
     [not found]                                       ` <20090528124307.GN22742-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-05-28 14:31                                         ` Grant Likely
2009-05-28  3:25                                 ` David Gibson
2009-05-28  8:10                             ` Benjamin Herrenschmidt
2009-05-28  7:38                         ` Benjamin Herrenschmidt
2009-05-27 20:43                     ` Grant Likely
2009-05-28  7:37                     ` Benjamin Herrenschmidt
2009-05-28  9:15                       ` Russell King - ARM Linux
     [not found]                         ` <20090528091513.GA14789-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2009-05-28  9:57                           ` David Miller
     [not found]                             ` <20090528.025739.16559619.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2009-05-28 10:11                               ` Benjamin Herrenschmidt
2009-05-28 10:33                                 ` Robert Schwebel
2009-05-28 10:34                                 ` Russell King - ARM Linux
     [not found]                                   ` <20090528103421.GC14789-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2009-05-28 22:33                                     ` Benjamin Herrenschmidt
2009-05-28 10:14                               ` Russell King - ARM Linux
     [not found]                                 ` <20090528101440.GB14789-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2009-05-28 21:30                                   ` David Miller
2009-05-28 12:17                             ` Dmitry Eremin-Solenikov
2009-05-28 12:48                               ` David Gibson
     [not found]                                 ` <20090528124817.GB4565-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-05-28 12:55                                   ` David Gibson
2009-05-28 14:13                               ` Grant Likely
     [not found]                                 ` <fa686aa40905280713u2b3ef5fvbe3d58ccdb629b60-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-28 16:53                                   ` Russell King - ARM Linux
2009-05-28 17:05                                     ` Grant Likely
2009-05-28 18:46                                     ` Alexander Clouter
2009-05-28 22:21                                   ` Benjamin Herrenschmidt
2009-05-29  1:39                                     ` David Gibson
     [not found]                                       ` <20090529013908.GA7831-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-05-29  1:59                                         ` Mitch Bradley
     [not found]                                           ` <4A1F4189.8060702-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2009-05-29  3:52                                             ` Benjamin Herrenschmidt
2009-05-29  4:11                                               ` David Miller
2009-05-29  4:11                                             ` David Miller
     [not found]                                               ` <20090528.211123.46272556.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2009-05-29  4:56                                                 ` Benjamin Herrenschmidt
2009-05-29  5:11                                                   ` David Miller
2009-05-28 10:00                           ` Benjamin Herrenschmidt
2009-05-28 11:44                           ` Jean-Christophe PLAGNIOL-VILLARD
2009-05-28 12:47                           ` Jon Smirl
     [not found]                             ` <9e4733910905280547w7ee65d40yb4b3ab9559e14dae-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-28 14:39                               ` Grant Likely
2009-05-28 14:54                           ` Grant Likely
2009-05-27 18:26                 ` Peter Korsgaard
2009-05-28  3:02           ` David Gibson [this message]
2009-05-28  7:32           ` Benjamin Herrenschmidt
2009-05-28 13:38             ` Grant Likely
2009-05-27 16:32         ` Mark Brown
2009-05-27 18:50           ` Jon Smirl
     [not found]             ` <9e4733910905271150q1d51538draa8d039c8b147c05-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-27 22:24               ` Mark Brown
     [not found]                 ` <20090527222420.GC5591-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2009-05-28  0:04                   ` Jon Smirl
2009-05-28 13:07                     ` Mark Brown
     [not found]           ` <20090527163223.GE1970-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2009-05-27 20:42             ` Grant Likely
     [not found]               ` <fa686aa40905271342v5bc51665tb9b5d92950a43b82-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-27 21:38                 ` Mark Brown
2009-05-27 22:01       ` Mitch Bradley
     [not found]         ` <4A1DB855.2030608-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2009-05-28  8:17           ` Benjamin Herrenschmidt
2009-05-27 17:44   ` Russell King
     [not found]     ` <20090527174440.GA31861-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2009-05-27 17:52       ` Grant Likely
     [not found]         ` <fa686aa40905271052k3f55eb73k2cb0c3cff3c94d7b-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-28  3:44           ` David Gibson

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=20090528030233.GD1464@yookeroo.seuss \
    --to=david-xt8fgy+axnrb3ne2bgzf6laj5h9x9tb+@public.gmane.org \
    --cc=devicetree-discuss-mnsaURCQ41sdnm+yROfE0A@public.gmane.org \
    --cc=linux-arm-kernel-xIg/pKzrS19vn6HldHNs0ANdhmdF6hFW@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=r.schwebel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=rmk-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
    --cc=timur-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
    --cc=yuan-bo.ye-3WKxDLwmzFNWk0Htik3J/w@public.gmane.org \
    /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