All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jerry Van Baren <gerald.vanbaren@ge.com>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] fdt chosen node handling
Date: Wed, 19 Dec 2007 07:24:04 -0500	[thread overview]
Message-ID: <47690D64.2030704@ge.com> (raw)
In-Reply-To: <200712190859.54306.sr@denx.de>

Stefan Roese wrote:
> Hi,
> 
> I am wondering how the device tree "chosen" node should be handled, if it 
> already exists in the device tree blob given to U-Boot. When this node 
> doesn't exist it gets created and everything is fine. But if it already 
> exists, it doesn't get overwritten and the defaults from the device tree blob 
> most of the time are not what I really want.
> 
> So I would like U-Boot to overwrite the existing chosen node. I discovered 
> that the fdt_chosen() function already has this "force" parameter, but it is 
> not set in the current U-Boot implementation. I would like to set it for my 
> board ports and I am wondering how I should handle this. Should this be done 
> via a compile switch (#define), or via an env variable, or...?
> 
> Any ideas/comments on this?
> 
> Thanks.
> 
> Best regards,
> Stefan

Hi Stefan,

Disclaimer: I am not a OF expert, I have not read the OF documentation 
cover to cover and do not understand many implications of what I've 
read, much less what I have _not_ read.

1) I believe the /chosen node should be auto-created.

2) As you point out, if the /chosen node already exists the current code 
bails out and doesn't change anything.  This was done as a very badly 
misguided attempt to make libfdt things work like bd_t things.  The 
granularity should be on the individual properties, not on /chosen.  I 
consider this a bug and have it on my "todo" list to fix (actually, I 
had created a patch, but I need to rebase and publish it).

<http://www.denx.de/wiki/view/UBoot/UBootFdtInfo#Outstanding_Patches>

"Unpublished patch of JerryVanBaren, implementing a suggestion by Scott 
Wood to make the /chosen handling finer grained: if the /chosen node 
exists, currently u-boot-fdt bails out. A better methodology is to not 
overwrite pre-existing properties on a per-property basis, so if /chosen 
exists but a necessary /chosen/property doesn't, it gets created. Good 
idea, but not published and poorly tested at the moment."

Best regards,
gvb

  reply	other threads:[~2007-12-19 12:24 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-19  7:59 [U-Boot-Users] fdt chosen node handling Stefan Roese
2007-12-19 12:24 ` Jerry Van Baren [this message]
2007-12-19 13:02   ` Stefan Roese

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=47690D64.2030704@ge.com \
    --to=gerald.vanbaren@ge.com \
    --cc=u-boot@lists.denx.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.