Skip to content
Snippets Groups Projects
  1. Jan 19, 2019
    • Philipp Tomsich's avatar
      Kconfig: Migrate BOUNCE_BUFFER · 2acc24fc
      Philipp Tomsich authored and Tom Rini's avatar Tom Rini committed
      
      The bounce buffer is used by a few drivers (most of the MMC drivers)
      to overcome limitations in their respective DMA implementation.
      
      This moves the configuration to Kconfig and makes it user-selectable
      (even though it will be a required feature to make those drivers
      work): the expected usage is for drivers depending on this to 'select'
      it unconditionally from their respective Kconfig (see follow-up
      patches).
      
      This commit includes a full migration using moveconfig.py to ensure
      that each commit compiles.  To ensure bisectability we update
      dependencies of various drivers to now select BOUNCE_BUFFER when needed.
      
      [trini: Squash all patches to ensure bisectability]
      Signed-off-by: default avatarTom Rini <trini@konsulko.com>
      Signed-off-by: Philipp Tomsich's avatarPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
      Reviewed-by: Otavio Salvador <otavio@ossystems.com.br> [dw_mmc portion]
      Reviewed-by: Fabio Estevam <festevam@gmail.com> [mxsmmc portion]
      Reviewed-by: Simon Glass <sjg@chromium.org> [tegra portion]
      2acc24fc
  2. Jan 15, 2019
    • Masahiro Yamada's avatar
      kbuild: add .SECONDARY special target to scripts/Kbuild.include · c16b137e
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      Based on the following Linux commits:
      
       - 54a702f70589 ("kbuild: mark $(targets) as .SECONDARY and remove
         .PRECIOUS markers")
      
       - 8e9b61b293d9 ("kbuild: move .SECONDARY special target to
         Kbuild.include")
      
      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.
      
        .SECONDARY
          Prerequisites of this special target are treated as intermediate
          files but are never automatically deleted.
      
        .PRECIOUS
          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>
      c16b137e
    • Masahiro Yamada's avatar
      kbuild: add .DELETE_ON_ERROR special target · 368a0dfb
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      Linux commit 9c2af1c7377a8a6ef86e5cabf80978f3dbbb25c0
      
      If Make gets a fatal signal while a shell is executing, it may delete
      the target file that the recipe was supposed to update.  This is needed
      to make sure that it is remade from scratch when Make is next run; if
      Make is interrupted after the recipe has begun to write the target file,
      it results in an incomplete file whose time stamp is newer than that
      of the prerequisites files.  Make automatically deletes the incomplete
      file on interrupt unless the target is marked .PRECIOUS.
      
      The situation is just the same as when the shell fails for some reasons.
      Usually when a recipe line fails, if it has changed the target file at
      all, the file is corrupted, or at least it is not completely updated.
      Yet the file’s time stamp says that it is now up to date, so the next
      time Make runs, it will not try to update that file.
      
      However, Make does not cater to delete the incomplete target file in
      this case.  We need to add .DELETE_ON_ERROR somewhere in the Makefile
      to request it.
      
      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>
      368a0dfb
    • Josef Lusticky's avatar
      pylibfdt: Use Python 2 in Makefile · 03e6151d
      Josef Lusticky authored and Tom Rini's avatar Tom Rini committed
      
      pylibfdt needs Python 2 to build.
      Replace $(PYTHON) with $(PYTHON2) in pylibfdt Makefile
      to ensure Python 2 is used to build it.
      
      This fixes build on systems where Python 3 is the default version
      of the "python" interpreter.
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      03e6151d
  3. Jan 10, 2019
  4. Jan 07, 2019
  5. Dec 26, 2018
  6. Dec 12, 2018
    • Tom Rini's avatar
      blk: Rework guard around part_init call · 91ff6865
      Tom Rini authored
      
      The function part_init() will only be built when we have both
      CONFIG_PARTITIONS and CONFIG_HAVE_BLOCK_DEVICE set.  Protect the call to
      this function with both of these tests now.
      
      Cc: Simon Glass <sjg@chromium.org>
      Cc: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
      Cc: Michal Simek <michal.simek@xilinx.com>
      Cc: York Sun <york.sun@nxp.com>
      Cc: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
      Cc: Mingkai Hu <mingkai.hu@nxp.com>
      Cc: Stefan Roese <sr@denx.de>
      Cc: Marek Behún <marek.behun@nic.cz>
      Cc: Vanessa Maegima <vanessa.maegima@nxp.com>
      Cc: Eugen Hristev <eugen.hristev@microchip.com>
      Cc: Adam Ford <aford173@gmail.com>
      Cc: Jagan Teki <jagan@amarulasolutions.com>
      Cc: Tom Warren <twarren@nvidia.com>
      Cc: Stephen Warren <swarren@nvidia.com>
      Cc: Vitaly Andrianov <vitalya@ti.com>
      Signed-off-by: default avatarTom Rini <trini@konsulko.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      91ff6865
  7. Dec 03, 2018
  8. Dec 02, 2018
  9. Nov 30, 2018
  10. Nov 29, 2018
  11. Nov 27, 2018
  12. Nov 26, 2018
  13. Nov 16, 2018
  14. Nov 14, 2018
  15. Oct 22, 2018
  16. Oct 19, 2018
  17. Oct 09, 2018
  18. Oct 06, 2018
  19. Sep 30, 2018
    • Masahiro Yamada's avatar
      kbuild: fix # escaping in appending U-Boot own DT · 0c544115
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      The escape sequence '\#' does not work for the latest GNU Make from
      the git tree.
      
      Replace it with $(pound) as Linux did.
      
      Signed-off-by: Masahiro Yamada's avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      0c544115
    • Rasmus Villemoes's avatar
      Kbuild: fix # escaping in .cmd files for future Make · e5e701c2
      Rasmus Villemoes authored and Tom Rini's avatar Tom Rini committed
      [ commit 9564a8cf422d7b58f6e857e3546d346fa970191e in Linux ]
      
      I tried building using a freshly built Make (4.2.1-69-g8a731d1), but
      already the objtool build broke with
      
      orc_dump.c: In function ‘orc_dump’:
      orc_dump.c:106:2: error: ‘elf_getshnum’ is deprecated [-Werror=deprecated-declarations]
        if (elf_getshdrnum(elf, &nr_sections)) {
      
      Turns out that with that new Make, the backslash was not removed, so cpp
      didn't see a #include directive, grep found nothing, and
      -DLIBELF_USE_DEPRECATED was wrongly put in CFLAGS.
      
      Now, that new Make behaviour is documented in their NEWS file:
      
        * WARNING: Backward-incompatibility!
          Number signs (#) appearing inside a macro reference or function invocation
          no longer introduce comments and should not be escaped with backslashes:
          thus a call such as:
            foo := $(shell echo '#')
          is legal.  Previously the number sign needed to be escaped, for example:
            foo := $(shell echo '\#')
          Now this latter will resolve to "\#".  If you want to write makefiles
          portable to both versions, assign the number sign to a variable:
            C := \#
            foo := $(shell echo '$C')
          This was claimed to be fixed in 3.81, but wasn't, for some reason.
          To detect this change search for 'nocomment' in the .FEATURES variable.
      
      This also fixes up the two make-cmd instances to replace # with $(pound)
      rather than with \#. There might very well be other places that need
      similar fixup in preparation for whatever future Make release contains
      the above change, but at least this builds an x86_64 defconfig with the
      new make.
      
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=197847
      
      
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarRasmus Villemoes <linux@rasmusvillemoes.dk>
      Signed-off-by: Masahiro Yamada's avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      e5e701c2
  20. Sep 29, 2018
  21. Sep 28, 2018
  22. Sep 27, 2018
  23. Sep 26, 2018
  24. Sep 23, 2018
  25. Sep 22, 2018
  26. Sep 15, 2018
  27. Sep 11, 2018
  28. Aug 17, 2018
Loading