Thread (60 messages) flat view 60 messages, 3 authors, 2007-08-24

Re: [PATCH 05/20] bootwrapper: flatdevtree fixes

From: David Gibson <hidden>
Date: 2007-08-22 01:09:07

On Tue, Aug 21, 2007 at 11:09:58AM -0500, Scott Wood wrote:
David Gibson wrote:
quoted
On Mon, Aug 20, 2007 at 12:39:49PM -0500, Scott Wood wrote:
quoted
1. ft_create_node was returning the internal pointer rather than a phandle.
2. ft_find_device_rel was treating a "top" phandle of NULL as an error,
rather than as the root of the tree.
3. Return the node's name when getprop() is called with the "name"
property.

Hrm.  I'm not convinced.  (1) certainly needs fixing.  (2) is kind of
unclear - there is an ft_find_device() after all for doing root-based
searches.
The point of #2 was as part of the fix to #1 -- otherwise, the same 
check for NULL would have to be moved into ft_create_node to 
conditionally call ft_find_device or ft_find_device_rel.
Um... oh, ok, I hadn't spotted that (1) made ft_create() use
find_device_rel().  That sounds doubly wrong: you have the internal
offset pointer, you should be able to create a phandle using the
phandle allocation stuff, rather than having to refind the node you've
just created from the parent.
The non-relative function should probably be removed, though.
Well, yes, I wouldn't have much problem with just having a relative
version.

Come to that, I don't actually care all that much what happens to
flatdevtree.c, seeing as I intend to replace it with libfdt, just as
soon as I can get enough other things off my plate.
quoted
 (3) I really dislike;  I just don't see the point.
It's needed by dt_get_path().
No, it isn't.  dt_get_path() needs *some* way of getting the name of a
node, but it could be a separate function, which I think would be
preferable rather than folding it into getprop - you don't need to
search for the name, so a getname() function would have quite a
different structure to getprop().

-- 
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help