30 Jun, 2020

1 commit

  • Sync with upstream dtc primarily to pickup the I2C bus check fixes. The
    interrupt_provider check is noisy, so turn it off for now.

    This adds the following commits from upstream:

    9d7888cbf19c dtc: Consider one-character strings as strings
    8259d59f59de checks: Improve i2c reg property checking
    fdabcf2980a4 checks: Remove warning for I2C_OWN_SLAVE_ADDRESS
    2478b1652c8d libfdt: add extern "C" for C++
    f68bfc2668b2 libfdt: trivial typo fix
    7be250b4d059 libfdt: Correct condition for reordering blocks
    81e0919a3e21 checks: Add interrupt provider test
    85e5d839847a Makefile: when building libfdt only, do not add unneeded deps
    b28464a550c5 Fix some potential unaligned accesses in dtc

    Signed-off-by: Rob Herring

    Rob Herring
     

22 Jun, 2019

1 commit

  • Pull in SPDX tag conversion from upstream dtc. This will replace the
    conversion done in the kernel tree copy in v5.2-rc2.

    This adds the following commits from upstream:

    702c1b6c0e73 README.license: Update to reflect SPDX tag usage
    4097bbffcf1d dtc: Add GPLv2 SPDX tags to files missing license text
    94f87cd5b7c5 libfdt: Add dual GPL/BSD SPDX tags to files missing license text
    c4ffc05574b1 tests: Replace license boilerplate with SPDX tags
    a5ac29baacd2 pylibfdt: Replace dual GPLv2/BSD license boilerplate with SPDX tags
    7fb0f4db2eb7 libfdt: Replace GPL/BSD boilerplate/reference with SPDX tags
    acfe84f2c47e dtc: Replace GPLv2 boilerplate/reference with SPDX tags

    Reviewed-by: Greg Kroah-Hartman
    Signed-off-by: Rob Herring

    Rob Herring
     

12 Jun, 2019

1 commit

  • This adds the following commits from upstream:

    87963ee20693 livetree: add missing type markers in generated overlay properties
    825146d13dc0 Fix typos in various documentation and source files
    25bb080c18d1 Update the GPL2 text to the latest revision
    243176c4ce84 Fix bogus error on rebuild
    ce01b21098a4 libfdt: Add FDT_CREATE_FLAG_NO_NAME_DEDUP flag that trades size for speed
    fbb62754ce45 libfdt: Introduce fdt_create_with_flags()
    228a44cce857 libfdt: Ensure fdt_add_property frees allocated name string on failure
    8f695676227b Avoid assertion in check_interrupts_property()
    5c3513f68921 Link tools and tests against libfdt shared library
    00f9febf9c16 tests: Rename tests.sh to testutils.sh
    c5d45188f923 Clean up LDLIBS handling
    6ef8fcd05b74 Rebuild libfdt shared object if versioning linker script changes
    26ee65a16c38 Use Python3 by default
    cca6546244cb libfdt: Make fdt_get_max_phandle() an inline
    730875016a6a libfdt: Add phandle generation helper
    7dfb61ba96b1 libfdt: Use fdt_find_max_phandle()
    2bc5b66d7f6c libfdt: Add new maximum phandle lookup function
    7fcf8208b8a9 libfdt: add fdt_append_addrrange()
    ae795b2db7a4 checks: Do not omit nodes with labels if symbol generation is requested
    eac2ad495b29 Update version.lds again
    f67b47135523 Revert "libfdt: Add phandle generation helper"
    54ea41c22415 libfdt: Add phandle generation helper
    4762ad051ee0 checks: Fix spelling in check_graph_endpoint
    d37f6b20107e Bump version to v1.5.0
    a4b1a307ff3a pylibfdt:tests: Extend the way how to find a Python module
    625dd8aaf20f pylibfdt: Change how passing tests are recognized
    364631626bb7 pylibfdt: Test fdt.setprop take bytes on Python 3, add error handling
    cb0f454f73cc pylibfdt: check_err accepts only integer as a first argument.
    4b68c6b3605a pylibfdt: Proper handling of bytes/unicode strings and octal literals
    78e113e81c9d Use PRIxPTR for printing uintptr_t values
    ea7a8f6dad67 libfdt: Fix FDT_ERR_NOTFOUND typos in documentation
    5aafd7ca43e0 libfdt: Fix fdt_getprop_by_offset() parameter name in documentation
    7cbc550f903b checks: Add unit address check if node is enabled

    Signed-off-by: Rob Herring

    Rob Herring
     

