]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - common/cmd_flash.c
driver/serial: delete at91rm9200_usart
[karo-tx-uboot.git] / common / cmd_flash.c
index 6361c4ef9bfdf24a60dae5daf428d2d66708b2ec..bd49b796c64dbd361c4c4c08787665d6298e84d7 100644 (file)
@@ -31,7 +31,7 @@
 #include <dataflash.h>
 #endif
 
-#if defined(CONFIG_CMD_JFFS2) && defined(CONFIG_CMD_MTDPARTS)
+#if defined(CONFIG_CMD_MTDPARTS)
 #include <jffs2/jffs2.h>
 
 /* partition handling routines */
@@ -42,6 +42,8 @@ int find_dev_and_part(const char *id, struct mtd_device **dev,
 #endif
 
 #ifndef CONFIG_SYS_NO_FLASH
+#include <flash.h>
+#include <mtd/cfi_flash.h>
 extern flash_info_t flash_info[];      /* info for FLASH chips */
 
 /*
@@ -287,7 +289,7 @@ flash_fill_sect_ranges (ulong addr_first, ulong addr_last,
 }
 #endif /* CONFIG_SYS_NO_FLASH */
 
-int do_flinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_flinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 #ifndef CONFIG_SYS_NO_FLASH
        ulong bank;
@@ -319,23 +321,21 @@ int do_flinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
        return 0;
 }
 
