projects
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
package/mtd: (enhancement) add option to prevent erase when writing to flash. (closes...
[openwrt.git]
/
package
/
mtd
/
src
/
mtd.c
diff --git
a/package/mtd/src/mtd.c
b/package/mtd/src/mtd.c
index
b2d760e
..
e4b6c79
100644
(file)
--- a/
package/mtd/src/mtd.c
+++ b/
package/mtd/src/mtd.c
@@
-74,6
+74,7
@@
static char *imagefile = NULL;
static char *jffs2file = NULL, *jffs2dir = JFFS2_DEFAULT_DIR;
static int buflen = 0;
int quiet;
static char *jffs2file = NULL, *jffs2dir = JFFS2_DEFAULT_DIR;
static int buflen = 0;
int quiet;
+int no_erase;
int mtdsize = 0;
int erasesize = 0;
int mtdsize = 0;
int erasesize = 0;
@@
-518,6
+519,8
@@
resume:
}
/* need to erase the next block before writing data to it */
}
/* need to erase the next block before writing data to it */
+ if(no_erase)
+ {
while (w + buflen > e) {
if (!quiet)
fprintf(stderr, "\b\b\b[e]");
while (w + buflen > e) {
if (!quiet)
fprintf(stderr, "\b\b\b[e]");
@@
-544,6
+547,7
@@
resume:
/* erase the chunk */
e += erasesize;
}
/* erase the chunk */
e += erasesize;
}
+ }
if (!quiet)
fprintf(stderr, "\b\b\b[w]");
if (!quiet)
fprintf(stderr, "\b\b\b[w]");
@@
-595,6
+599,7
@@
static void usage(void)
"Following options are available:\n"
" -q quiet mode (once: no [w] on writing,\n"
" twice: no status messages)\n"
"Following options are available:\n"
" -q quiet mode (once: no [w] on writing,\n"
" twice: no status messages)\n"
+ " -n write without first erasing the blocks\n"
" -r reboot after successful command\n"
" -f force write without trx checks\n"
" -e <device> erase <device> before executing the command\n"
" -r reboot after successful command\n"
" -f force write without trx checks\n"
" -e <device> erase <device> before executing the command\n"
@@
-646,12
+651,13
@@
int main (int argc, char **argv)
force = 0;
buflen = 0;
quiet = 0;
force = 0;
buflen = 0;
quiet = 0;
+ no_erase = 0;
while ((ch = getopt(argc, argv,
#ifdef FIS_SUPPORT
"F:"
#endif
while ((ch = getopt(argc, argv,
#ifdef FIS_SUPPORT
"F:"
#endif
- "frqe:d:j:o:")) != -1)
+ "fr
n
qe:d:j:o:")) != -1)
switch (ch) {
case 'f':
force = 1;
switch (ch) {
case 'f':
force = 1;
@@
-659,6
+665,9
@@
int main (int argc, char **argv)
case 'r':
boot = 1;
break;
case 'r':
boot = 1;
break;
+ case 'n':
+ no_erase = 1;
+ break;
case 'j':
jffs2file = optarg;
break;
case 'j':
jffs2file = optarg;
break;
This page took
0.025031 seconds
and
4
git commands to generate.