26 Feb, 2020

2 commits

  • Printing the error message in verbose mode fails, since python3
    doesn't implicitely convert bytes to strings.

    Signed-off-by: Markus Klotzbuecher
    Cc: Simon Glass
    Cc: Tom Rini
    Cc: Masahiro Yamada
    Reviewed-by: Simon Glass

    Markus Klotzbuecher
     
  • Commit b237d358b425 ("moveconfig: expand simple expressions") added
    support for expanding expressions in configs, but used the unsafe python
    built-in "eval". This patch fixes this by replacing eval with the
    asteval module.

    Signed-off-by: Markus Klotzbuecher
    Cc: Heinrich Schuchardt
    Cc: Heiko Schocher
    Cc: Tom Rini
    Cc: Simon Glass
    Cc: Joe Hershberger
    Cc: Masahiro Yamada
    Reviewed-by: Heinrich Schuchardt

    Markus Klotzbuecher
     

24 Nov, 2019

1 commit

  • With the move to using Python 3 for real, we encounter two different
    issues. First, the file include/video_font_data.h includes at least one
    UTF-16 character. Given that it does not include any CONFIG symbols it
    is easiest to just ignore this file. Next, we encounter similar
    problems with some dts/dtsi files that come from Linux. In this case
    it's easiest to simply ignore all dts/dtsi files as there will not be
    CONFIG symbols for us to migrate in them.

    Cc: Masahiro Yamada
    Signed-off-by: Tom Rini

    Tom Rini
     

05 Nov, 2019

1 commit


08 Oct, 2019

1 commit

  • A large number of changes have happened upstream since our last sync
    which was to 375506d. The reason to do the upgrade at this point is for
    improved Python 3 support.

    As part of this upgrade we need to update moveconfig.py and
    genboardscfg.py the current API. This is:
    - Change "kconfiglib.Config" calls to "kconfiglib.Kconfig"
    - Change get_symbol() calls to syms.get().
    - Change get_value() to str_value.

    Cc: Masahiro Yamada
    Signed-off-by: Tom Rini

    Tom Rini
     

09 Jul, 2019

1 commit

  • Add support for expanding simple expressions and sizes such as
    "(4 * 1024)", "(512 << 10)" or "(SZ_256K)".

    This can help to significantly reduce the number of "suspicious"
    moves, such as

    'CONFIG_ENV_SIZE="(64 << 10)"' was removed by savedefconfig.

    If the expansion fails, it falls back to the original string.

    Signed-off-by: Markus Klotzbuecher
    Cc: Masahiro Yamada
    Cc: Heiko Schocher

    Markus Klotzbuecher
     

09 Feb, 2019

1 commit


07 May, 2018

1 commit

  • 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

    Tom Rini
     

15 Oct, 2017

1 commit


30 Sep, 2017

