07 Oct, 2014

1 commit


25 Sep, 2014

1 commit

  • [1] Move driver/core/, driver/input/ and drivers/input/ entries
    from the top Makefile to drivers/Makefile

    [2] Remove the conditional by CONFIG_DM in drivers/core/Makefile
    because the whole drivers/core directory is already selected
    by CONFIG_DM in the upper level

    [3] Likewise for CONFIG_DM_DEMO in drivers/demo/Makefile

    [4] Simplify common/Makefile - both CONFIG_DDR_SPD and
    CONFIG_SPD_EEPROM are boolean macros so they can directly
    select objects

    Signed-off-by: Masahiro Yamada
    Acked-by: Marek Vasut

    Masahiro Yamada
     

17 Sep, 2014

2 commits

  • Since 3ff291f371fa9858426774f3732924bacb61ed1c
    (kconfig: convert Kconfig helper script into a shell script),
    "make config" is not working because of a missing '$' before '(Q)'.

    Besides, "make config" should be invoked via scripts/multiconfig.sh
    to avoid a warning message:
    Kconfig:11:warning: environment variable KCONFIG_OBJDIR undefined

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass

    Masahiro Yamada
     
  • U-Boot has imported various source files from other projects,
    mostly Linux.

    Something like

    #ifdef __UBOOT__
    [ modification for U-Boot ]
    #else
    [ original code ]
    #endif

    is an often used strategy for clarification of adjusted parts,
    that is, easier re-sync in future.

    Instead of defining __UBOOT__ in each source file,
    passing it from the top Makefile would be easier.

    Signed-off-by: Masahiro Yamada
    Acked-by: Marek Vasut
    Acked-by: Heiko Schocher

    Masahiro Yamada
     

11 Sep, 2014

1 commit


03 Sep, 2014

1 commit


29 Aug, 2014

1 commit


22 Aug, 2014

5 commits

  • Commit 51148790 added scripts/multiconfig.py written in Python 2
    to adjust Kconfig for U-Boot.

    It has been hard for Python 3 users because Python 2 and Python 3
    are not compatible with each other.

    We are not happy about adding a new host tool dependency
    (in this case, Python version dependency) for the core build process.
    After some discussion, we decided to use only basic tools.

    The script may get a bit more unreadable by shell scripting,
    but we believe it is worthwhile.

    In addition, this commit revives "_config" target that is
    equivalent to "_defconfig" for backwards compatibility.
    It is annoying to adjust various projects which use U-Boot.

    Signed-off-by: Masahiro Yamada
    Suggested-by: Igor Grinberg
    Tested-by: Igor Grinberg
    Acked-by: Simon Glass
    Cc: Tom Rini
    Cc: Jeroen Hofstee
    Cc: Stephen Warren

    Masahiro Yamada
     
  • Signed-off-by: Roger Meier
    Reviewed-by: Masahiro Yamada
    Tested-by: Masahiro Yamada
    Cc: Tom Rini
    Cc: Wolfgang Denk
    Cc: Simon Glass

    Roger Meier
     
  • The command generating the "common/system_map.o" file was always shown
    during the build making the output messy. Now it is called using the
    Kbuild "cmd" macro, so that the full command is shown only when
    building in verbose mode.

    Signed-off-by: Vasili Galka

    Vasili Galka
     
  • "make %_config all" was supported for the first time in U-Boot:
    commit 53bca5ab
    kbuild: support simultaneous board configuration and "make all"

    Surprisingly it had not been working in Linux Kernel for a long time.

    So I sent back the patch to the Linux Kbuild community and it was
    accepted with a little code improvement, at commit 9319f453.

    Now, you can do "make defconfig all" or "make %_defconfig all"
    in Linux too.

    This commit updates some scripts to fill the code-diff
    between Linux and U-Boot.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • This commit was imported from Linux Kernel:
    commit a86fe353 written by me.

    W=... provides extra gcc checks.

    Having such code in scripts/Makefile.build results in the same flags
    being added to KBUILD_CFLAGS multiple times becuase
    scripts/Makefile.build is invoked every time Kbuild descends into
    the subdirectories.

    Since the top Makefile is already too cluttered, this commit moves
    all of extra gcc check stuff to a new file scripts/Makefile.extrawarn,
    which is included from the top Makefile.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

09 Aug, 2014

2 commits


06 Aug, 2014

1 commit


30 Jul, 2014

