command: Fix operation of !CONFIG_CMDLINE
authorSimon Glass <sjg@chromium.org>
Mon, 15 Mar 2021 05:11:21 +0000 (18:11 +1300)
committerSimon Glass <sjg@chromium.org>
Sat, 27 Mar 2021 02:04:31 +0000 (15:04 +1300)
The U_BOOT_CMDREP_COMPLETE() macro produces a build error if CONFIG_CMDLINE
is not enabled. Fix this by updating the macro to provide the 'repeatable'
arugment in this case.

Signed-off-by: Simon Glass <sjg@chromium.org>
include/command.h

index 747f8f8..137cfbc 100644 (file)
@@ -389,6 +389,14 @@ int run_command_list(const char *cmd, int len, int flag);
                return 0;                                               \
        }
 
+#define _CMD_REMOVE_REP(_name, _cmd)                                   \
+       int __remove_ ## _name(void)                                    \
+       {                                                               \
+               if (0)                                                  \
+                       _cmd(NULL, 0, 0, NULL, NULL);                   \
+               return 0;                                               \
+       }
+
 #define U_BOOT_CMDREP_MKENT_COMPLETE(_name, _maxargs, _cmd_rep,                \
                                     _usage, _help, _comp)              \
                { #_name, _maxargs, 0 ? _cmd_rep : NULL, NULL, _usage,  \
@@ -405,7 +413,7 @@ int run_command_list(const char *cmd, int len, int flag);
 
 #define U_BOOT_CMDREP_COMPLETE(_name, _maxargs, _cmd_rep, _usage,      \
                               _help, _comp)                            \
-       _CMD_REMOVE(sub_ ## _name, _cmd_rep)
+       _CMD_REMOVE_REP(sub_ ## _name, _cmd_rep)
 
 #endif /* CONFIG_CMDLINE */