15 Oct, 2017
1 commit
-
Move the % arch outside the double quote so that the missing toolchain
message is displayed correctly.Signed-off-by: Chris Packham
Reviewed-by: Simon Glass
Signed-off-by: Masahiro Yamada
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
12 Sep, 2017
1 commit
-
Adjust this code so that it can work with Python 2 and 3.
Fixes: d73fcb1 (moveconfig: Support building a simple config database)
Reported-by: Chris Packham
Signed-off-by: Simon Glass
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 -
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
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
-
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
-
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 -auWhere the commit contains defconfig files, this will reprocess them to
take account of the imply statements that you added.Signed-off-by: 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 -
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
-
This filename is used a few times. Move it to a constant before adding
further uses.Signed-off-by: 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
-
Support passes in a defconfig filename of '-' to read the list from stdin
instead of from a file.Signed-off-by: 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
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
08 May, 2017
3 commits
-
The Kconfig description replaces the description in the README file so
as options are migrated they can be removed from the README.Signed-off-by: Chris Packham
Reviewed-by: Simon Glass -
After moving to KConfig and removing from all headers options should be
removed from config_whitelist.txt so the build starts complaining if
someone adds them back.Acked-by: Masahiro Yamada
Signed-off-by: Chris Packham
Reviewed-by: Simon Glass -
Avoid repetitive code dealing with asking the user for confirmation.
Signed-off-by: Chris Packham
Reviewed-by: Simon Glass
18 Apr, 2017
1 commit
-
Recently, U-Boot removed support for these architectures.
Signed-off-by: Masahiro Yamada
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
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
-
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
07 Sep, 2016
4 commits
-
Prior to this commit, the tool could not move options guarded by
CONFIG_SPL_BUILD ifdef conditionals because they do not show up in
include/autoconf.mk. This new option, if given, makes the tool
parse spl/include/autoconf.mk instead of include/autoconf.mk,
which is probably preferred behavior when moving options for SPL.Signed-off-by: Masahiro Yamada
Reviewed-by: Tom Rini -
Currently, the tool gives up moving an option quietly if its entry
was not found in Kconfig.If the option is not defined in the config header in the first
place, it is no problem (as the Kconfig entry may have been hidden
by reasonable "depends on").However, if the option is defined in the config header, the missing
Kconfig entry is a sign of possible behavior change. It is highly
recommended to manually check if the option has been moved as
expected. In this case, let's add "suspicious" in the log and
change the log color (if --color option is given) to make it stand
out.This was suggested by Tom in [1].
[1] http://lists.denx.de/pipermail/u-boot/2016-July/261988.html
Signed-off-by: Masahiro Yamada
Suggested-by: Tom Rini
Reviewed-by: Tom Rini -
The sets feature is handier for adding unique elements.
Signed-off-by: Masahiro Yamada
Acked-by: Joe Hershberger -
Since commit cc008299f852 ("tools: moveconfig: do not rely on type
and default value given by users"), we do not have this error case.Signed-off-by: Masahiro Yamada
Acked-by: Joe Hershberger
27 Aug, 2016
2 commits
-
Most of them are my mistakes.
Signed-off-by: Masahiro Yamada
-
This is needed to move CONFIG options for the recently-added
xtfpga_defconfig.The tarball of the pre-built toolchain can be downloaded from:
https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.9.0/Signed-off-by: Masahiro Yamada
05 Aug, 2016
8 commits
-
We mostly move config options from board header files to Kconfig,
but sometimes config defines come from CONFIG_SYS_EXTRA_OPTIONS.Historically, CONFIG_SYS_EXTRA_OPTIONS originates in boards.cfg,
which was used as a central database of configuration prior to the
Kconfig conversion.Now, we want to migrate to primary entries in Kconfig rather than
option list in CONFIG_SYS_EXTRA_OPTIONS, so it should be helpful to
have the tool to cleanup CONFIG_SYS_EXTRA_OPTIONS automatically.Signed-off-by: Masahiro Yamada
Reviewed-by: Tom Rini -
I want to reuse this routine in the next commit.
Signed-off-by: Masahiro Yamada
Reviewed-by: Tom Rini -
Correct the clean-up of such defines that continue across multiple
lines, like follows:#define CONFIG_FOO "this continues to the next line " \
"this line should be removed too" \
"this line should be removed as well"Signed-off-by: Masahiro Yamada
Reviewed-by: Tom Rini -
Show code diff in color if --color option is given.
Signed-off-by: Masahiro Yamada
Reviewed-by: Tom Rini -
The header cleanup feature of this tool now removes empty ifdef's,
successive blank lines as well as moved option defines. So, we
want to see a little more context to check which lines were deleted.It is true that we can see it by "git diff", but it would not work
in the --dry-run mode. So, here, this commit.Signed-off-by: Masahiro Yamada
-
The tools/moveconfig.py has a feature to cleanup #define/#undef's
of moved config options, but I want this tool to do a better job.For example, when we are moving CONFIG_FOO and its define is
surrounded by #ifdef ... #endif, like follows:#ifdef CONFIG_BAR
# define CONFIG_FOO
#endifThe header cleanup will leave empty #ifdef ... #endif:
#ifdef CONFIG_BAR
#endifLikewise, if a define line between two blank lines
#define CONFIG_FOO
-
The clean tree (make mrproper) and compilers are required when moving
config options, but not needed when we only cleanup headers.Signed-off-by: Masahiro Yamada
Reviewed-by: Tom Rini -
The files in include/generated are generated during build and removed
by "make mrproper", so it has no point to touch them by this tool.Signed-off-by: Masahiro Yamada
Reviewed-by: Tom Rini
22 Jun, 2016
4 commits
-
There are some cases where config options are moved, but they are
ripped off at the final savedefconfig stage:- The moved option is not user-configurable, for example, due to
a missing prompt in the Kconfig entry- The config was not defined in the original config header despite
the Kconfig specifies it as non-bool type- The config define in the header contains reference to another
macro, for example:
#define CONFIG_CONS_INDEX (CONFIG_SYS_LPC32XX_UART - 2)
The current moveconfig does not support recursive macro expansion.In these cases, the conversion is very likely to be an unexpected
result. That is why I decided to display the log in yellow color
in commit 5da4f857beac ("tools: moveconfig: report when CONFIGs are
removed by savedefconfig").It would be nice to display the list of suspicious boards when the
tool finishes processing. It is highly recommended to check the
defconfigs once again when this message is displayed.Signed-off-by: Masahiro Yamada
Reviewed-by: Joe Hershberger -
Since commit 1d085568b3de ("tools: moveconfig: display log atomically
in more readable format"), the function color_text() is clever enough
to exclude LF from escape sequences. Exploit it for removing the
"for" loops from Slots.show_failed_boards().Also, display "(the list has been saved in moveconfig.failed)" if
there are failed boards.Signed-off-by: Masahiro Yamada
Reviewed-by: Joe Hershberger -
The subprocess.Popen() does not change the child process's working
directory if cwd=None is given. Let's exploit this fact to refactor
the source directory handling.We no longer have to pass "-C " to the sub-process
because self.current_src_dir tracks the source tree against which we
want to run defconfig/autoconf.The flag self.use_git_ref is not necessary either because we can know
the current state by checking whether the self.current_src_dir is a
valid string or None.Signed-off-by: Masahiro Yamada
-
The class WorkDir can be used in a very generic way, but currently
it is only used for containing a reference source directory.This commit changes it for a more dedicated use. The move_config
function can be more readable by enclosing the git-clone and git-
checkout in the class constructor.Signed-off-by: Masahiro Yamada
Reviewed-by: Joe Hershberger