29 Nov, 2018

1 commit

  • This adds the following commits from upstream:

    f267e674d145 checks: Fix crash with multiple source annotations
    3616b9a811b6 checks: Use source position information for check failures
    2bdbd07a1223 checks: Make each message output atomic
    a1eff70c02cf util: Add xa{v}sprintf_append functions
    82a52ce4573b libfdt: Add a test for fdt_getprop_by_offset()
    607b8586b383 PEP8 / Flake8 cleanups for setup.py
    f9c0a425b648 Remove broken objdir / srcdir support
    5182b5e6f28c pylibfdt: Use common PREFIX variable
    d45bf1f5f2a6 Refine make tests_clean target
    99284c4db9cb Refine pylibfdt_clean target
    a4629cfaedfb Refine libfdt_clean target
    08380fc43aa2 tests: Use modern octal literals for Python
    8113c00b99d3 pylibfdt: Allow switch to Python 3 via environment variable PYTHON
    11738cf01f15 libfdt: Don't use memcpy to handle unaligned reads on ARM
    86a288a73670 checks: Restructure check_msg to decrease indentation
    5667e7ef9a9a annotations: add the annotation functionality
    8e20ccf52f90 annotations: add positions
    ca930e20bb54 tests: Don't lose errors from make checkm
    43366bb4eeee tests: Property count valgrind errors in wrapped tests
    5062516fb8cb srcpos: Remove srcpos_empty
    a3143fafbf83 Revert "annotations: add positions"
    403cc79f06a1 checks: Update SPI bus check for 'spi-slave'
    baa1d2cf7894 annotations: add positions
    ff2ad38f6a5a Merge remote-tracking branch 'origin/pr/18'
    aa7254d9cb17 libfdt: return correct value if #size-cells property is not present
    49903aed7783 use ptrdiff_t modifier for printing pointer differences
    da2b691ccf68 treesource: Fix dts output for phandles in middle of a sequence of ints
    8f8b77a0d62d tests: Wrap check_align() calls with base_run_test()
    522d81d572f2 Fix dts output with a REF_PATH marker
    e45198c98359 Added test cases for target references
    0fcffda15e9f Merge nodes with local target label references
    1e4a0928f3b3 pylibfdt: Don't have setup.py depend on where it's invoked from
    ca399b14956f pylibfdt: Eliminate run_setup make function
    98972f1b3e33 pylibfdt: Improved version extraction
    7ba2be6cda5f pylibfdt: Don't silence setup.py when V=1
    7691f9d39301 pylibfdt: Make SETUP make variable
    855b9963def9 pylibfdt: Simpler CFLAGS handling
    47cafbeeb977 pylibfdt: Link extension module with libfdt rather than rebuilding
    dd695d6afb19 pylibfdt: Correctly set build output directory
    59327523d0d8 pylibfdt: We don't need include files from the base directory
    e84742aa7b93 checks: fix simple-bus compatible matching
    8c59a97ce096 Fix missing labels when emitting dts format
    d448f9a5fd94 Revert dts output formatting changes of spaces around brackets

    Signed-off-by: Rob Herring

    Rob Herring
     

21 Sep, 2018

