]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
bootflow: Allow setting a cmdline arg with no value
authorSimon Glass <sjg@chromium.org>
Wed, 29 Nov 2023 17:31:19 +0000 (10:31 -0700)
committerTom Rini <trini@konsulko.com>
Wed, 20 Dec 2023 15:46:54 +0000 (10:46 -0500)
This is supposed to be supported by the 'bootflow cmd' command, at
least according to the help. There is a 'bootflow cmd clear' but it is
often more intuitive to use 'bootcmd cmd set' with an empty value.

Update the command to pass BOOTFLOWCL_EMPTY in this case.

Signed-off-by: Simon Glass <sjg@chromium.org>
cmd/bootflow.c
test/boot/bootflow.c

index 4a47265ebd5d25108d53ac0a20b681118ecd26e0..cc6dfae16683a50b277e078458deb77d1ba624f9 100644 (file)
@@ -543,9 +543,9 @@ static int do_bootflow_cmdline(struct cmd_tbl *cmdtp, int flag, int argc,
        op = argv[1];
        arg = argv[2];
        if (*op == 's') {
-               if (argc < 4)
+               if (argc < 3)
                        return CMD_RET_USAGE;
-               val = argv[3];
+               val = argv[3] ?: (const char *)BOOTFLOWCL_EMPTY;
        }
 
        switch (*op) {
index f3e5a839da4737fa76a6ca8b44e1f80a24ec9314..a9b555c77943cd410f744e9e5c4a982fc3b60b8e 100644 (file)
@@ -1095,6 +1095,10 @@ static int bootflow_cmdline(struct unit_test_state *uts)
        ut_asserteq(0, run_command("bootflow cmdline get mary", 0));
        ut_assert_nextline_empty();
 
+       ut_asserteq(0, run_command("bootflow cmdline set mary abc", 0));
+       ut_asserteq(0, run_command("bootflow cmdline set mary", 0));
+       ut_assert_nextline_empty();
+
        ut_assert_console_end();
 
        return 0;