]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - common/cmd_nand.c
kirkwood_egiga: CONFIG_SKIP_LOCAL_MAC_RANDOMIZATION
[karo-tx-uboot.git] / common / cmd_nand.c
index 404ef9cf78849eae186a585bc224a118586f2655..ea80555ef89c778424ef707cc7c2a9c4c96e0797 100644 (file)
@@ -10,9 +10,6 @@
 
 #include <common.h>
 #include <linux/mtd/mtd.h>
-
-#if defined(CONFIG_CMD_NAND)
-
 #include <command.h>
 #include <watchdog.h>
 #include <malloc.h>
@@ -22,7 +19,7 @@
 
 #if defined(CONFIG_CMD_MTDPARTS)
 
-/* parition handling routines */
+/* partition handling routines */
 int mtdparts_init(void);
 int id_parse(const char *id, const char **ret_id, u8 *dev_type, u8 *dev_num);
 int find_dev_and_part(const char *id, struct mtd_device **dev,
@@ -93,7 +90,7 @@ static inline int str2long(char *p, ulong *num)
 }
 
 static int
-arg_off_size(int argc, char *argv[], nand_info_t *nand, ulong *off, size_t *size)
+arg_off_size(int argc, char * const argv[], nand_info_t *nand, ulong *off, size_t *size)
 {
        int idx = nand_curr_device;
 #if defined(CONFIG_CMD_MTDPARTS)
@@ -207,7 +204,7 @@ static void nand_print_info(int idx)
               nand->name, nand->erasesize >> 10);
 }
 
-int do_nand(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_nand(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
        int i, dev, ret = 0;
        ulong addr, off;
@@ -330,8 +327,14 @@ int do_nand(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
                             "are sure of what you are doing!\n"
                             "\nReally scrub this NAND flash? <y/N>\n");
 
-                       if (getc() == 'y' && getc() == '\r') {
-                               opts.scrub = 1;
+                       if (getc() == 'y') {
+                               puts("y");
+                               if (getc() == '\r')
+                                       opts.scrub = 1;
+                               else {
+                                       puts("scrub aborted\n");
+                                       return -1;
+                               }
                        } else {
                                puts("scrub aborted\n");
                                return -1;
@@ -596,7 +599,7 @@ static int nand_load_image(cmd_tbl_t *cmdtp, nand_info_t *nand,
        return 0;
 }
 
-int do_nandboot(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_nandboot(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
        char *boot_device = NULL;
        int idx;
@@ -678,4 +681,3 @@ U_BOOT_CMD(nboot, 4, 1, do_nandboot,
        "boot from NAND device",
        "[partition] | [[[loadAddr] dev] offset]"
 );
-#endif