1 commit

  • Major changes are I2C and SPI bus checks, YAML output format (for
    future validation), some new libfdt functions, and more libfdt
    validation of dtbs.

    The YAML addition adds an optional dependency on libyaml. pkg-config is
    used to test for it and pkg-config became a kconfig dependency in 4.18.

    This adds the following commits from upstream:

    c86da84d30e4 Add support for YAML encoded output
    361b5e7d8067 Make type_marker_length helper public
    bfbfab047e45 pylibfdt: Add a means to add and delete notes
    9005f4108e7c pylibfdt: Allow delprop() to return errors
    b94c056b137e Make valgrind optional
    fd06c54d4711 tests: Better testing of dtc -I fs mode
    c3f50c9a86d9 tests: Allow dtbs_equal_unordered to ignore mem reserves
    0ac9fdee37c7 dtc: trivial '-I fs -O dts' test
    0fd1c8c783f3 pylibfdt: fdt_get_mem_rsv returns 2 uint64_t values
    04853cad18f4 pylibfdt: Don't incorrectly / unnecessarily override uint64_t typemap
    9619c8619c37 Kill bogus TYPE_BLOB marker type
    ac68ff92ae20 parser: add TYPE_STRING marker to path references
    90a190eb04d9 checks: add SPI bus checks
    53a1bd546905 checks: add I2C bus checks
    88f18909db73 dtc: Bump version to v1.4.7
    85bce8b2f06d tests: Correction to vg_prepare_blob()
    57f7f9e7bc7c tests: Don't call memcmp() with NULL arguments
    c12b2b0c20eb libfdt: fdt_address_cells() and fdt_size_cells()
    3fe0eeda0b7f livetree: Set phandle properties type to uint32
    853649acceba pylibfdt: Support the sequential-write interface
    9b0e4fe26093 tests: Improve fdt_resize() tests
    1087504bb3e8 libfdt: Add necessary header padding in fdt_create()
    c72fa777e613 libfdt: Copy the struct region in fdt_resize()
    32b9c6130762 Preserve datatype markers when emitting dts format
    6dcb8ba408ec libfdt: Add helpers for accessing unaligned words
    42607f21d43e tests: Fix incorrect check name 'prop_name_chars'
    9d78c33bf8a1 tests: fix grep for checks error messages
    b770f3d1c13f pylibfdt: Support setting the name of a node
    2f0d07e678e0 pylibfdt: Add functions to set and get properties as strings
    354d3dc55939 pylibfdt: Update the bytearray size with pack()
    3c374d46acce pylibfdt: Allow reading integer values from properties
    49d32ce40bb4 pylibfdt: Use an unsigned type for fdt32_t
    481246a0c13a pylibfdt: Avoid accessing the internal _fdt member in tests
    9aafa33d99ed pylibfdt: Add functions to update properties
    5a598671fdbf pylibfdt: Support device-tree creation/expansion
    483e170625e1 pylibfdt: Add support for reading the memory reserve map
    29bb05aa4200 pylibfdt: Add support for the rest of the header functions
    582a7159a5d0 pylibfdt: Add support for fdt_next_node()
    f0f8c9169819 pylibfdt: Reorder functions to match libfdt.h
    64a69d123935 pylibfdt: Return string instead of bytearray from getprop()
    4d09a83420df fdtput: Add documentation
    e617cbe1bd67 fdtget: Add documentation
    180a93924014 Use format specifiers in a bunch of places we should
    b9af3b396576 scripts/dtc: Fixed format mismatch in fprintf
    4b8fcc3d015c libfdt: Add fdt_check_full() function
    c14223fb2292 tests: Use valgrind client requests for better checking
    5b67d2b955a3 tests: Better handling of valgrind errors saving blobs
    e2556aaeb506 tests: Remove unused #define
    fb9c6abddaa8 Use size_t for blob lengths in utilfdt_read*
    0112fda03bf6 libfdt: Add fdt_header_size()
    6473a21d8bfe Consolidate utilfdt_read_len() variants
    d5db5382c5e5 libfdt: Safer access to memory reservations
    719d582e98ec libfdt: Propagate name errors in fdt_getprop_by_offset()
    70166d62a27f libfdt: Safer access to strings section
    eb890c0f77dc libfdt: Make fdt_check_header() more thorough
    899d6fad93f3 libfdt: Improve sequential write state checking
    04b5b4062ccd libfdt: Clean up header checking functions
    44d3efedc816 Preserve datatype information when parsing dts
    f0be81bd8de0 Make Property a subclass of bytearray
    24b1f3f064d4 pylibfdt: Add a method to access the device tree directly

    Signed-off-by: Rob Herring

    Rob Herring
     

06 Mar, 2018

