Commit graph

11 commits

Author SHA1 Message Date
David Gibson
2c0b843e71 libfdt: Rework fdt_next_node()
Currently fdt_next_node() will find the next node in the blob
regardless of whether it is above, below or at the same level in the
tree as the starting node - the depth parameter is updated to indicate
which is the case.  When a depth parameter is supplied, this patch
makes it instead terminate immediately when it finds the END_NODE tag
for a node at depth 0.  In this case it returns the offset immediately
past the END_NODE tag.

This has a couple of advantages.  First, this slightly simplifies
fdt_subnode_offset(), which no longer needs to explicitly check that
fdt_next_node()'s iteration hasn't left the starting node.  Second,
this allows fdt_next_node() to be used to implement
_fdt_node_end_offset() considerably simplifying the latter function.

The other users of fdt_next_node() either don't need to iterate out of
the starting node, or don't pass a depth parameter at all.  Any
callers that really need to iterate out of the starting node, but keep
tracking depth can do so by biasing the initial depth value.

This is a semantic change, but I think it's very unlikely to break any
existing library users.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2009-04-01 19:29:22 -04:00
David Gibson
fc7758ee4f libfdt: Increase namespace-pollution paranoia
libfdt is supposed to easy to embed in projects all and sundry.
Often, it won't be practical to separate the embedded libfdt's
namespace from that of the surrounding project.  Which means there can
be namespace conflicts between even libfdt's internal/static functions
and functions or macros coming from the surrounding project's headers
via libfdt_env.h.

This patch, therefore, renames a bunch of libfdt internal functions
and macros and makes a few other chances to reduce the chances of
namespace collisions with embedding projects.  Specifically:
	- Internal functions (even static ones) are now named _fdt_*()

	- The type and (static) global for the error table in
          fdt_strerror() gain an fdt_ prefix

	- The unused macro PALIGN is removed

	- The memeq and streq macros are removed and open-coded in the
          users (they were only used once each)

	- Other macros gain an FDT_ prefix

	- To save some of the bulk from the previous change, an
          FDT_TAGALIGN() macro is introduced, where FDT_TAGALIGN(x) ==
          FDT_ALIGN(x, FDT_TAGSIZE)

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2008-08-24 22:20:49 -04:00
David Gibson
ef4e8ce1be dtc: Enable and fix -Wpointer-arith warnings
This patch turns on the -Wpointer-arith option in the dtc Makefile,
and fixes the resulting warnings due to using (void *) in pointer
arithmetic.  While convenient, pointer arithmetic on void * is not
portable, so it's better that we avoid it, particularly in libfdt.

Also add necessary definition of uintptr_t needed by David Gibson's
changeset "dtc: Enable and fix -Wpointer-arith warnings" (the definition
comes from stdint.h, which u-boot doesn't have). -- gvb

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
2008-08-24 22:20:49 -04:00
Bartlomiej Sieka
8cf30809a8 [new uImage] Add libfdt support to mkimage
Signed-off-by: Bartlomiej Sieka <tur@semihalf.com>
2008-02-29 16:00:24 +01:00
Kumar Gala
8d04f02f62 Update libfdt from device tree compiler (dtc)
Update libfdt to commit 8eaf5e358366017aa2e846c5038d1aa19958314e from
the device tree compiler (dtc) project.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-11-21 14:04:05 -06:00
Kumar Gala
ed1353d74b [BUILD] conditionally compile libfdt/*.c in libfdt/Makefile
Modify libfdt/Makefile to conditionally compile the *.c files based
on the board config.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-11-21 08:49:50 -06:00
Gerald Van Baren
8096b3b8f7 libfdt: Conditionally compile based on CONFIG_OF_LIBFDT
This is the way u-boot reduces configured-out code.  At Wolfgang
Grandegger and Wolfgang Denk's request, make libfdt conform.

Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
2007-08-10 19:21:35 -04:00
Wolfgang Denk
37837828d8 Clenaup, update CHANGELOG
Signed-off-by: Wolfgang Denk <wd@denx.de>
2007-04-18 17:49:29 +02:00
Gerald Van Baren
3f9f08cf91 Add some utilities to manipulate the reserved memory map. 2007-04-14 22:46:41 -04:00
Gerald Van Baren
3af0d587d9 libfdt: Enhanced and published fdt_next_tag()
Enhanced the formerly private function _fdt_next_tag() to allow stepping
  through the tree, used to produce a human-readable dump, and made
  it part of the published interface.
Also added some comments.
2007-03-31 12:13:43 -04:00
Gerald Van Baren
35748177c6 libfdt: Import libfdt source (2 of 2)
This adds the applicable libfdt source files (unmodified) and a README
to explain where the source came from.
2007-03-31 12:00:56 -04:00