Skip to content
Snippets Groups Projects
  1. Dec 13, 2008
  2. Oct 31, 2008
  3. Oct 02, 2008
    • David Gibson's avatar
      libfdt: Add function to explicitly expand aliases · 9a6cf73a
      David Gibson authored
      
      Kumar has already added alias expansion to fdt_path_offset().
      However, in some circumstances it may be convenient for the user of
      libfdt to explicitly get the string expansion of an alias.  This patch
      adds a function to do this, fdt_get_alias(), and uses it to implement
      fdt_path_offset().
      
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      9a6cf73a
    • Jon Loeliger's avatar
      Fix an overflow case in fdt_offset_ptr() detected by GCC 4.3. · 741a6d01
      Jon Loeliger authored
      
      Using Gcc 4.3 detected this problem:
      
          ../dtc/libfdt/fdt.c: In function 'fdt_next_tag':
          ../dtc/libfdt/fdt.c:82: error: assuming signed overflow does not
          occur when assuming that (X + c) < X is always false
      
      To fix the problem, treat the offset as an unsigned int.
      
      The problem report and proposed fix were provided
      by Steve Papacharalambous <stevep@freescale.com>.
      
      Signed-off-by: default avatarJon Loeliger <jdl@freescale.com>
      741a6d01
    • David Gibson's avatar
      libfdt: Fix bugs in fdt_get_path() · bbdbc7cb
      David Gibson authored
      
      The current implementation of fdt_get_path() has a couple of bugs,
      fixed by this patch.
      
      First, contrary to its documentation, on success it returns the length
      of the node's path, rather than 0.  The testcase is correspondingly
      wrong, and the patch fixes this as well.
      
      Second, in some circumstances, it will return -FDT_ERR_BADOFFSET
      instead of -FDT_ERR_NOSPACE when given insufficient buffer space.
      Specifically this happens when there is insufficient space even to
      hold the path's second last component.  This behaviour is corrected,
      and the testcase updated to check it.
      
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      bbdbc7cb
  4. Aug 25, 2008
    • Kumar Gala's avatar
      libfdt: Add support for using aliases in fdt_path_offset() · feeca3f5
      Kumar Gala authored
      
      If the path doesn't start with '/' check to see if it matches some alias
      under "/aliases" and substitute the matching alias value in the path
      and retry the lookup.
      
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      Acked-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      Acked-by: default avatarGerald Van Baren <vanbaren@cideas.com>
      feeca3f5
    • David Gibson's avatar
      libfdt: Implement fdt_get_property_namelen() and fdt_getprop_namelen() · 0219399a
      David Gibson authored
      
      As well as fdt_subnode_offset(), libfdt includes an
      fdt_subnode_offset_namelen() function that takes the subnode name to
      look up not as a NUL-terminated string, but as a string with an
      explicit length.  This can be useful when the caller has the name as
      part of a longer string, such as a full path.
      
      However, we don't have corresponding 'namelen' versions for
      fdt_get_property() and fdt_getprop().  There are less obvious use
      cases for these variants on property names, but there are
      circumstances where they can be useful e.g. looking up property names
      which need to be parsed from a longer string buffer such as user input
      or a configuration file, or looking up an alias in a path with
      IEEE1275 style aliases.
      
      So, since it's very easy to implement such variants, this patch does
      so.  The original NUL-terminated variants are, of course, implemented
      in terms of the namelen versions.
      
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      0219399a
    • David Gibson's avatar
      libfdt: Forgot one function when cleaning the namespace · f171746f
      David Gibson authored
      
      In commit b6d80a20fc293f3b995c3ce1a6744a5574192125, we renamed all
      libfdt functions to be prefixed with fdt_ or _fdt_ to minimise the
      chance of collisions with things from whatever package libfdt is
      embedded in, pulled into the libfdt build via that environment's
      libfdt_env.h.
      
      Except... I missed one.  This patch applies the same treatment to
      _stringlist_contains().  While we're at it, also make it static since
      it's only used in the same file.
      
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      f171746f
    • David Gibson's avatar
      libfdt: Increase namespace-pollution paranoia · fc7758ee
      David Gibson authored
      
      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: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      fc7758ee
    • David Gibson's avatar
      dtc: Enable and fix -Wcast-qual warnings · c6683026
      David Gibson authored
      
      Enabling -Wcast-qual warnings in dtc shows up a number of places where
      we are incorrectly discarding a const qualification.  There are also
      some places where we are intentionally discarding the 'const', and we
      need an ugly cast through uintptr_t to suppress the warning.  However,
      most of these are pretty well isolated with the *_w() functions.  So
      in the interests of maximum safety with const qualifications, this
      patch enables the warnings and fixes the existing complaints.
      
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      Acked-by: default avatarGerald Van Baren <vanbaren@cideas.com>
      c6683026
    • David Gibson's avatar
      dtc: Enable and fix -Wpointer-arith warnings · ef4e8ce1
      David Gibson authored
      
      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: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: default avatarGerald Van Baren <vanbaren@cideas.com>
      ef4e8ce1
  5. Jun 10, 2008
    • David Gibson's avatar
      libfdt: Several cleanups to parameter checking · 2f08bfa9
      David Gibson authored
      
      This patch makes a couple of small cleanups to parameter checking of
      libfdt functions.
      
      	- In several functions which take a node offset, we use an
      idiom involving fdt_next_tag() first to check that we have indeed been
      given a node offset.  This patch adds a helper function
      _fdt_check_node_offset() to encapsulate this usage of fdt_next_tag().
      
      	- In fdt_rw.c in several places we have the expanded version
      of the RW_CHECK_HEADER() macro for no particular reason.  This patch
      replaces those instances with an invocation of the macro; that's what
      it's for.
      
      	- In fdt_sw.c we rename the check_header_sw() function to
      sw_check_header() to match the analgous function in fdt_rw.c, and we
      provide an SW_CHECK_HEADER() wrapper macro as RW_CHECK_HEADER()
      functions in fdt_rw.c
      
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      2f08bfa9
  6. May 20, 2008
    • Wolfgang Denk's avatar
      Big white-space cleanup. · 53677ef1
      Wolfgang Denk authored
      
      This commit gets rid of a huge amount of silly white-space issues.
      Especially, all sequences of SPACEs followed by TAB characters get
      removed (unless they appear in print statements).
      
      Also remove all embedded "vim:" and "vi:" statements which hide
      indentation problems.
      
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      53677ef1
  7. Mar 19, 2008
  8. Feb 29, 2008
  9. Jan 08, 2008
    • Gerald Van Baren's avatar
      LIBFDT: use memmove() instead of memcpy() · ad3006fe
      Gerald Van Baren authored
      
      This is partial patch from the DTC/libfdt
      commit  67b6b33b9b413a450a72135b5dc59c0a1e33e647
      Author: David Gibson <david@gibson.dropbear.id.au>
      Date:   Wed Nov 21 11:56:14 2007 +1100
      
          The patch also fixes one genuine bug caught by valgrind -
          _packblocks() in fdt_rw.c was using memcpy() where it should have been
          using memmove().
      
      Signed-off-by: default avatarGerald Van Baren <vanbaren@cideas.com>
      ad3006fe
  10. Nov 21, 2007
  11. Nov 15, 2007
  12. Sep 06, 2007
  13. Aug 13, 2007
  14. Aug 10, 2007
  15. Apr 18, 2007
  16. Apr 15, 2007
  17. Apr 06, 2007
  18. Apr 03, 2007
  19. Mar 31, 2007
Loading