projects
/
oweals
/
u-boot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
omap5_common.h: Switch to ext4
[oweals/u-boot.git]
/
common
/
cmd_mmc.c
diff --git
a/common/cmd_mmc.c
b/common/cmd_mmc.c
index 79a1088f3bbaf935868533a684bdd2fe660e780d..8c53a10315ecec188d75d87c15b67a1971e59aa7 100644
(file)
--- a/
common/cmd_mmc.c
+++ b/
common/cmd_mmc.c
@@
-115,7
+115,7
@@
static void print_mmcinfo(struct mmc *mmc)
printf("Bus Width: %d-bit\n", mmc->bus_width);
}
printf("Bus Width: %d-bit\n", mmc->bus_width);
}
-
int do_mmcinfo
(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+
static int do_mmcinfo
(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
struct mmc *mmc;
{
struct mmc *mmc;
@@
-144,10
+144,10
@@
int do_mmcinfo (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
U_BOOT_CMD(
mmcinfo, 1, 0, do_mmcinfo,
"display MMC info",
U_BOOT_CMD(
mmcinfo, 1, 0, do_mmcinfo,
"display MMC info",
- "- dislay info of the current MMC device"
+ "- dis
p
lay info of the current MMC device"
);
);
-int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+
static
int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
enum mmc_state state;
{
enum mmc_state state;
@@
-250,14
+250,13
@@
int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
return 0;
}
return 0;
}
- if (strcmp(argv[1], "read") == 0)
+ state = MMC_INVALID;
+ if (argc == 5 && strcmp(argv[1], "read") == 0)
state = MMC_READ;
state = MMC_READ;
- else if (strcmp(argv[1], "write") == 0)
+ else if (
argc == 5 &&
strcmp(argv[1], "write") == 0)
state = MMC_WRITE;
state = MMC_WRITE;
- else if (strcmp(argv[1], "erase") == 0)
+ else if (
argc == 4 &&
strcmp(argv[1], "erase") == 0)
state = MMC_ERASE;
state = MMC_ERASE;
- else
- state = MMC_INVALID;
if (state != MMC_INVALID) {
struct mmc *mmc = find_mmc_device(curr_device);
if (state != MMC_INVALID) {
struct mmc *mmc = find_mmc_device(curr_device);
@@
-269,7
+268,7
@@
int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
addr = (void *)simple_strtoul(argv[idx], NULL, 16);
++idx;
} else
addr = (void *)simple_strtoul(argv[idx], NULL, 16);
++idx;
} else
- addr =
0
;
+ addr =
NULL
;
blk = simple_strtoul(argv[idx], NULL, 16);
cnt = simple_strtoul(argv[idx + 1], NULL, 16);
blk = simple_strtoul(argv[idx], NULL, 16);
cnt = simple_strtoul(argv[idx + 1], NULL, 16);
@@
-283,6
+282,13
@@
int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
mmc_init(mmc);
mmc_init(mmc);
+ if ((state == MMC_WRITE || state == MMC_ERASE)) {
+ if (mmc_getwp(mmc) == 1) {
+ printf("Error: card is write protected!\n");
+ return 1;
+ }
+ }
+
switch (state) {
case MMC_READ:
n = mmc->block_dev.block_read(curr_device, blk,
switch (state) {
case MMC_READ:
n = mmc->block_dev.block_read(curr_device, blk,