1 commit

  • Corresponds to 375506d (File writing nit) from upstream
    (https://github.com/ulfalizer/Kconfiglib).

    Adds proper 'imply' support and fixes a few minor issues, one of which
    previously triggered the following weird warning:

    configs/taurus_defconfig: /tmp/tmpisI45S:6: warning: assignment to SPL_LDSCRIPT changes mode of containing choice from "arch/$(ARCH)/cpu/u-boot-spl.lds" to "y"

    The change in 8639f69 (genconfig.py: Print defconfig next to warnings)
    was reapplied.

    tools/moveconfig.py previously depended on a hack that merged 'select's
    with 'imply's. It was modified to look at the union of
    Symbol.get_selected_symbols() and Symbol.get_implied_symbols(), which
    should give the same behavior.

    tools/genboardscfg.py was verified to produce identical board.cfg's
    before and after the change.

    Signed-off-by: Ulf Magnusson

    Ulf Magnusson
     

12 Sep, 2017

1 commit


23 Jul, 2017

2 commits

  • It is annoying to have to set up and maintain two sets of toolchains, one
    for buildman and one for moveconfig.

    Adjust moveconfig to make use to buildman's toolchains. This should make
    things easier.

    One missing feature is the ability to specify the toolchain on the command
    line with a special environment variable, e.g. CROSS_COMPILE_ARM. I'm not
    sure if that is useful, but if it is it could be implemented in buildman.

    Signed-off-by: Simon Glass
    Reviewed-by: Philipp Tomsich
    Tested-by: Philipp Tomsich

    Simon Glass
     
  • Add an option to specify 'all' to enable all flags. Also print an error
    if an unrecognised flag is used. At present it just prints usage
    information which is not very helpful.

    Signed-off-by: Simon Glass

    Simon Glass
     

12 Jul, 2017

9 commits

  • By using a Kconfig parser we can find the location of each option in the
    Kconfig tree. Using the information from the database we can then
    automatically add an 'imply' option into the right place if requested by
    the user.

    Add a -a option to support adding 'imply' options. Display the location of
    any existing 'imply' option so that progress can be examined. Add a -A
    option to hide any existing 'imply' options so that already-completed
    additions need not be considered further.

    Also add documentation for this feature.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • Sometimes it is useful to display CONFIG_TARGET or CONFIG_CMD configs. Add
    an option to control this.

    Also we generally ignore implying configs which affect fewer than 5
    boards. But sometimes it is useful to show those those, so add an option
    that reduces the minimum to two.

    ERRATUM configs are never useful for implying things, so ignore those.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • It is useful to be able to process only a subset of boards to save time.
    Often that subset is defined by the defconfig files in a git commit. This
    change allows things like:

    # Build the database
    ./tools.moveconfig.py -b

    # Find some implying configs
    ./tools/moveconfig.py -i CONFIG_X

    # Add some 'imply' statements to Kconfig files
    ./tools/moveconfig.py -i CONFIG_X -a CONFIG_A,CONFIG_B

    # Reprocess the defconfig files to see if we can drop some changes
    git show --stat | ./tools/moveconfig.py -s -d -

    # Update the commit, with fewer defconfig changes
    gii commit -au

    Where the commit contains defconfig files, this will reprocess them to
    take account of the imply statements that you added.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • Some CONFIG options can be implied by others and this can help to reduce
    the size of the defconfig files. For example, CONFIG_X86 implies
    CONFIG_CMD_IRQ, so we can put 'imply CMD_IRQ' under 'config X86' and
    all x86 boards will have that option, avoiding adding CONFIG_CMD_IRQ to
    each of the x86 defconfig files.

    Add a -i option which searches for such options.

    Signed-off-by: Simon Glass
    Reviewed-by: Heiko Schocher

    Simon Glass
     
  • Add a -b option which scans all the defconfigs and builds a database of
    all the CONFIG options used by each. This is useful for querying later.

    At present this only works with the separate -b option, which does not
    move any configs. It would be possible to adjust the script to build the
    database automatically when moving configs, but this might not be useful
    as the database does not change that often.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • This filename is used a few times. Move it to a constant before adding
    further uses.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • The newest clean-up features are not mentioned in the docs. Fix this and
    add a few hints for particular workflows that are hopefully helpful.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • Support passes in a defconfig filename of '-' to read the list from stdin
    instead of from a file.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • It is convenient to provide the full patch to the defconfig files in some
    situations, e.g. when the file was generated by a shell command (e.g.
    'ls configs/zynq*').

    Add support for this, and move the globbing code into a function with its
    own documentation.

    Signed-off-by: Simon Glass

    Simon Glass
     

07 Jul, 2017

1 commit

  • AVR32 is gone. It's already more than two years for no support in Buildroot,
    even longer there is no support in GCC (last version is heavily patched 4.2.4).

    Linux kernel v4.12 got rid of it (and v4.11 didn't build successfully).

    There is no good point to keep this support in U-Boot either.

    Reviewed-by: Simon Glass
    Reviewed-by: Tom Rini
    Reviewed-by: Heiko Schocher
    Signed-off-by: Andy Shevchenko

    Andy Shevchenko
     

08 May, 2017

3 commits


18 Apr, 2017

1 commit


24 Oct, 2016

1 commit

  • Supporting shell-style wildcards for the --defconfigs option will be
    useful to run the moveconfig tool against a specific platform. For
    example, "uniphier*" in the file passed by --defconfigs option will
    be expanded to defconfig files that start with "uniphier". This is
    easier than listing out all defconfig files you are interested in.

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Joe Hershberger

    Masahiro Yamada
     

17 Sep, 2016

2 commits

  • The moveconfig tool is quite clever and generally produces results that
    are suitable for sending as a patch without further work. The main required
    step is to add the changes to a commit.

    Add an option to do this automatically. This allows moveconfig to be used
    from a script to convert multiple CONFIG options, once per commit.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • At present it is not easy to use moveconfig from a script since it asks
    for user input a few times. Add a -y option to skip this and assume that
    'y' was entered.

    Signed-off-by: Simon Glass

    Simon Glass
     

07 Sep, 2016

4 commits


27 Aug, 2016

2 commits


05 Aug, 2016

4 commits