1 commit

  • This adds the following commits from upstream:

    aadd0b65c987 checks: centralize printing of property names in failure messages
    88960e398907 checks: centralize printing of node path in check_msg
    f1879e1a50eb Add limited read-only support for older (V2 and V3) device tree to libfdt.
    37dea76e9700 srcpos: drop special handling of tab
    65893da4aee0 libfdt: overlay: Add missing license
    962a45ca034d Avoid installing pylibfdt when dependencies are missing
    cd6ea1b2bea6 Makefile: Split INSTALL out into INSTALL_{PROGRAM,LIB,DATA,SCRIPT}
    51b3a16338df Makefile.tests: Add LIBDL make(1) variable for portability sake
    333d533a8f4d Attempt to auto-detect stat(1) being used if not given proper invocation
    e54388015af1 dtc: Bump version to v1.4.6
    a1fe86f380cb fdtoverlay: Switch from using alloca to malloc
    c8d5472de3ff tests: Improve compatibility with other platforms
    c81d389a10cc checks: add chosen node checks
    e671852042a7 checks: add aliases node checks
    d0c44ebe3f42 checks: check for #{size,address}-cells without child nodes
    18a3d84bb802 checks: add string list check for *-names properties
    8fe94fd6f19f checks: add string list check
    6c5730819604 checks: add a string check for 'label' property
    a384191eba09 checks: fix sound-dai phandle with arg property check
    b260c4f610c0 Fix ambiguous grammar for devicetree rule
    fe667e382bac tests: Add some basic tests for the pci_bridge checks
    7975f6422260 Fix widespread incorrect use of strneq(), replace with new strprefixeq()
    fca296445eab Add strstarts() helper function
    cc392f089007 tests: Check non-matching cases for fdt_node_check_compatible()
    bba26a5291c8 livetree: avoid assertion of orphan phandles with overlays
    c8f8194d76cc implement strnlen for systems that need it
    c8b38f65fdec libfdt: Remove leading underscores from identifiers
    3b62fdaebfe5 Remove leading underscores from identifiers
    2d45d1c5c65e Replace FDT_VERSION() with stringify()
    2e6fe5a107b5 Fix some errors in comments
    b0ae9e4b0ceb tests: Correct warning in sw_tree1.c

    Commit c8b38f65fdec upstream ("libfdt: Remove leading underscores from
    identifiers") changed the multiple inclusion define protection, so the
    kernel's libfdt_env.h needs the corresponding update.

    Signed-off-by: Rob Herring

    Rob Herring
     

23 Mar, 2017

1 commit

  • This adds the following commits from upstream:

    756ffc4f52f6 Build pylibfdt as part of the normal build process
    8cb3896358e9 Adjust libfdt.h to work with swig
    b40aa8359aff Mention pylibfdt in the documentation
    12cfb740cc76 Add tests for pylibfdt
    50f250701631 Add an initial Python library for libfdt
    cdbb2b6c7a3a checks: Warn on node name unit-addresses with '0x' or leading 0s
    4c15d5da17cc checks: Add bus checks for simple-bus buses
    33c3985226d3 checks: Add bus checks for PCI buses
    558cd81bdd43 dtc: Bump version to v1.4.4
    c17a811c62eb fdtput: Remove star from value_len documentation
    194d5caaefcb fdtget: Use @return to document the return value
    d922ecdd017b tests: Make realloc_fdt() really allocate *fdt
    921cc17fec29 libfdt: overlay: Check the value of the right variable
    9ffdf60bf463 dtc: Simplify asm_emit_string() implementation
    881012e44386 libfdt: Change names of sparse helper macros
    bad5b28049e5 Fix assorted sparse warnings
    672ac09ea04d Clean up gcc attributes
    49300f2ade6a dtc: Don't abuse struct fdt_reserve_entry
    fa8bc7f928ac dtc: Bump version to v1.4.3
    34a9886a177f Add printf format attributes
    f72508e2b6ca Correct some broken printf() like format mismatches
    397d5ef0203c libfdt: Add fdt_setprop_empty()
    69a1bd6ad3f9 libfdt: Remove undefined behaviour setting empty properties
    acd1b534a592 Print output filename as part of warning messages
    120775eb1cf3 dtc: Use streq() in preference to strcmp()
    852e9ecbe197 checks: Add Warning for stricter node name character checking
    ef0e8f061534 checks: Add Warning for stricter property name character checking
    00d7bb1f4b0e dtc: pos parameter to srcpos_string() can't be NULL
    95d57726bca4 livetree.c: Fix memory leak
    3b9c97093d6e dtc: Fix NULL pointer use in dtlabel + dtref case
    43eb551426ea manual: Fix typo it -> in
    4baf15f7f13f Makefile: Add tags rule

    Signed-off-by: Rob Herring

    Rob Herring
     

05 Jan, 2017

1 commit

  • Sync to upstream dtc commit 0931cea3ba20 ("dtc: fdtdump: check fdt if
    not in scanning mode"). In particular, this pulls in dtc overlay
    support.

    This adds the following commits from upstream:

    f88865469b65 dtc: Fix memory leak in character literal parsing
    00fbb8696b66 Rename boot_info
    1ef86ad2c24f dtc: Clean up /dts-v1/ and /plugin/ handling in grammar
    e3c769aa9c16 dtc: Don't always generate __symbols__ for plugins
    c96cb3c0169e tests: Don't use -@ on plugin de/recompile tests
    66381538ce24 tests: Remove "suppression of fixups" tests
    ba765b273f0f tests: Clarify dtc overlay tests
    6ea8cd944fcd tests: More thorough tests of libfdt overlay application without dtc
    7d8ef6e1db97 tests: Correct fdt handling of overlays without fixups and base trees without symbols
    b4dc0ed8b127 tests: Fix double expansion bugs in test code
    3ea879dc0c8f tests: Split overlay tests into those with do/don't exercise dtc plugin generation
    47b4d66a2f11 tests: Test auto-alias generation on base tree, not overlay
    72e1ad811523 tests: Make overlay/plugin tests unconditional
    e7b3c3b5951b tests: Add overlay tests
    9637e3f772a9 tests: Add check_path test
    20f29d8d41f6 dtc: Plugin and fixup support
    a2c92cac53f8 dtc: Document the dynamic plugin internals
    8f70ac39801d checks: Pass boot_info instead of root node
    ea10f953878f libfdt: add missing errors to fdt_strerror()
    daa75e8fa594 libfdt: fix fdt_stringlist_search()
    e28eff5b787a libfdt: fix fdt_stringlist_count()
    ae97c7722840 tests: overlay: Rename the device tree blobs to be more explicit
    96162d2bd9cb tests: overlay: Add test suffix to the compiled blobs
    5ce8634733b7 libfdt: Add fdt_overlay_apply to the exported symbols
    804a9db90ad2 fdt: strerr: Remove spurious BADOVERLAY
    e8c3a1a493fa tests: overlay: Move back the bad fixup tests
    7a72d89d3f81 libfdt: overlay: Fix symbols and fixups nodes condition
    cabbaa972cdd libfdt: overlay: Report a bad overlay for mismatching local fixups
    deb0a5c1aeaa libfdt: Add BADPHANDLE error string
    7b7a6be9ba15 libfdt: Don't use 'index' as a local variable name
    aea8860d831e tests: Add tests cases for the overlay code
    0cdd06c5135b libfdt: Add overlay application function
    39240cc865cf libfdt: Extend the reach of FDT_ERR_BADPHANDLE
    4aa3a6f5e6d9 libfdt: Add new errors for the overlay code
    6d1832c9e64b dtc: Remove "home page" link
    45fd440a9561 Fix some typing errors in libfdt.h and livetree.c
    a59be4939c13 Merge tag 'v1.4.2'
    a34bb721caca dtc: Fix assorted problems in the testcases for the -a option
    874f40588d3e Implement the -a option to pad dtb aligned
    ec02b34c05be dtc: Makefile improvements for release uploading
    1ed45d40a137 dtc: Bump version to 1.4.2
    36fd7331fb11 libfdt: simplify fdt_del_mem_rsv()
    d877364e4a0f libfdt: Add fdt_setprop_inplace_namelen_partial
    3e9037aaad44 libfdt: Add fdt_getprop_namelen_w
    84e0e1346c68 libfdt: Add max phandle retrieval function
    d29126c90acb libfdt: Add iterator over properties
    902d0f0953d0 libfdt: Add a subnodes iterator macro
    c539075ba8ba fdtput.c: Fix memory leak.
    f79ddb83e185 fdtget.c: Fix memory leak
    1074ee54b63f convert-dtsv0-lexer.l: fix memory leak
    e24d39a024e6 fdtdump.c: make sure size_t argument to memchr is always unsigned.
    44a59713cf05 Remove unused srcpos_dump() function
    cb9241ae3453 DTC: Fix memory leak on flatname.
    1ee0ae24ea09 Simplify check field and macro names
    9d97527a8621 Remove property check functions
    2e709d158e11 Remove tree check functions
    c4cb12e193e3 Alter grammar to allow multiple /dts-v1/ tags
    d71d25d76012 Use xasprintf() in srcpos
    9dc404958e9c util: Add xasprintf portable asprintf variant
    beef80b8b55f Correct a missing space in a fdt_header cast
    68d43cec1253 Correct line lengths in libfdt.h
    b0dbceafd49a Correct space-after-tab in libfdt.h

    Signed-off-by: Rob Herring

    Rob Herring
     

30 Mar, 2016

1 commit

  • Sync to upstream dtc commit 53bf130b1cdd ("libfdt: simplify
    fdt_node_check_compatible()"). This adds the following commits from
    upstream:

    53bf130 libfdt: simplify fdt_node_check_compatible()
    c9d9121 Warn on node name unit-address presence/absence mismatch
    2e53f9d Catch unsigned 32bit overflow when parsing flattened device tree offsets

    Signed-off-by: Rob Herring

    Rob Herring
     

30 Apr, 2015

1 commit


02 Oct, 2012

1 commit

  • This updates scripts/dtc to commit 317a5d9 "dtc: zero out new label
    objects" from git://git.jdl.com/software/dtc.git.

    This adds features such as:
    * /bits/ syntax for cell data.
    * Math expressions within cell data.
    * The ability to delete properties or nodes.
    * Support for #line directives in the input file, which allows the use of
    cpp on *.dts.
    * -i command-line option (/include/ path)
    * -W/-E command-line options for error/warning control.
    * Removal of spew to STDOUT containing the filename being compiled.
    * Many additions to the libfdt API.

    Signed-off-by: Stephen Warren
    Acked-by: Jon Loeliger
    Signed-off-by: Rob Herring

    Stephen Warren
     

25 Mar, 2012

1 commit

  • Fix following compile warnings:

    scripts/dtc/flattree.c: In function ‘flat_read_mem_reserve’:
    scripts/dtc/flattree.c:700:14: warning: variable ‘p’ set but not used
    [-Wunused-but-set-variable]

    scripts/dtc/dtc.c: In function ‘main’:
    scripts/dtc/dtc.c:104:17: warning: variable ‘check’ set but not used
    [-Wunused-but-set-variable]

    Signed-off-by: Felipe Balbi
    Signed-off-by: Michal Marek

    Felipe Balbi
     

04 Jan, 2011

1 commit

  • Pull in recent changes from the main dtc repository. These changes
    primarily allow multiple device trees to be declared which are merged
    by dtc. This feature allows us to include a basic dts file and then
    provide more information for the specific system through the merging
    functionality.

    Changes pulled from git://git.jdl.com/software/dtc.git
    commit id: 37c0b6a0, "dtc: Add code to make diffing trees easier"

    Signed-off-by: John Bonesio
    Signed-off-by: Grant Likely

    John Bonesio
     

03 May, 2009

1 commit

  • The powerpc kernel always requires an Open Firmware like device tree
    to supply device information. On systems without OF, this comes from
    a flattened device tree blob. This blob is usually generated by dtc,
    a tool which compiles a text description of the device tree into the
    flattened format used by the kernel. Sometimes, the bootwrapper makes
    small changes to the pre-compiled device tree blob (e.g. filling in
    the size of RAM). To do this it uses the libfdt library.

    Because these are only used on powerpc, the code for both these tools
    is included under arch/powerpc/boot (these were imported and are
    periodically updated from the upstream dtc tree).

    However, the microblaze architecture, currently being prepared for
    merging to mainline also uses dtc to produce device tree blobs. A few
    other archs have also mentioned some interest in using dtc.
    Therefore, this patch moves dtc and libfdt from arch/powerpc into
    scripts, where it can be used by any architecture.

    The vast bulk of this patch is a literal move, the rest is adjusting
    the various Makefiles to use dtc and libfdt correctly from their new
    locations.

    Signed-off-by: David Gibson
    Signed-off-by: Linus Torvalds

    David Gibson