[RFC PATCH v2 09/21] cli: Add choice for hush parser

Francis Laniel
2022-02-06T18:39:23Z

For the moment, the choice contains only entry: HUSH_OLD_PARSER which is the
default.
The goal is to prepare the field to add a new hush parser which guarantees
actual behavior is still correct.

Signed-off-by: Francis Laniel <francis.laniel@amarulasolutions.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
---
cmd/Kconfig | 14 ++++++++++++++
common/Makefile | 2 +-
2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/cmd/Kconfig b/cmd/Kconfig
index 02c298fdbe..be24346c56 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -23,6 +23,20 @@ config HUSH_PARSER
If disabled, you get the old, much simpler behaviour with a somewhat
smaller memory footprint.

+choice HUSH_FLAVOR
+ bool "Hush flavor to use"
+ depends on HUSH_PARSER
+ default HUSH_OLD_PARSER
+
+ config HUSH_OLD_PARSER
+ bool "Use hush old parser"
+ help
+ This option enables the old flavor of hush based on hush Busybox from
+ 2005.
+
+ It is actually the default U-Boot shell when decided to use hush as shell.
+endchoice
+
config CMDLINE_EDITING
bool "Enable command line editing"
depends on CMDLINE
diff --git a/common/Makefile b/common/Makefile
index c500bcd7d8..8b4627fccf 100644
--- a/common/Makefile
+++ b/common/Makefile
@@ -8,7 +8,7 @@ ifndef CONFIG_SPL_BUILD
obj-y += init/
obj-y += main.o
obj-y += exports.o
-obj-$(CONFIG_HUSH_PARSER) += cli_hush.o
+obj-$(CONFIG_HUSH_OLD_PARSER) += cli_hush.o
obj-$(CONFIG_AUTOBOOT) += autoboot.o

# # boards
--
2.25.1