[PATCH 11/11] global: Remove CONFIG_SYS_EXTRA_OPTIONS support

Tom Rini trini at konsulko.com
Thu Mar 24 22:18:06 CET 2022


All options have now been migrated to Kconfig correctly so remove this
support.

Signed-off-by: Tom Rini <trini at konsulko.com>
---
 boot/Kconfig               | 13 --------
 doc/README.kconfig         |  7 ----
 doc/develop/moveconfig.rst |  3 +-
 scripts/Makefile.autoconf  |  4 ---
 scripts/build-whitelist.sh | 23 ++------------
 tools/genboardscfg.py      | 12 +------
 tools/moveconfig.py        | 65 --------------------------------------
 7 files changed, 5 insertions(+), 122 deletions(-)

diff --git a/boot/Kconfig b/boot/Kconfig
index f4a7b3e1926a..b1775b095233 100644
--- a/boot/Kconfig
+++ b/boot/Kconfig
@@ -339,19 +339,6 @@ config OF_STDOUT_VIA_ALIAS
 	  incorrect when used with device tree as this option does not
 	  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
 	bool
 	depends on !NIOS2 && !XTENSA
diff --git a/doc/README.kconfig b/doc/README.kconfig
index 0689f66c2cd5..808cf56e59c4 100644
--- a/doc/README.kconfig
+++ b/doc/README.kconfig
@@ -99,7 +99,6 @@ Kconfig.  Each field of boards.cfg was converted as follows:
  Vendor      ->  CONFIG_SYS_VENDOR defined by Kconfig
  Board       ->  CONFIG_SYS_BOARD defined by Kconfig
  Target      ->  File name of defconfig (configs/<target>_defconfig)
- Options     ->  CONFIG_SYS_EXTRA_OPTIONS defined by Kconfig
  Maintainers ->  "M:" entry of MAINTAINERS
 
 
@@ -140,12 +139,6 @@ When removing an obsolete board, the following steps are generally needed:
 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
   file with differences in the option fields.  The corresponding defconfig
   files were auto-generated when switching to Kconfig.  Now we have too many
diff --git a/doc/develop/moveconfig.rst b/doc/develop/moveconfig.rst
index 2f53ea52b710..bfb7aff35822 100644
--- a/doc/develop/moveconfig.rst
+++ b/doc/develop/moveconfig.rst
@@ -295,8 +295,7 @@ Available options
 
  -y, --yes
    Instead of prompting, automatically go ahead with all operations. This
-   includes cleaning up headers, CONFIG_SYS_EXTRA_OPTIONS, the config whitelist
-   and the README.
+   includes cleaning up headers, the config whitelist and the README.
 
 To see the complete list of supported options, run::
 
diff --git a/scripts/Makefile.autoconf b/scripts/Makefile.autoconf
index 0b3ffa08bfa9..00c03817792d 100644
--- a/scripts/Makefile.autoconf
+++ b/scripts/Makefile.autoconf
@@ -100,10 +100,6 @@ tpl/include/autoconf.mk: tpl/u-boot.cfg
 # Prior to Kconfig, it was generated by mkconfig. Now it is created here.
 define filechk_config_h
 	(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 \#include \<config_uncmd_spl.h\>;				\
 	echo \#include \<configs/$(CONFIG_SYS_CONFIG_NAME).h\>;		\
diff --git a/scripts/build-whitelist.sh b/scripts/build-whitelist.sh
index 6feb9b67cf59..37630c0271cd 100755
--- a/scripts/build-whitelist.sh
+++ b/scripts/build-whitelist.sh
@@ -10,30 +10,13 @@
 #
 export LC_ALL=C LC_COLLATE=C
 
-# There are two independent greps. The first pulls out the component parts
-# of CONFIG_SYS_EXTRA_OPTIONS. An example is:
+# Looks for the rest of the CONFIG options, but exclude those in Kconfig and
+# 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_ | \
 	egrep -vi "(Kconfig:|defconfig:|README|\.py|\.pl:)" \
 	| 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;
 
 # Finally, we need a list of the valid Kconfig options to exclude these from
diff --git a/tools/genboardscfg.py b/tools/genboardscfg.py
index 07bf681d1d95..ecdc166d7b96 100755
--- a/tools/genboardscfg.py
+++ b/tools/genboardscfg.py
@@ -111,7 +111,6 @@ class KconfigScanner:
         'vendor' : 'SYS_VENDOR',
         'board' : 'SYS_BOARD',
         'config' : 'SYS_CONFIG_NAME',
-        'options' : 'SYS_EXTRA_OPTIONS'
     }
 
     def __init__(self):
@@ -149,7 +148,6 @@ class KconfigScanner:
               'board': <board_name>,
               'target': <target_name>,
               'config': <config_header_name>,
-              'options': <extra_options>
           }
         """
         # strip special prefixes and save it in a temporary file
@@ -185,14 +183,6 @@ class KconfigScanner:
         if params['arch'] == 'arm' and params['cpu'] == 'armv8':
             params['arch'] = 'aarch64'
 
-        # fix-up options field. It should have the form:
-        # <config name>[:comma separated config options]
-        if params['options'] != '-':
-            params['options'] = params['config'] + ':' + \
-                                params['options'].replace(r'\"', '"')
-        elif params['config'] != params['target']:
-            params['options'] = params['config']
-
         return params
 
 def scan_defconfigs_for_multiprocess(queue, defconfigs):
@@ -378,7 +368,7 @@ def format_and_output(params_list, output):
       output: The path to the output file
     """
     FIELDS = ('status', 'arch', 'cpu', 'soc', 'vendor', 'board', 'target',
-              'options', 'maintainers')
+              'maintainers')
 
     # First, decide the width of each column
     max_length = dict([ (f, 0) for f in FIELDS])
diff --git a/tools/moveconfig.py b/tools/moveconfig.py
index 84bc875fff8e..09617a07f91b 100755
--- a/tools/moveconfig.py
+++ b/tools/moveconfig.py
@@ -443,70 +443,6 @@ def cleanup_headers(configs, args):
                     cleanup_one_header(header_path, patterns, 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):
     """Delete config whitelist entries
 
@@ -1803,7 +1739,6 @@ doc/develop/moveconfig.rst for documentation.'''
 
     if configs:
         cleanup_headers(configs, args)
-        cleanup_extra_options(configs, args)
         cleanup_whitelist(configs, args)
         cleanup_readme(configs, args)
 
-- 
2.25.1



More information about the U-Boot mailing list