From 40b484a3dfb586076c6cfba44eff3e3cf0b5bd1f Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Wed, 20 Oct 2010 03:35:09 -0400 Subject: command_t: punt unused type The recent command clean up to constify the argv option to command funcs missed the command_t type itself. This is probably because there are no build time warnings from it because no one is actually using this thing. So just punt it rather than fix it. Signed-off-by: Mike Frysinger --- include/command.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'include/command.h') diff --git a/include/command.h b/include/command.h index 46a9ec4c4ca..00edc85117c 100644 --- a/include/command.h +++ b/include/command.h @@ -86,8 +86,6 @@ extern int cmd_auto_complete(const char *const prompt, char *buf, int *np, int * * void function (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]); */ -typedef void command_t (cmd_tbl_t *, int, int, char *[]); - #if defined(CONFIG_CMD_MEMORY) \ || defined(CONFIG_CMD_I2C) \ || defined(CONFIG_CMD_ITEST) \ -- cgit v1.2.3 From 36ebb78779cb08b48672e0fa5cd891199cc0ee23 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Wed, 20 Oct 2010 03:35:39 -0400 Subject: do_bootm: unify duplicate prototypes The duplication of the do_bootm prototype has gotten out of hand, and they're pretty much all outdated (wrt constness). Unify them all in command.h. Signed-off-by: Mike Frysinger --- include/command.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include/command.h') diff --git a/include/command.h b/include/command.h index 00edc85117c..915be579879 100644 --- a/include/command.h +++ b/include/command.h @@ -95,6 +95,8 @@ extern int cmd_auto_complete(const char *const prompt, char *buf, int *np, int * extern int cmd_get_data_size(char* arg, int default_size); #endif +extern int do_bootm(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]); + #endif /* __ASSEMBLY__ */ /* -- cgit v1.2.3 From 7842fb7c4f5be961c7aa9091dc8c760683b1377c Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Wed, 20 Oct 2010 03:36:26 -0400 Subject: do_bootd: unify duplicate prototypes Signed-off-by: Mike Frysinger --- include/command.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include/command.h') diff --git a/include/command.h b/include/command.h index 915be579879..e98332e121a 100644 --- a/include/command.h +++ b/include/command.h @@ -95,6 +95,9 @@ extern int cmd_auto_complete(const char *const prompt, char *buf, int *np, int * extern int cmd_get_data_size(char* arg, int default_size); #endif +#ifdef CONFIG_CMD_BOOTD +extern int do_bootd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]); +#endif extern int do_bootm(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]); #endif /* __ASSEMBLY__ */ -- cgit v1.2.3 From 882b7d726febe65579d6502c271412ecb05821d7 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Wed, 20 Oct 2010 03:41:17 -0400 Subject: do_reset: unify duplicate prototypes The duplication of the do_reset prototype has gotten out of hand, and they're not all in sync. Unify them all in command.h. Signed-off-by: Mike Frysinger --- include/command.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include/command.h') diff --git a/include/command.h b/include/command.h index e98332e121a..f5091d0b3da 100644 --- a/include/command.h +++ b/include/command.h @@ -99,6 +99,7 @@ extern int cmd_get_data_size(char* arg, int default_size); extern int do_bootd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]); #endif extern int do_bootm(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]); +extern int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]); #endif /* __ASSEMBLY__ */ -- cgit v1.2.3 From 722b061b6f6f3405118f2969272511e7e19990e3 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Wed, 20 Oct 2010 03:52:39 -0400 Subject: autocomplete: remove runtime handler install Rather than add runtime overhead of installing completion handlers, do it statically at build time. This requires a new build time helper macro to declare a command and the completion handler at the same time. Then we convert the env related funcs over to this. This gives an opportunity to also unify the U_BOOT_CMD macros. Signed-off-by: Mike Frysinger --- include/command.h | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) (limited to 'include/command.h') diff --git a/include/command.h b/include/command.h index f5091d0b3da..8310fe57a5f 100644 --- a/include/command.h +++ b/include/command.h @@ -74,7 +74,7 @@ cmd_tbl_t *find_cmd_tbl (const char *cmd, cmd_tbl_t *table, int table_len); extern int cmd_usage(cmd_tbl_t *cmdtp); #ifdef CONFIG_AUTO_COMPLETE -extern void install_auto_complete(void); +extern int var_complete(int argc, char * const argv[], char last_char, int maxv, char *cmdv[]); extern int cmd_auto_complete(const char *const prompt, char *buf, int *np, int *colp); #endif @@ -111,23 +111,29 @@ extern int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]); #define Struct_Section __attribute__ ((unused,section (".u_boot_cmd"))) -#ifdef CONFIG_SYS_LONGHELP +#ifdef CONFIG_AUTO_COMPLETE +# define _CMD_COMPLETE(x) x, +#else +# define _CMD_COMPLETE(x) +#endif +#ifdef CONFIG_SYS_LONGHELP +# define _CMD_HELP(x) x, +#else +# define _CMD_HELP(x) +#endif -#define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \ -cmd_tbl_t __u_boot_cmd_##name Struct_Section = {#name, maxargs, rep, cmd, usage, help} +#define U_BOOT_CMD_MKENT_COMPLETE(name,maxargs,rep,cmd,usage,help,comp) \ + {#name, maxargs, rep, cmd, usage, _CMD_HELP(help) _CMD_COMPLETE(comp)} #define U_BOOT_CMD_MKENT(name,maxargs,rep,cmd,usage,help) \ -{#name, maxargs, rep, cmd, usage, help} + U_BOOT_CMD_MKENT_COMPLETE(name,maxargs,rep,cmd,usage,help,NULL) -#else /* no long help info */ +#define U_BOOT_CMD_COMPLETE(name,maxargs,rep,cmd,usage,help,comp) \ + cmd_tbl_t __u_boot_cmd_##name Struct_Section = \ + U_BOOT_CMD_MKENT_COMPLETE(name,maxargs,rep,cmd,usage,help,comp) #define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \ -cmd_tbl_t __u_boot_cmd_##name Struct_Section = {#name, maxargs, rep, cmd, usage} - -#define U_BOOT_CMD_MKENT(name,maxargs,rep,cmd,usage,help) \ -{#name, maxargs, rep, cmd, usage} - -#endif /* CONFIG_SYS_LONGHELP */ + U_BOOT_CMD_COMPLETE(name,maxargs,rep,cmd,usage,help,NULL) #if defined(CONFIG_NEEDS_MANUAL_RELOC) void fixup_cmdtable(cmd_tbl_t *cmdtp, int size); -- cgit v1.2.3