1. 28 Jan, 2020 1 commit
  2. 07 Jan, 2020 1 commit
  3. 15 Dec, 2019 1 commit
    • Simon Glass's avatar
      fdt: Show the preprocessed .dts file on error · 1653b6a4
      Simon Glass authored
      When device-tree compilation fails it is sometimes tricky to see which
      line is broken, since the input file to dtc is a pre-processed version
      of the device tree.
      Add a line that points to the file that needs to be checked:
      When the error is in the main .dts file, output is something like this:
         output: 'Error: arch/x86/dts/.chromebook_coral.dtb.pre.tmp:478.46-47
      	syntax error
         FATAL ERROR: Unable to parse input tree
      but in fact looking at that file shows nothing useful:
      Instead we need to look at the preprocessed file, which shows:
         163 ((1U << 30) | (1 << 10)) ((0xb << 10) | PAD_CFG1_IOSSTATE_HIZCRX1)
      Here it is clear that PAD_CFG1_IOSSTATE_HIZCRX1 is not defined and so is
      not being resolved by the preprocessor.
      This commit adds an additional useful message:
         Check arch/x86/dts/.chromebook_coral.dtb.dts.tmp for errors
      Note that if the error is reported in an included file, such as
      u-boot.dtsi then the output is the following:
         Error: arch/x86/dts/u-boot.dtsi:137.14-15 syntax error
         FATAL ERROR: Unable to parse input tree
      But again, if the error is due to a preprocessor failure, like this:
         filename = CONFIG_IFW_INPUT_FILE;
      then you can't tell what the problem is by looking at the source. All you
      see is the original code:
      	intel-ifwi {
      		filename = CONFIG_IFW_INPUT_FILE;
      	intel-fsp-m {
      		filename = CONFIG_FSP_FILE_M;
      Everything looks fine. But looking at the output of the preprocessor:
       intel-ifwi {
        filename = CONFIG_IFW_INPUT_FILE;
       intel-fsp-m {
        filename = "fsp_m.bin";
      This shows that the filename (normally "fitimage.bin") has not been
      inserted the preprocess, leading to the realisation that the value should
      If the above does not make sense, I encourage people to try introducing
      errors in the device tree preprocessed values.
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Reviewed-by: Bin Meng's avatarBin Meng <bmeng.cn@gmail.com>
  4. 09 Aug, 2019 1 commit
    • Simon Glass's avatar
      x86: Avoid writing temporary asl files into the source tree · c1865bbd
      Simon Glass authored
      At present the iasl tool (Intel ACPI (Advanced Configuration and Power
      Interface) Source Language Compiler) is called in such a way that it uses
      the source directory for its temporary files.
      This means we end up with these files when building x86 boards:
      Update the code to put temporary files in the target directory instead.
      The iasl tool is quite confusing since it generates files with different
      extensions and does not allow these to be individually specified. Add some
      documentation to help with this.
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Reviewed-by: Bin Meng's avatarBin Meng <bmeng.cn@gmail.com>
      Tested-by: Bin Meng's avatarBin Meng <bmeng.cn@gmail.com>
      [bmeng: remove dsdt.hex from 'make clean' rules and correct U-Boot spelling]
      Signed-off-by: Bin Meng's avatarBin Meng <bmeng.cn@gmail.com>
  5. 30 Jul, 2019 1 commit
  6. 12 Apr, 2019 1 commit
  7. 14 Mar, 2019 1 commit
  8. 28 Feb, 2019 1 commit
    • Stephen Warren's avatar
      kbuild: fix DTB .cmd source variable · 8422ad51
      Stephen Warren authored
      *.dts are processed using a custom command, then the C pre-processor is
      run on them, then they are compiled using dtc. Thus, the dependency
      files generated by both cpp and dtc reference a temporary file name
      rather than the actual source file. While this information isn't used
      for any purpose by the build system, and hence this causes no functional
      issue, it does cause the dependency files to contain invalid and
      confusing data, which is unhelpful while debugging build problems. Fix
      this using sed.
      Signed-off-by: Stephen Warren's avatarStephen Warren <swarren@nvidia.com>
      Reviewed-by: Masahiro Yamada's avatarMasahiro Yamada <yamada.masahiro@socionext.com>
  9. 19 Feb, 2019 1 commit
  10. 13 Feb, 2019 2 commits
  11. 15 Jan, 2019 1 commit
    • Masahiro Yamada's avatar
      kbuild: add .SECONDARY special target to scripts/Kbuild.include · c16b137e
      Masahiro Yamada authored
      Based on the following Linux commits:
       - 54a702f70589 ("kbuild: mark $(targets) as .SECONDARY and remove
         .PRECIOUS markers")
       - 8e9b61b293d9 ("kbuild: move .SECONDARY special target to
      GNU Make automatically deletes intermediate files that are updated
      in a chain of pattern rules.
      Example 1) %.dtb.o <- %.dtb.S <- %.dtb <- %.dts
      Example 2) %.o <- %.c <- %.c_shipped
      A couple of makefiles mark such targets as .PRECIOUS to prevent Make
      from deleting them, but the correct way is to use .SECONDARY.
          Prerequisites of this special target are treated as intermediate
          files but are never automatically deleted.
          When make is interrupted during execution, it may delete the target
          file it is updating if the file was modified since make started.
          If you mark the file as precious, make will never delete the file
          if interrupted.
      Both can avoid deletion of intermediate files, but the difference is
      the behavior when Make is interrupted; .SECONDARY deletes the target,
      but .PRECIOUS does not.
      The use of .PRECIOUS is relatively rare since we do not want to keep
      partially constructed (possibly corrupted) targets.
      .SECONDARY with no prerequisites causes all targets to be treated as
      secondary. This agrees the policy of Kbuild.
      scripts/Kbuild.include seems a suitable place to add it because it is
      included from almost all sub-makes.
      Signed-off-by: Masahiro Yamada's avatarMasahiro Yamada <yamada.masahiro@socionext.com>
  12. 02 Dec, 2018 1 commit
  13. 30 Sep, 2018 1 commit
  14. 14 Jun, 2018 1 commit
    • Heinrich Schuchardt's avatar
      efi_loader: avoid make race condition · 2f61b13d
      Heinrich Schuchardt authored
      When U-Boot is built with 'make -j' there is not guarantee that targets in
      directory arch/ are built before targets in directory lib/. The current
      build instruction for EFI binaries in lib/ rely on dependencies in arch/.
      If $(EFI_CRT0) or $(EFI_RELOC) is not yet built before trying to build
      %.efi an error
          *** No rule to make target '%.efi'
      With the patch separate copies of $(EFI_CRT0) and $(EFI_RELOC) named
      efi_crt0.o and efi_reloc.o are built in lib/efi_loader and
      Signed-off-by: Heinrich Schuchardt's avatarHeinrich Schuchardt <xypron.glpk@gmx.de>
      Signed-off-by: Alexander Graf's avatarAlexander Graf <agraf@suse.de>
  15. 13 Jun, 2018 1 commit
    • Andy Shevchenko's avatar
      x86: acpi: Adopt new version of iASL compiler · 919c1c12
      Andy Shevchenko authored
      The commit
        f9a88a4c1cd0 ("iASL: Enhance the -tc option (create AML hex file in C)")
      in ACPICA project changed a template of the variable that is used
      in the generated C-file. Now, instead of hard coded "AmlCode" the
      "%s_aml_code" is in use, where the prefix is a lowered case base
      name of the output file. In our case it will be "dsdt" producing
      a name as "dsdt_aml_code".
      The quick solution is to call sed which replaces new name by the
      old one to keep compatibility with old version of iASL.
      The long term solution would be to modify code to use the new name
      because it is more scalable.
      Cc: Robert Moore <robert.moore@intel.com>
      Cc: Sami Mujawar <sami.mujawar@arm.com>
      Cc: Evan Lloyd <evan.lloyd@arm.com>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Reviewed-by: Bin Meng's avatarBin Meng <bmeng.cn@gmail.com>
      [bmeng: fixed two sentences in the commit message]
      Signed-off-by: Bin Meng's avatarBin Meng <bmeng.cn@gmail.com>
  16. 31 May, 2018 1 commit
    • Eugeniu Rosca's avatar
      kconfig: re-sync with Linux 4.17-rc4 · e91610da
      Eugeniu Rosca authored
      Align Kconfig to Linux 4.17-rc4 with minimal impact on non-kconfig files.
      Previous Kconfig sync was done by commit bf7ab1e7 ("kconfig:
      re-sync with Linux 4.10") and it achieved almost perfect alignment with
      a few (intended) exceptions, caused by below U-boot commits:
      [A] v2015.04 5f9eb220 ("kbuild: remove scripts/multiconfig.sh")
      [B] v2015.07 20c20826 ("Kconfig: Enable usage of escape char '\' in string values")
      [C] v2016.01 da58dec8 ("Various Makefiles: Add SPDX-License-Identifier tags")
      [D] v2016.03 5b8031cc ("Add more SPDX-License-Identifier tags")
      [E] v2016.03 192bc694 ("Fix GCC format-security errors and convert sprintfs.")
      Here is the list of Kconfig commits which followed the v4.10 alignment:
      [F] v2018.01 0931ed3c ("kconfig/symbol.c: use correct pointer type argument for sizeof")
      [G] v2018.03 1414e09b ("kconfig: revert change that was not needed for -Wformat-security")
      [H] v2018.05 83d290c5 ("SPDX: Convert all of our single license tags to Linux Kernel style")
      Commit [F] was subsequently applied to Linux kernel as commit [I]
      with the same patch id, so it won't contribute to further misalignment.
      [I] v4.15-rc1 88127dae6ed9 ("kconfig/symbol.c: use correct pointer type argument for sizeof")
      Commit [G] is a Kconfig-specific revert of commit [E].
      Commit [H] relocated and reformatted the license doing no functional change.
      In summary, the only functional change that makes U-boot Kconfig
      diverge from Linux Kconfig is commit [B]. After a brief analysis,
      the purpose of [B] seems to be placing "\n" literals in string symbols
      like CONFIG_AUTOBOOT_PROMPT="autoboot in %d seconds\n" in order to pass
      them directly to printf and expect correct output at runtime. Currently,
      Linux doesn't seem to have this requirement, so for the moment [B] looks
      like a U-boot specific feature/fix. From point of view of further Kconfig
      alignment and backporting efforts, it is highly desired that commits
      like [B] are propagated to Linux and any Kconfig fixes/features are
      contributed to Linux kernel first. This specific Kconfig re-sync just
      keeps [B] in place.
      Contrary to 4.10 Kconfig re-sync (which achieves zero non-kconfig
      changes), 4.17-rc4 re-sync does some amount of updates in Kbuild
      (striving to keep them at minimum), due to a number of reasons:
      * Kbuild is affected by the removal of Kconfig "*shipped" files and now
        requires flex and bison pre-installed on the host.
      * PYTHON{2,3} variables are defined in top-level Makefile as
        prerequisite for running the newly developed Kconfig unit tests.
      * silentoldconfig becomes an "internal implementation detail" deprecated
        for external use, being renamed to syncconfig.
      The exact non-kconfig files touched by this commit are:
      $ git show --format="" --stat -- ':!scripts/kconfig'
       .gitignore             |  2 ++
       Makefile               |  9 +++++++--
       scripts/Makefile.build | 11 +++++++++++
       scripts/Makefile.lib   | 41 ++++++++++++-----------------------------
      The imported Linux commits touching the above files are:
      c054be10ffdbd5   ("remove gperf left-overs from build system")
      73a4f6dbe70a1b   ("kbuild: add LEX and YACC variables")
      033dba2ec06c47   ("kbuild: prepare to remove C files pre-generated by flex and bison")
      eea199b445f64c   ("kbuild: remove unnecessary LEX_PREFIX and YACC_PREFIX")
      e71de5ee08dcb0   ("kbuild: remove remaining use of undefined YACC_PREFIX")
      d59fbbd09d5d6b   ("kbuild: replace hardcoded bison in cmd_bison_h with $(YACC)")
      911a91c39cabcb H ("kconfig: rename silentoldconfig to syncconfig")
      59889300274569   (".gitignore: move *.lex.c *.tab.[ch] patterns to the top-level .gitignore")
      9a8dfb394c0467   ("kbuild: clean up *.lex.c and *.tab.[ch] patterns from top-level Makefile")
      833e622459432e H ("genksyms: generate lexer and parser during build instead of shipping")
      b23d1a241f4eb4 H ("kbuild: add %.lex.c and %.tab.[ch] to 'targets' automatically")
      e9781b52d4e0e3 H ("kbuild: add PYTHON2 and PYTHON3 variables")
      The commits marked with 'H' are assessed as "hard" (build will fail)
      prerequisites and the rest of them are assessed as "soft" prerequisites
      for the re-sync. In spite of relatively high number of non-H commits,
      they belong to this Kconfig update topic-wise and decrease the number of
      cherry pick conflicts for many commits in this series. Additional effort
      can be put in eliminating the soft prerequisites, if really needed.
      The commits which contributed to this Kconfig re-sync are listed below.
      Whenever a conflict resolution has been performed (mostly by hand, but
      sometimes automatically by git), it is revealed by the '!' sign in the
      second column, which means a patch id mismatch between Linux and U-boot
      9be3213b14d44f   ("gconfig: remove misleading parentheses around a condition")
      ff85a1a80e0034   ("kconfig: Check for libncurses before menuconfig")
      ad8181060788c8   ("kconfig: fix sparse warnings in nconfig")
      cb77f0d623ff33 ! ("scripts: Switch to more portable Perl shebang")
      bb3290d91695bb ! ("Remove gperf usage from toolchain")
      c054be10ffdbd5   ("remove gperf left-overs from build system")
      b24413180f5600 ! ("License cleanup: add SPDX GPL-2.0 license identifier to files with no license")
      9059a3493efea6 ! ("kconfig: fix relational operators for bool and tristate symbols")
      2c37e08464a850   ("kconfig: Warn if choice default is not in choice")
      33ca1a24866373   ("kconfig: Document the 'menu' struct")
      52aede4ba5efd1   ("kconfig: Document the 'symbol' struct")
      c873443430ebd1   ("kconfig: Sync zconf.y with zconf.tab.c_shipped")
      9a826842ff2fbd   ("kconfig: Rename menu_check_dep() to rewrite_m()")
      fa8cedaef814ce   ("kconfig: Clarify expression rewriting")
      f77850d3fe0c96   ("kconfig: Clean up modules handling and fix crash")
      e3b03bf29d6b99   ("kconfig: display recursive dependency resolution hint just once")
      73a4f6dbe70a1b ! ("kbuild: add LEX and YACC variables")
      033dba2ec06c47 ! ("kbuild: prepare to remove C files pre-generated by flex and bison")
      29c833061c1d8c   ("kconfig: generate lexer and parser during build instead of shipping")
      26e47a3c11a25c   ("kconfig: Don't leak symbol names during parsing")
      24161a6711c945   ("kconfig: Don't leak 'source' filenames during parsing")
      bc28fe1d5ede88   ("kconfig: Don't leak 'option' arguments during parsing")
      0724a7c32a54e3   ("kconfig: Don't leak main menus during parsing")
      ae7440ef0c8013   ("kconfig: Fix automatic menu creation mem leak")
      5b1374b3b3c2fc   ("kconfig: Fix expr_free() E_NOT leak")
      7cf33f88e29410   ("kconfig: Fix choice symbol expression leak")
      05cccce580456d   ("kconfig: Document automatic submenu creation code")
      0735f7e5def2ab   ("kconfig: Document important expression functions")
      df60f4b92d3d0b   ("kconfig: Remove menu_end_entry()")
      b92d804a51796b   ("kconfig: drop 'boolean' keyword")
      6479f327dea60d   ("kconfig: Warn if there is more than one help text")
      52e58a3caeba5d   ("kconfig: make input_mode static")
      5a3dc717b3c785   ("kconfig: make xfgets() really static")
      84dd95d4f87a0d   ("kconfig: make conf_unsaved a local variable of conf_read()")
      765f4cdef6f80d   ("kconfig: use default 'yy' prefix for lexer and parser")
      eea199b445f64c   ("kbuild: remove unnecessary LEX_PREFIX and YACC_PREFIX")
      e71de5ee08dcb0   ("kbuild: remove remaining use of undefined YACC_PREFIX")
      d59fbbd09d5d6b ! ("kbuild: replace hardcoded bison in cmd_bison_h with $(YACC)")
      3e41ba05b6d60c   ("kconfig: Document SYMBOL_OPTIONAL logic")
      d3465af60f4471   ("kconfig: Clarify choice dependency propagation")
      9d1a9e8bc18bea   ("kconfig: Document 'if' flattening logic")
      b53688014e3325   ("kconfig: Clarify menu and 'if' dependency propagation")
      d0fd0428ecf04b   ("kconfig: fix make xconfig when gettext is missing")
      312ee68752faaa   ("kconfig: announce removal of oldnoconfig if used")
      1ccb27143360bd   ("kconfig: make "Selected by:" and "Implied by:" readable")
      cedd55d49dee94 ! ("kconfig: Remove silentoldconfig from help and docs; fix kconfig/conf's help")
      1b9eda2e4892cb   ("kconfig: Warn if help text is blank")
      cb67ab2cd2b8ab   ("kconfig: do not write choice values when their dependency becomes n")
      4f208f392103e8   ("kconfig: show '?' prompt even if no help text is available")
      cd58a91def2acc   ("kconfig: remove 'config*' pattern from .gitignnore")
      d2a04648a5dbc3   ("kconfig: remove check_stdin()")
      f3ff6fb5db68bc   ("kconfig: echo stdin to stdout if either is redirected")
      9e3e10c725360b   ("kconfig: send error messages to stderr")
      d717f24d8c6808   ("kconfig: add xrealloc() helper")
      523ca58b7db2e3   ("kconfig: remove const qualifier from sym_expand_string_value()")
      cd81fc82b93fa4   ("kconfig: add xstrdup() helper")
      f4bc1eefc1608e   ("kconfig: set SYMBOL_AUTO to the symbol marked with defconfig_list")
      bf0bbdcf100322   ("kconfig: Don't leak choice names during parsing")
      1a90ce36c6eff6   ("kconfig: Update ncurses package names for menuconfig")
      5ae6fcc4bb82bd   ("kconfig: fix line number in recursive inclusion error message")
      07a422bb213adb ! ("kbuild: restore autoksyms.h touch to the top Makefile")
      9a47ceec543bfb   ("kconfig: clean-up reverse dependency help implementation")
      d9119b5925a03b   ("kconfig: Print reverse dependencies in groups")
      f467c5640c29ad   ("kconfig: only write '# CONFIG_FOO is not set' for visible symbols")
      59a80b5e892dde   ("kconfig: do not call check_conf() for olddefconfig")
      4bb3a5b085cd6f   ("kconfig: remove unneeded input_mode test in conf()")
      99f0b6578bab44   ("kconfig: remove redundant input_mode test for check_conf() loop")
      2aad9b89621386   ("kconfig: hide irrelevant sub-menus for oldconfig")
      81d2bc2273052e   ("kconfig: invoke oldconfig instead of silentoldconfig from local*config")
      911a91c39cabcb ! ("kconfig: rename silentoldconfig to syncconfig")
      2a61625835c7c8 ! ("kconfig: remove redundant streamline_config.pl prerequisite")
      022a4bf6b59dfd   ("kconfig: tests: add framework for Kconfig unit testing")
      1903c511905984   ("kconfig: tests: add basic choice tests")
      49ac3c0c3aa3b7   ("kconfig: tests: test automatic submenu creation")
      b76960c0f6b25d   ("kconfig: tests: test if new symbols in choice are asked")
      930c429a656fdb   ("kconfig: tests: check unneeded "is not set" with unmet dependency")
      ee236610653ede   ("kconfig: tests: check visibility of tristate choice values in y choice")
      beaaddb625400e   ("kconfig: tests: test defconfig when two choices interact")
      3e4888c2e3d77d   ("kconfig: tests: test randconfig for choice in choice")
      29c434f367ea7b   ("kconfig: tests: test if recursive dependencies are detected")
      e2c75e7667c737   ("kconfig: tests: test if recursive inclusion is detected")
      f622f827958162   ("kconfig: warn unmet direct dependency of tristate symbols selected by y")
      f8f69dc0b4e070   ("kconfig: make unmet dependency warnings readable")
      26561514cc9def   ("kconfig: do not include both curses.h and ncurses.h for nconfig")
      32a94b8b0c3e5a   ("kconfig: remove duplicated file name and lineno of recursive inclusion")
      379a8eb8eb1a55   ("kconfig: detect recursive inclusion earlier")
      18492685e479fd   ("kconfig: use yylineno option instead of manual lineno increments")
      59889300274569 ! (".gitignore: move *.lex.c *.tab.[ch] patterns to the top-level .gitignore")
      9a8dfb394c0467 ! ("kbuild: clean up *.lex.c and *.tab.[ch] patterns from top-level Makefile")
      833e622459432e ! ("genksyms: generate lexer and parser during build instead of shipping")
      b23d1a241f4eb4 ! ("kbuild: add %.lex.c and %.tab.[ch] to 'targets' automatically")
      17baab68d337a0   ("kconfig: extend output of 'listnewconfig'")
      e9781b52d4e0e3 ! ("kbuild: add PYTHON2 and PYTHON3 variables")
      The current Kconfig update generates below build-time warnings:
        YACC    scripts/dtc/dtc-parser.tab.h
      scripts/dtc/dtc-parser.y: warning: 3 shift/reduce conflicts [-Wconflicts-sr]
        YACC    scripts/dtc/dtc-parser.tab.c
      scripts/dtc/dtc-parser.y: warning: 3 shift/reduce conflicts [-Wconflicts-sr]
      This seems to happen because the Kbuild updates apparently didn't make
      room for both "*shipped"-based builds and flex/bison-based builds. A
      similar problem has been reported for genksyms parser in v4.17-rc1
      commit 833e622459432e ("genksyms: generate lexer and parser during build
      instead of shipping"). I have figured out empirically that the warnings
      are healed after updating the in-tree U-boot DTC to upstream v1.4.6-9,
      same as done by Linux v4.17-rc1 commit 9130ba88464032 ("scripts/dtc:
      Update to upstream version v1.4.6-9-gaadd0b65c987"). Whether fixing the
      DTC-related yacc warnings should be done together with the Kconfig
      re-sync, I would like to hear from community.
      My testing was limited to:
      - make defconfig all
      - make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- r8a7795_ulcb_defconfig all
      - comparing .config before and after the re-sync
      - running the newly imported Kconfig unit tests as seen below:
      $ make testconfig
      Tested-by: default avatarPetr Vorel <petr.vorel@gmail.com>
      ============================= test session starts =============================
      scripts/kconfig/tests/auto_submenu/__init__.py::test PASSED             [  7%]
      scripts/kconfig/tests/choice/__init__.py::test_oldask0 PASSED           [ 14%]
      scripts/kconfig/tests/choice/__init__.py::test_oldask1 PASSED           [ 21%]
      scripts/kconfig/tests/choice/__init__.py::test_allyes PASSED            [ 28%]
      scripts/kconfig/tests/choice/__init__.py::test_allmod PASSED            [ 35%]
      scripts/kconfig/tests/choice/__init__.py::test_allno PASSED             [ 42%]
      scripts/kconfig/tests/choice/__init__.py::test_alldef PASSED            [ 50%]
      scripts/kconfig/tests/choice_value_with_m_dep/__init__.py::test PASSED  [ 57%]
      scripts/kconfig/tests/err_recursive_inc/__init__.py::test PASSED        [ 64%]
      scripts/kconfig/tests/inter_choice/__init__.py::test PASSED             [ 71%]
      scripts/kconfig/tests/new_choice_with_dep/__init__.py::test PASSED      [ 78%]
      scripts/kconfig/tests/no_write_if_dep_unmet/__init__.py::test PASSED    [ 85%]
      scripts/kconfig/tests/rand_nested_choice/__init__.py::test PASSED       [ 92%]
      scripts/kconfig/tests/warn_recursive_dep/__init__.py::test PASSED       [100%]
      ========================== 14 passed in 0.34 seconds ==========================
      Signed-off-by: default avatarEugeniu Rosca <erosca@de.adit-jv.com>
      Reviewed-by: Masahiro Yamada's avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Tested-by: default avatarPetr Vorel <petr.vorel@gmail.com>
  17. 07 May, 2018 1 commit
    • Tom Rini's avatar
      SPDX: Convert all of our single license tags to Linux Kernel style · 83d290c5
      Tom Rini authored
      When U-Boot started using SPDX tags we were among the early adopters and
      there weren't a lot of other examples to borrow from.  So we picked the
      area of the file that usually had a full license text and replaced it
      with an appropriate SPDX-License-Identifier: entry.  Since then, the
      Linux Kernel has adopted SPDX tags and they place it as the very first
      line in a file (except where shebangs are used, then it's second line)
      and with slightly different comment styles than us.
      In part due to community overlap, in part due to better tag visibility
      and in part for other minor reasons, switch over to that style.
      This commit changes all instances where we have a single declared
      license in the tag as both the before and after are identical in tag
      contents.  There's also a few places where I found we did not have a tag
      and have introduced one.
      Signed-off-by: Tom Rini's avatarTom Rini <trini@konsulko.com>
  18. 15 Apr, 2018 1 commit
    • Rasmus Villemoes's avatar
      Makefile: always preserve output for images that can contain HAB Blocks · 06587617
      Rasmus Villemoes authored
      The current makefile logic disables creation of the
      SPL.log/u-boot-ivt.img.log etc. files when V=1 is given on the command
      line, the rationale presumably being that the user wants and gets the
      information on the console.
      However, from general principles, I don't think a higher V= level
      should affect which build artifacts get generated (and certainly
      shouldn't produce fewer). Concretely, it's also a problem that when
      doing a V=1 build in a terminal, the relevant HAB blocks lines easily
      drown in all the other V=1 output.
      Moreover, build systems such as Yocto by default pass V=1, so in that
      case the information gets hidden away in the do_compile log file, making
      it nigh impossible to create a recipe for creating signed U-boot images
      - I don't want to disable V=1, because having verbose output in the log
      file is valuable when things go wrong, but OTOH trying to go digging in
      the do_compile log file (and getting exactly the right lines) is not
      pleasant to even think about.
      So change the logic so that for V=0, the mkimage output is redirected
      to MKIMAGEOUTPUT (which is also the current behaviour), while for any
      other value of V, we _additionally_ write the information to make's
      stdout, whatever that might be.
      Signed-off-by: default avatarRasmus Villemoes <rasmus.villemoes@prevas.dk>
      Tested-by: default avatarBreno Lima <breno.lima@nxp.com>
  19. 14 Feb, 2018 1 commit
  20. 23 Nov, 2017 1 commit
    • Simon Glass's avatar
      binman: Add better Makefile debugging · 511fd0b2
      Simon Glass authored
      There is a debugging option in the Makefile to allow people to figure out
      which u-boot.dtsi files are used in the build. But is it not easy to use
      since it only shows files it finds, not those it is looking for. Update it
      and update the mention of it to the docs.
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
  21. 16 Oct, 2017 1 commit
    • Masahiro Yamada's avatar
      kbuild: fix dependency of DT build · ecc9709f
      Masahiro Yamada authored
      I saw a DT build issue report some time before [1].  I was able to
      reproduce the bug, and figure out the root cause.
      Since commit 6d427c6b ("binman: Automatically include a U-Boot
      .dtsi file"), invalid .*.cmd files are generated.
      Since that commit, DTS files are put into sed and piped to CPP.
      Because CPP reads the stream from stdin, -Wp,-MD,$(depfile).pre.tmp
      option generates a depfile with the target name "-".  This is not
      the format expected by fixdep.
      Use one more temporary file instead of using pipe.  With this, deps_
      in the .*.cmd will be fixed.  Having a temp file name in source_ is
      odd, but it is unsed in the build system.  Not a big deal.
      [1] https://lists.denx.de/pipermail/u-boot/2017-June/294451.html
      Fiexes: 6d427c6b ("binman: Automatically include a U-Boot .dtsi file")
      Signed-off-by: Masahiro Yamada's avatarMasahiro Yamada <yamada.masahiro@socionext.com>
  22. 18 Sep, 2017 3 commits
  23. 15 Sep, 2017 1 commit
  24. 30 Jul, 2017 1 commit
  25. 05 Jun, 2017 1 commit
  26. 18 May, 2017 1 commit
  27. 14 Jan, 2017 2 commits
  28. 02 Jan, 2017 1 commit
  29. 19 Dec, 2016 3 commits
  30. 14 Nov, 2016 1 commit
  31. 20 Aug, 2016 1 commit
  32. 30 May, 2016 1 commit
  33. 23 May, 2016 2 commits