06 Nov, 2017

1 commit

  • U-Boot bundles a patched copy of libfdt, so it's wrong to attempt to
    include it . This breaks the build for me when I have dtc
    fully installed in my host -- as happened earlier tonight with
    Buildroot, for example.

    There are several other occurrences throughout the code where ' include style is being used -- IMHO wrongly.

    Signed-off-by: Jan Kundrát

    Jan Kundrát
     

03 Jun, 2017

2 commits


24 Oct, 2016

1 commit


14 Oct, 2016

4 commits

  • The fdt_path_offset() function is not inlined in upstream libfdt. Adjust
    U-Boot's version to match.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • The signature for this macro has changed. Bring in the upstream version and
    adjust U-Boot's usages to suit.

    Signed-off-by: Simon Glass
    Update to drivers/power/pmic/palmas.c:
    Signed-off-by: Keerthy

    Change-Id: I6cc9021339bfe686f9df21d61a1095ca2b3776e8

    Simon Glass
     
  • These have now landed upstream. The naming is different and in one case the
    function signature has changed. Update the code to match.

    This applies the following upstream commits by
    Thierry Reding :

    604e61e fdt: Add functions to retrieve strings
    8702bd1 fdt: Add a function to get the index of a string
    2218387 fdt: Add a function to count strings

    Signed-off-by: Simon Glass

    Simon Glass
     
  • This includes small changes to the following functions, from upstream
    commit 6d1832c:

    - fdt_get_max_phandle() (upstream commit 84e0e134)
    - fdt_node_check_compatible (upstream commit 53bf130b)
    - fdt_setprop_inplace_namelen_partial() to remove useless brackets and
    use idx instead of index
    - _fdt_resize_property() to use idx instead of index
    - _fdt_splice() (upstream commit d4c7c25c)

    It also includes various typo fixes in libfdt.h

    Signed-off-by: Simon Glass

    Simon Glass
     

20 Aug, 2016

6 commits


15 Mar, 2016

1 commit

  • The existing function to add a new property to a tree being built requires
    that the entire contents of the new property be passed in. For some
    applications it is more convenient to be able to add the property contents
    later, perhaps by reading from a file. This avoids double-buffering of the
    contents.

    Add a new function to support this and adust the existing fdt_property() to
    use it.

    Signed-off-by: Simon Glass

    Simon Glass
     

22 Jul, 2015

2 commits

  • These have been sent upstream but not accepted to libfdt. For now, bring
    these into U-Boot to enable fdtgrep to operate. We will use fdtgrep to
    cut device tree files down for SPL.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • Property names are stored in a string table. When a node property is
    removed, the string table is not updated since other nodes may have a
    property with the same name.

    Thus it is possible for the string table to build up a number of unused
    strings. Add a function to remove these. This works by building a new device
    tree from the old one, adding strings one by one as needed.

    Signed-off-by: Simon Glass

    Simon Glass
     

20 Jul, 2015

1 commit


23 Oct, 2014

4 commits


09 Aug, 2014

1 commit

  • This brings in changes up to commit f9e91a48 in the libfdt repo.
    Mostly this is whitespace/minor changes. But there are a few new
    features:

    - fdt_size_cells() and fdt_address_cells()
    - fdt_resize()

    Signed-off-by: Simon Glass

    Simon Glass
     

20 Sep, 2013

1 commit


26 Jun, 2013

1 commit


15 May, 2013

1 commit

  • Iterating through subnodes with libfdt is a little painful to write as we
    need something like this:

    for (depth = 0, count = 0,
    offset = fdt_next_node(fdt, parent_offset, &depth);
    (offset >= 0) && (depth > 0);
    offset = fdt_next_node(fdt, offset, &depth)) {
    if (depth == 1) {
    /* code body */
    }
    }

    Using fdt_next_subnode() we can instead write this, which is shorter and
    easier to get right:

    for (offset = fdt_first_subnode(fdt, parent_offset);
    offset >= 0;
    offset = fdt_next_subnode(fdt, offset)) {
    /* code body */
    }

    Also, it doesn't require two levels of indentation for the loop body.

    Signed-off-by: Simon Glass
    (Cherry-picked from dtc commit 4e76ec79)
    Acked-by: Gerald Van Baren

    Simon Glass
     

