Revert "Revert "global: Remove CONFIG_SYS_EXTRA_OPTIONS support""
This is not needed now that CONFIG_SYS_TARGET_NAME is correctly determined
when scanning Kconfig.
This reverts commit 25b8acee2e
.
Signed-off-by: Simon Glass <sjg@chromium.org>
Suggested-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
256126c294
commit
5579ce747d
13
boot/Kconfig
13
boot/Kconfig
@ -452,19 +452,6 @@ config OF_STDOUT_VIA_ALIAS
|
|||||||
incorrect when used with device tree as this option does not
|
incorrect when used with device tree as this option does not
|
||||||
exist / should not be used.
|
exist / should not be used.
|
||||||
|
|
||||||
config SYS_EXTRA_OPTIONS
|
|
||||||
string "Extra Options (DEPRECATED)"
|
|
||||||
help
|
|
||||||
The old configuration infrastructure (= mkconfig + boards.cfg)
|
|
||||||
provided the extra options field. If you have something like
|
|
||||||
"HAS_BAR,BAZ=64", the optional options
|
|
||||||
#define CONFIG_HAS
|
|
||||||
#define CONFIG_BAZ 64
|
|
||||||
will be defined in include/config.h.
|
|
||||||
This option was prepared for the smooth migration from the old
|
|
||||||
configuration to Kconfig. Since this option will be removed sometime,
|
|
||||||
new boards should not use this option.
|
|
||||||
|
|
||||||
config HAVE_SYS_TEXT_BASE
|
config HAVE_SYS_TEXT_BASE
|
||||||
bool
|
bool
|
||||||
depends on !NIOS2 && !XTENSA
|
depends on !NIOS2 && !XTENSA
|
||||||
|
@ -99,7 +99,6 @@ Kconfig. Each field of boards.cfg was converted as follows:
|
|||||||
Vendor -> CONFIG_SYS_VENDOR defined by Kconfig
|
Vendor -> CONFIG_SYS_VENDOR defined by Kconfig
|
||||||
Board -> CONFIG_SYS_BOARD defined by Kconfig
|
Board -> CONFIG_SYS_BOARD defined by Kconfig
|
||||||
Target -> File name of defconfig (configs/<target>_defconfig)
|
Target -> File name of defconfig (configs/<target>_defconfig)
|
||||||
Options -> CONFIG_SYS_EXTRA_OPTIONS defined by Kconfig
|
|
||||||
Maintainers -> "M:" entry of MAINTAINERS
|
Maintainers -> "M:" entry of MAINTAINERS
|
||||||
|
|
||||||
|
|
||||||
@ -140,12 +139,6 @@ When removing an obsolete board, the following steps are generally needed:
|
|||||||
TODO
|
TODO
|
||||||
----
|
----
|
||||||
|
|
||||||
- The option field of boards.cfg, which was used for the pre-Kconfig
|
|
||||||
configuration, moved to CONFIG_SYS_EXTRA_OPTIONS verbatim now.
|
|
||||||
Board maintainers are expected to implement proper Kconfig options
|
|
||||||
and switch over to them. Eventually CONFIG_SYS_EXTRA_OPTIONS will go away.
|
|
||||||
CONFIG_SYS_EXTRA_OPTIONS should not be used for new boards.
|
|
||||||
|
|
||||||
- In the pre-Kconfig, a single board had multiple entries in the boards.cfg
|
- In the pre-Kconfig, a single board had multiple entries in the boards.cfg
|
||||||
file with differences in the option fields. The corresponding defconfig
|
file with differences in the option fields. The corresponding defconfig
|
||||||
files were auto-generated when switching to Kconfig. Now we have too many
|
files were auto-generated when switching to Kconfig. Now we have too many
|
||||||
|
@ -295,8 +295,7 @@ Available options
|
|||||||
|
|
||||||
-y, --yes
|
-y, --yes
|
||||||
Instead of prompting, automatically go ahead with all operations. This
|
Instead of prompting, automatically go ahead with all operations. This
|
||||||
includes cleaning up headers, CONFIG_SYS_EXTRA_OPTIONS, the config whitelist
|
includes cleaning up headers, the config whitelist and the README.
|
||||||
and the README.
|
|
||||||
|
|
||||||
To see the complete list of supported options, run::
|
To see the complete list of supported options, run::
|
||||||
|
|
||||||
|
@ -112,10 +112,6 @@ vpl/include/autoconf.mk: vpl/u-boot.cfg
|
|||||||
# Prior to Kconfig, it was generated by mkconfig. Now it is created here.
|
# Prior to Kconfig, it was generated by mkconfig. Now it is created here.
|
||||||
define filechk_config_h
|
define filechk_config_h
|
||||||
(echo "/* Automatically generated - do not edit */"; \
|
(echo "/* Automatically generated - do not edit */"; \
|
||||||
for i in $$(echo $(CONFIG_SYS_EXTRA_OPTIONS) | sed 's/,/ /g'); do \
|
|
||||||
echo \#define CONFIG_$$i \
|
|
||||||
| sed '/=/ {s/=/ /;q; } ; { s/$$/ 1/; }'; \
|
|
||||||
done; \
|
|
||||||
echo \#define CONFIG_BOARDDIR board/$(if $(VENDOR),$(VENDOR)/)$(BOARD);\
|
echo \#define CONFIG_BOARDDIR board/$(if $(VENDOR),$(VENDOR)/)$(BOARD);\
|
||||||
echo \#include \<config_uncmd_spl.h\>; \
|
echo \#include \<config_uncmd_spl.h\>; \
|
||||||
echo \#include \<configs/$(CONFIG_SYS_CONFIG_NAME).h\>; \
|
echo \#include \<configs/$(CONFIG_SYS_CONFIG_NAME).h\>; \
|
||||||
|
@ -10,30 +10,13 @@
|
|||||||
#
|
#
|
||||||
export LC_ALL=C LC_COLLATE=C
|
export LC_ALL=C LC_COLLATE=C
|
||||||
|
|
||||||
# There are two independent greps. The first pulls out the component parts
|
# Looks for the rest of the CONFIG options, but exclude those in Kconfig and
|
||||||
# of CONFIG_SYS_EXTRA_OPTIONS. An example is:
|
# defconfig files.
|
||||||
#
|
#
|
||||||
# SUN7I_GMAC,AHCI,SATAPWR=SUNXI_GPB(8)
|
|
||||||
#
|
|
||||||
# We want this to produce:
|
|
||||||
# CONFIG_SUN7I_GMAC
|
|
||||||
# CONFIG_AHCI
|
|
||||||
# CONFIG_SATAPWR
|
|
||||||
#
|
|
||||||
# The second looks for the rest of the CONFIG options, but excludes those in
|
|
||||||
# Kconfig and defconfig files.
|
|
||||||
#
|
|
||||||
(
|
|
||||||
git grep CONFIG_SYS_EXTRA_OPTIONS |sed -n \
|
|
||||||
's/.*CONFIG_SYS_EXTRA_OPTIONS="\(.*\)"/\1/ p' \
|
|
||||||
| tr , '\n' \
|
|
||||||
| sed 's/ *\([A-Za-z0-9_]*\).*/CONFIG_\1/'
|
|
||||||
|
|
||||||
git grep CONFIG_ | \
|
git grep CONFIG_ | \
|
||||||
egrep -vi "(Kconfig:|defconfig:|README|\.py|\.pl:)" \
|
egrep -vi "(Kconfig:|defconfig:|README|\.py|\.pl:)" \
|
||||||
| tr ' \t' '\n\n' \
|
| tr ' \t' '\n\n' \
|
||||||
| sed -n 's/^\(CONFIG_[A-Za-z0-9_]*\).*/\1/p'
|
| sed -n 's/^\(CONFIG_[A-Za-z0-9_]*\).*/\1/p' \
|
||||||
) \
|
|
||||||
|sort |uniq >scripts/config_whitelist.txt.tmp1;
|
|sort |uniq >scripts/config_whitelist.txt.tmp1;
|
||||||
|
|
||||||
# Finally, we need a list of the valid Kconfig options to exclude these from
|
# Finally, we need a list of the valid Kconfig options to exclude these from
|
||||||
|
@ -443,70 +443,6 @@ def cleanup_headers(configs, args):
|
|||||||
cleanup_one_header(header_path, patterns, args)
|
cleanup_one_header(header_path, patterns, args)
|
||||||
cleanup_empty_blocks(header_path, args)
|
cleanup_empty_blocks(header_path, args)
|
||||||
|
|
||||||
def cleanup_one_extra_option(defconfig_path, configs, args):
|
|
||||||
"""Delete config defines in CONFIG_SYS_EXTRA_OPTIONS in one defconfig file.
|
|
||||||
|
|
||||||
Args:
|
|
||||||
defconfig_path: path to the cleaned defconfig file.
|
|
||||||
configs: A list of CONFIGs to remove.
|
|
||||||
args (Namespace): program arguments
|
|
||||||
"""
|
|
||||||
|
|
||||||
start = 'CONFIG_SYS_EXTRA_OPTIONS="'
|
|
||||||
end = '"'
|
|
||||||
|
|
||||||
lines = read_file(defconfig_path)
|
|
||||||
|
|
||||||
for i, line in enumerate(lines):
|
|
||||||
if line.startswith(start) and line.endswith(end):
|
|
||||||
break
|
|
||||||
else:
|
|
||||||
# CONFIG_SYS_EXTRA_OPTIONS was not found in this defconfig
|
|
||||||
return
|
|
||||||
|
|
||||||
old_tokens = line[len(start):-len(end)].split(',')
|
|
||||||
new_tokens = []
|
|
||||||
|
|
||||||
for token in old_tokens:
|
|
||||||
pos = token.find('=')
|
|
||||||
if not (token[:pos] if pos >= 0 else token) in configs:
|
|
||||||
new_tokens.append(token)
|
|
||||||
|
|
||||||
if new_tokens == old_tokens:
|
|
||||||
return
|
|
||||||
|
|
||||||
tolines = copy.copy(lines)
|
|
||||||
|
|
||||||
if new_tokens:
|
|
||||||
tolines[i] = start + ','.join(new_tokens) + end
|
|
||||||
else:
|
|
||||||
tolines.pop(i)
|
|
||||||
|
|
||||||
show_diff(lines, tolines, defconfig_path, args.color)
|
|
||||||
|
|
||||||
if args.dry_run:
|
|
||||||
return
|
|
||||||
|
|
||||||
write_file(defconfig_path, tolines)
|
|
||||||
|
|
||||||
def cleanup_extra_options(configs, args):
|
|
||||||
"""Delete config defines in CONFIG_SYS_EXTRA_OPTIONS in defconfig files.
|
|
||||||
|
|
||||||
Args:
|
|
||||||
configs: A list of CONFIGs to remove.
|
|
||||||
args (Namespace): program arguments
|
|
||||||
"""
|
|
||||||
if not confirm(args, 'Clean up CONFIG_SYS_EXTRA_OPTIONS?'):
|
|
||||||
return
|
|
||||||
|
|
||||||
configs = [ config[len('CONFIG_'):] for config in configs ]
|
|
||||||
|
|
||||||
defconfigs = get_all_defconfigs()
|
|
||||||
|
|
||||||
for defconfig in defconfigs:
|
|
||||||
cleanup_one_extra_option(os.path.join('configs', defconfig), configs,
|
|
||||||
args)
|
|
||||||
|
|
||||||
def cleanup_whitelist(configs, args):
|
def cleanup_whitelist(configs, args):
|
||||||
"""Delete config whitelist entries
|
"""Delete config whitelist entries
|
||||||
|
|
||||||
@ -1803,7 +1739,6 @@ doc/develop/moveconfig.rst for documentation.'''
|
|||||||
|
|
||||||
if configs:
|
if configs:
|
||||||
cleanup_headers(configs, args)
|
cleanup_headers(configs, args)
|
||||||
cleanup_extra_options(configs, args)
|
|
||||||
cleanup_whitelist(configs, args)
|
cleanup_whitelist(configs, args)
|
||||||
cleanup_readme(configs, args)
|
cleanup_readme(configs, args)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user