-int do_flerase (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_flerase (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 #ifndef CONFIG_SYS_NO_FLASH
        flash_info_t *info;
        ulong bank, addr_first, addr_last;
        int n, sect_first, sect_last;
-#if defined(CONFIG_CMD_JFFS2) && defined(CONFIG_CMD_MTDPARTS)
+#if defined(CONFIG_CMD_MTDPARTS)
        struct mtd_device *dev;
        struct part_info *part;
        u8 dev_type, dev_num, pnum;
 #endif
        int rcode = 0;
 
-       if (argc < 2) {
-               cmd_usage(cmdtp);
-               return 1;
-       }
+       if (argc < 2)
+               return cmd_usage(cmdtp);
 
        if (strcmp(argv[1], "all") == 0) {
                for (bank=1; bank<=CONFIG_SYS_MAX_FLASH_BANKS; ++bank) {
@@ -357,7 +357,7 @@ int do_flerase (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
                return rcode;
        }
 
-#if defined(CONFIG_CMD_JFFS2) && defined(CONFIG_CMD_MTDPARTS)
+#if defined(CONFIG_CMD_MTDPARTS)
        /* erase <part-id> - erase partition */
        if ((argc == 2) && (mtd_id_parse(argv[1], NULL, &dev_type, &dev_num) == 0)) {
                mtdparts_init();
@@ -383,10 +383,8 @@ int do_flerase (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
        }
 #endif
 
-       if (argc != 3) {
-               cmd_usage(cmdtp);
-               return 1;
-       }
+       if (argc != 3)
+               return cmd_usage(cmdtp);
 
        if (strcmp(argv[1], "bank") == 0) {
                bank = simple_strtoul(argv[2], NULL, 16);
@@ -406,10 +404,8 @@ int do_flerase (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
                return 1;
        }
 
-       if (addr_first >= addr_last) {
-               cmd_usage(cmdtp);
-               return 1;
-       }
+       if (addr_first >= addr_last)
+               return cmd_usage(cmdtp);
 
        rcode = flash_sect_erase(addr_first, addr_last);
        return rcode;
@@ -423,11 +419,7 @@ int flash_sect_erase (ulong addr_first, ulong addr_last)
 {
        flash_info_t *info;
        ulong bank;
-#ifdef CONFIG_SYS_MAX_FLASH_BANKS_DETECT
-       int s_first[CONFIG_SYS_MAX_FLASH_BANKS_DETECT], s_last[CONFIG_SYS_MAX_FLASH_BANKS_DETECT];
-#else
        int s_first[CONFIG_SYS_MAX_FLASH_BANKS], s_last[CONFIG_SYS_MAX_FLASH_BANKS];
-#endif
        int erased = 0;
        int planned;
        int rcode = 0;
@@ -461,40 +453,36 @@ int flash_sect_erase (ulong addr_first, ulong addr_last)
 }
 #endif /* CONFIG_SYS_NO_FLASH */
 
-int do_protect (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_protect (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 #ifndef CONFIG_SYS_NO_FLASH
        flash_info_t *info;
        ulong bank;
        int i, n, sect_first, sect_last;
-#endif /* CONFIG_SYS_NO_FLASH */
-#if !defined(CONFIG_SYS_NO_FLASH) || defined(CONFIG_HAS_DATAFLASH)
-       ulong addr_first, addr_last;
-#endif
-#if defined(CONFIG_CMD_JFFS2) && defined(CONFIG_CMD_MTDPARTS)
+#if defined(CONFIG_CMD_MTDPARTS)
        struct mtd_device *dev;
        struct part_info *part;
        u8 dev_type, dev_num, pnum;
 #endif
+#endif /* CONFIG_SYS_NO_FLASH */
+#if !defined(CONFIG_SYS_NO_FLASH) || defined(CONFIG_HAS_DATAFLASH)
+       ulong addr_first, addr_last;
+#endif
 #ifdef CONFIG_HAS_DATAFLASH
        int status;
 #endif
        int p;
        int rcode = 0;
 
-       if (argc < 3) {
-               cmd_usage(cmdtp);
-               return 1;
-       }
+       if (argc < 3)
+               return cmd_usage(cmdtp);
 
-       if (strcmp(argv[1], "off") == 0) {
+       if (strcmp(argv[1], "off") == 0)
                p = 0;
-       } else if (strcmp(argv[1], "on") == 0) {
+       else if (strcmp(argv[1], "on") == 0)
                p = 1;
-       } else {
-               cmd_usage(cmdtp);
-               return 1;
-       }
+       else
+               return cmd_usage(cmdtp);
 
 #ifdef CONFIG_HAS_DATAFLASH
        if ((strcmp(argv[2], "all") != 0) && (strcmp(argv[2], "bank") != 0)) {
@@ -565,7 +553,7 @@ int do_protect (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
                return rcode;
        }
 
-#if defined(CONFIG_CMD_JFFS2) && defined(CONFIG_CMD_MTDPARTS)
+#if defined(CONFIG_CMD_MTDPARTS)
        /* protect on/off <part-id> */
        if ((argc == 3) && (mtd_id_parse(argv[2], NULL, &dev_type, &dev_num) == 0)) {
                mtdparts_init();
@@ -592,10 +580,8 @@ int do_protect (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
        }
 #endif
 
-       if (argc != 4) {
-               cmd_usage(cmdtp);
-               return 1;
-       }
+       if (argc != 4)
+               return cmd_usage(cmdtp);
 
        if (strcmp(argv[2], "bank") == 0) {
                bank = simple_strtoul(argv[3], NULL, 16);
@@ -634,10 +620,9 @@ int do_protect (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
                return 1;
        }
 
-       if (addr_first >= addr_last) {
-               cmd_usage(cmdtp);
-               return 1;
-       }
+       if (addr_first >= addr_last)
+               return cmd_usage(cmdtp);
+
        rcode = flash_sect_protect (p, addr_first, addr_last);
 #endif /* CONFIG_SYS_NO_FLASH */
        return rcode;
@@ -648,11 +633,7 @@ int flash_sect_protect (int p, ulong addr_first, ulong addr_last)
 {
        flash_info_t *info;
        ulong bank;
-#ifdef CONFIG_SYS_MAX_FLASH_BANKS_DETECT
-       int s_first[CONFIG_SYS_MAX_FLASH_BANKS_DETECT], s_last[CONFIG_SYS_MAX_FLASH_BANKS_DETECT];
-#else
        int s_first[CONFIG_SYS_MAX_FLASH_BANKS], s_last[CONFIG_SYS_MAX_FLASH_BANKS];
-#endif
        int protected, i;
        int planned;
        int rcode;
@@ -700,7 +681,7 @@ int flash_sect_protect (int p, ulong addr_first, ulong addr_last)
 
 
 /**************************************************/
-#if defined(CONFIG_CMD_JFFS2) && defined(CONFIG_CMD_MTDPARTS)
+#if defined(CONFIG_CMD_MTDPARTS)
 # define TMP_ERASE     "erase <part-id>\n    - erase partition\n"
 # define TMP_PROT_ON   "protect on <part-id>\n    - protect partition\n"
 # define TMP_PROT_OFF  "protect off <part-id>\n    - make partition writable\n"