11 May, 2013

2 commits


08 Feb, 2013

1 commit


16 Oct, 2012

3 commits

  • The libfdt read/write functions are now usable enough that it's become a
    moderately common pattern to use them to build and manipulate a device
    tree from scratch. For example, we do so ourself in our rw_tree1 testcase,
    and qemu is starting to use this model when building device trees for some
    targets such as e500.

    However, the read/write functions require some sort of valid tree to begin
    with, so this necessitates either having a trivial canned dtb to begin with
    or, more commonly, creating an empty tree using the serial-write functions
    first.

    This patch adds a helper function which uses the serial-write functions to
    create a trivial, empty but complete and valid tree in a supplied buffer,
    ready for manipulation with the read/write functions.

    Signed-off-by: David Gibson

    From git://git.jdl.com/software/dtc.git patch hash be6026838 with
    adaptations to include/libfdt.h and lib/libfdt/Makefile for the U-Boot
    environment.

    Signed-off-by: Gerald Van Baren

    Gerald Van Baren
     
  • In device trees in the world, properties consisting of a single 64-bit
    integer are not as common as those consisting of a single 32-bit, cell
    sized integer, but they're common enough that they're worth including
    convenience functions for.

    This patch adds helper wrappers of fdt_setprop_inplace(), fdt_setprop() and
    fdt_appendprop() for handling 64-bit integer quantities in properties. For
    better consistency with the names of these new *_u64() functions we also
    add *_u32() functions as alternative names for the existing *_cell()
    functions handling 32-bit integers.

    Signed-off-by: David Gibson

    David Gibson
     
  • Some properties may contain multiple values, these values may need
    to be added to the property respectively. this patch provides this
    functionality. The main purpose of fdt_append_prop() is to append
    the values to a existing property, or create a new property if it
    dose not exist.

    Signed-off-by: Minghuan Lian
    Signed-off-by: David Gibson

    Minghuan Lian
     

15 Jul, 2011

1 commit

  • For ages, we've been talking about adding functions to libfdt to allow
    iteration through properties. So, finally, here are some.

    I got bogged down on this for a long time because I didn't want to
    expose offsets directly to properties to the callers. But without
    that, attempting to make reasonable iteration functions just became
    horrible. So eventually, I settled on an interface which does now
    expose property offsets. fdt_first_property_offset() and
    fdt_next_property_offset() are used to step through the offsets of the
    properties starting from a particularly node offset. The details of
    the property at each offset can then be retrieved with either
    fdt_get_property_by_offset() or fdt_getprop_by_offset() which have
    interfaces similar to fdt_get_property() and fdt_getprop()
    respectively.

    No explicit testcases are included, but we do use the new functions to
    reimplement the existing fdt_get_property() function.

    Signed-off-by: David Gibson

    This was extracted from the DTC commit:
    73dca9ae0b9abe6924ba640164ecce9f8df69c5a Mon Sep 17 00:00:00 2001

    Signed-off-by: Gerald Van Baren

    David Gibson
     

02 Apr, 2009

1 commit


04 Oct, 2008

1 commit


03 Oct, 2008

1 commit

  • 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: David Gibson

    David Gibson
     

02 Oct, 2008

1 commit

  • 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 .

    Signed-off-by: Jon Loeliger

    Jon Loeliger
     

25 Aug, 2008

3 commits

  • 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: David Gibson

    David Gibson
     
  • Fix a few typos and mistakes.

    Signed-off-by: Wolfram Sang
    Acked-by: David Gibson

    Wolfram Sang
     
  • 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: David Gibson
    Acked-by: Gerald Van Baren

    David Gibson