]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - common/cmd_nvedit.c
tegra: Enable USB keyboard
[karo-tx-uboot.git] / common / cmd_nvedit.c
index 3474bc60940bb1b4d5ac7dc9324287627f3939b4..006131f45c1b20b793a9ced9bdc95383043a87e9 100644 (file)
@@ -71,9 +71,6 @@ DECLARE_GLOBAL_DATA_PTR;
 SPI_FLASH|NVRAM|MMC|FAT|REMOTE} or CONFIG_ENV_IS_NOWHERE
 #endif
 
-#define XMK_STR(x)     #x
-#define MK_STR(x)      XMK_STR(x)
-
 /*
  * Maximum expected input data size for import command
  */
@@ -103,6 +100,7 @@ int get_env_id(void)
        return env_id;
 }
 
+#ifndef CONFIG_SPL_BUILD
 /*
  * Command interface: print one or all environment variables
  *
@@ -138,7 +136,8 @@ static int env_print(char *name)
        return 0;
 }
 
-int do_env_print (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+static int do_env_print(cmd_tbl_t *cmdtp, int flag, int argc,
+                       char * const argv[])
 {
        int i;
        int rcode = 0;
@@ -196,6 +195,7 @@ static int do_env_grep(cmd_tbl_t *cmdtp, int flag,
        return rcode;
 }
 #endif
+#endif /* CONFIG_SPL_BUILD */
 
 /*
  * Perform consistency checking before setting, replacing, or deleting an
@@ -213,6 +213,9 @@ int env_check_apply(const char *name, const char *oldval,
 {
        int   console = -1;
 
+       /* Default value for NULL to protect string-manipulating functions */
+       newval = newval ? : "";
+
        /* Check for console redirection */
        if (strcmp(name, "stdin") == 0)
                console = stdin;
@@ -236,11 +239,6 @@ int env_check_apply(const char *name, const char *oldval,
                /* Try assigning specified device */
                if (console_assign(console, newval) < 0)
                        return 1;
-
-#ifdef CONFIG_SERIAL_MULTI
-               if (serial_assign(newval) < 0)
-                       return 1;
-#endif
 #endif /* CONFIG_CONSOLE_MUX */
        }
 
@@ -254,7 +252,7 @@ int env_check_apply(const char *name, const char *oldval,
                if (strcmp(name, "serial#") == 0 ||
                    (strcmp(name, "ethaddr") == 0
 #if defined(CONFIG_OVERWRITE_ETHADDR_ONCE) && defined(CONFIG_ETHADDR)
-                    && strcmp(oldval, MK_STR(CONFIG_ETHADDR)) != 0
+                    && strcmp(oldval, __stringify(CONFIG_ETHADDR)) != 0
 #endif /* CONFIG_OVERWRITE_ETHADDR_ONCE && CONFIG_ETHADDR */
                        )) {
                        printf("Can't overwrite \"%s\"\n", name);
@@ -325,7 +323,7 @@ int env_check_apply(const char *name, const char *oldval,
  * Set a new environment variable,
  * or replace or delete an existing one.
 */
-int _do_env_set(int flag, int argc, char * const argv[])
+static int _do_env_set(int flag, int argc, char * const argv[])
 {
        int   i, len;
        char  *name, *value, *s;
@@ -437,7 +435,8 @@ int setenv_addr(const char *varname, const void *addr)
        return setenv(varname, str);
 }
 
-int do_env_set(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+#ifndef CONFIG_SPL_BUILD
+static int do_env_set(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
        if (argc < 2)
                return CMD_RET_USAGE;
@@ -516,7 +515,8 @@ int do_env_ask(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
  * Interactively edit an environment variable
  */
 #if defined(CONFIG_CMD_EDITENV)
-int do_env_edit(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+static int do_env_edit(cmd_tbl_t *cmdtp, int flag, int argc,
+                      char * const argv[])
 {
        char buffer[CONFIG_SYS_CBSIZE];
        char *init_val;
@@ -536,6 +536,7 @@ int do_env_edit(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
        return setenv(argv[1], buffer);
 }
 #endif /* CONFIG_CMD_EDITENV */
+#endif /* CONFIG_SPL_BUILD */
 
 /*
  * Look up variable from environment,
@@ -621,8 +622,10 @@ ulong getenv_ulong(const char *name, int base, ulong default_val)
        return str ? simple_strtoul(str, NULL, base) : default_val;
 }
 
+#ifndef CONFIG_SPL_BUILD
 #if defined(CONFIG_CMD_SAVEENV) && !defined(CONFIG_ENV_IS_NOWHERE)
-int do_env_save(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+static int do_env_save(cmd_tbl_t *cmdtp, int flag, int argc,
+                      char * const argv[])
 {
        printf("Saving Environment to %s...\n", env_name_spec);
 
@@ -635,6 +638,7 @@ U_BOOT_CMD(
        ""
 );
 #endif
+#endif /* CONFIG_SPL_BUILD */
 
 
 /*
@@ -646,6 +650,9 @@ U_BOOT_CMD(
  */
 int envmatch(uchar *s1, int i2)
 {
+       if (s1 == NULL)
+               return -1;
+
        while (*s1 == env_get_char(i2++))
                if (*s1++ == '=')
                        return i2;
@@ -656,6 +663,7 @@ int envmatch(uchar *s1, int i2)
        return -1;
 }
 
+#ifndef CONFIG_SPL_BUILD
 static int do_env_default(cmd_tbl_t *cmdtp, int __flag,
                          int argc, char * const argv[])
 {
@@ -1015,9 +1023,8 @@ static int do_env(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
        return CMD_RET_USAGE;
 }
 
-U_BOOT_CMD(
-       env, CONFIG_SYS_MAXARGS, 1, do_env,
-       "environment handling commands",
+#ifdef CONFIG_SYS_LONGHELP
+static char env_help_text[] =
 #if defined(CONFIG_CMD_ASKENV)
        "ask name [message] [size] - ask for environment variable\nenv "
 #endif
@@ -1042,7 +1049,12 @@ U_BOOT_CMD(
 #if defined(CONFIG_CMD_SAVEENV) && !defined(CONFIG_ENV_IS_NOWHERE)
        "env save - save environment\n"
 #endif
-       "env set [-f] name [arg ...]\n"
+       "env set [-f] name [arg ...]\n";
+#endif
+
+U_BOOT_CMD(
+       env, CONFIG_SYS_MAXARGS, 1, do_env,
+       "environment handling commands", env_help_text
 );
 
 /*
@@ -1114,3 +1126,4 @@ U_BOOT_CMD_COMPLETE(
        var_complete
 );
 #endif
+#endif /* CONFIG_SPL_BUILD */