1 commit

  • This commit enables Kconfig.
    Going forward, we use Kconfig for the board configuration.
    mkconfig will never be used. Nor will include/config.mk be generated.

    Kconfig must be adjusted for U-Boot because our situation is
    a little more complicated than Linux Kernel.
    We have to generate multiple boot images (Normal, SPL, TPL)
    from one source tree.
    Each image needs its own configuration input.

    Usage:

    Run "make _defconfig" to do the board configuration.

    It will create the .config file and additionally spl/.config, tpl/.config
    if SPL, TPL is enabled, respectively.

    You can use "make config", "make menuconfig" etc. to create
    a new .config or modify the existing one.

    Use "make spl/config", "make spl/menuconfig" etc. for spl/.config
    and do likewise for tpl/.config file.

    The generic syntax of configuration targets for SPL, TPL is:

    /

    Here, is either 'spl' or 'tpl'
    is 'config', 'menuconfig', 'xconfig', etc.

    When the configuration is done, run "make".
    (Or "make _defconfig all" will do the configuration and build
    in one time.)

    For futher information of how Kconfig works in U-Boot,
    please read the comment block of scripts/multiconfig.py.

    By the way, there is another item worth remarking here:
    coexistence of Kconfig and board herder files.

    Prior to Kconfig, we used C headers to define a set of configs.

    We expect a very long term to migrate from C headers to Kconfig.
    Two different infractructure must coexist in the interim.

    In our former configuration scheme, include/autoconf.mk was generated
    for use in makefiles.
    It is still generated under include/, spl/include/, tpl/include/ directory
    for the Normal, SPL, TPL image, respectively.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass

    Masahiro Yamada
     

28 Jul, 2014

1 commit


26 Jul, 2014

1 commit


22 Jul, 2014

3 commits

  • Replace the TAGS target name by the actual ctags target name.
    Also, add etags target documentation.

    Cc: Masahiro Yamada
    Signed-off-by: Igor Grinberg

    Igor Grinberg
     
  • Commit efcf861 (kbuild: use scripts/Makefile.clean)
    refactored the cleaning targets and accidentially replaced the actually
    generated "ctags" and "etags" files in the file list by "tags" and "TAGS".
    "tags" and "TAGS" are not part of the Makefile build targets and
    therefore should not be a part of the list for clean targets.

    Substitute the actually generated files instead, to fix the clean
    targets behavior.

    Cc: Masahiro Yamada
    Signed-off-by: Igor Grinberg

    Igor Grinberg
     
  • Commit 9e41403 (kbuild: change out-of-tree build)
    changed the U-Boot build working directory to the output tree
    for the out-of-tree builds.
    This broke the {c,e}tags/cscope build targets as TAG_SUBDIRS variable
    collected directories based on assumption that the build working
    directory is the U-Boot source tree directory.

    Fix the {c,e}tags/cscope build targets by adding the $(srctree) prefix.
    Also, remove the $(obj) prefix from the etags build target to finish
    the $(obj) prefix removal started by the same commit.

    Cc: Masahiro Yamada
    Signed-off-by: Igor Grinberg

    Igor Grinberg
     

15 Jul, 2014

1 commit


08 Jul, 2014

2 commits


03 Jul, 2014

1 commit


20 Jun, 2014

1 commit


19 Jun, 2014

1 commit


12 Jun, 2014

5 commits

  • All files under spl/ and tpl/ are generated during the build process
    except spl/Makefile.

    We can simplify clean-rule and git-ignore by moving spl/Makefile
    to somewhere else.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • In some cases, an externally-built device tree binary is required to be
    attached to U-Boot. An example is when using image signing, since in that
    case the .dtb file must include the public keys.

    Add a DEV_TREE_BIN option to the Makefile, and update the documentation.

    Usage is something like:

    make DEV_TREE_BIN=boot/am335x-boneblack-pubkey.dtb

    Signed-off-by: Simon Glass

    Simon Glass
     
  • Check that the image size matches the size we get from u-boot.bin. If it
    doesn't, that generally means that some extra sections are being added to
    u-boot.bin, meaning that it is not possible to access data appended to
    the U-Boot binary. This is used for device tree, so needs to work.

    This problem was introduced by commit b02bfc4. By adding a test we can
    prevent a reccurence.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • Building u-boot tools with clang as a host compiler e.g. on
    FreeBSD with `gmake HOSTCC=clang CONFIG_USE_PRIVATE_LIBGCC=y tools`
    leads to many warnings [1] for every compiler invocation since
    commit 598e2d33. Part of mentioned commit imports linux patches:

    - kbuild: LLVMLinux: Adapt warnings for compilation with clang
    - kbuild: LLVMLinux: Add Kbuild support for building kernel with Clang

    No version of clang supports the gcc fno-delete-null-pointer-checks
    though, but it is only passed to clang. Gcc does not have the clang
    specific Qunused-arguments for the target. Furthermore several
    warnings are disabled which aren't encountered in u-boot. Since such
    a build has worked for quite some time and works after removing these
    changes, just remove the clang specific handling to restore normal
    building with clang as hostcc.

    [1] Actual warnings
    -------------------
    GEN include/autoconf.mk.dep
    arm-freebsd-gcc: unrecognized option '-Qunused-arguments'

    HOSTCC scripts/basic/fixdep
    clang: warning: argument unused during compilation:
    '-fno-delete-null-pointer-checks'

    cc: Masahiro Yamada
    Signed-off-by: Jeroen Hofstee

    Jeroen Hofstee
     

10 Jun, 2014

1 commit


06 Jun, 2014

3 commits


30 May, 2014

1 commit


27 May, 2014

1 commit


25 May, 2014

1 commit


24 May, 2014

1 commit