summaryrefslogtreecommitdiffstats
path: root/common/cmd_sf.c
diff options
context:
space:
mode:
authorJagannadha Sutradharudu Teki <jaganna@xilinx.com>2013-05-26 14:52:52 +0530
committerJagannadha Sutradharudu Teki <jaganna@xilinx.com>2013-06-03 00:04:41 +0530
commit60b6614ac8d189b8e31b9a7564fe5babb374bffa (patch)
tree016d8cfd422980953e3322fe5cc60cc7cfd45f07 /common/cmd_sf.c
parent96bbf55651fc2bedc175830d22179e384d640d99 (diff)
downloadtalos-obmc-uboot-60b6614ac8d189b8e31b9a7564fe5babb374bffa.tar.gz
talos-obmc-uboot-60b6614ac8d189b8e31b9a7564fe5babb374bffa.zip
cmd_sf: Add print mesgs on sf read/write commands
This patch adds a print messages while using 'sf read' and 'sf write' commands to make sure that how many bytes read/written from/into flash device. Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com> Acked-by: Tom Rini <trini@ti.com>
Diffstat (limited to 'common/cmd_sf.c')
-rw-r--r--common/cmd_sf.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/common/cmd_sf.c b/common/cmd_sf.c
index 7f12a49484..19b0dc9f43 100644
--- a/common/cmd_sf.c
+++ b/common/cmd_sf.c
@@ -234,7 +234,7 @@ static int do_spi_flash_read_write(int argc, char * const argv[])
unsigned long len;
void *buf;
char *endp;
- int ret;
+ int ret = 1;
if (argc < 4)
return -1;
@@ -264,19 +264,23 @@ static int do_spi_flash_read_write(int argc, char * const argv[])
if (strcmp(argv[0], "update") == 0)
ret = spi_flash_update(flash, offset, len, buf);
- else if (strcmp(argv[0], "read") == 0)
- ret = spi_flash_read(flash, offset, len, buf);
- else
- ret = spi_flash_write(flash, offset, len, buf);
+ else if (strncmp(argv[0], "read", 4) == 0 ||
+ strncmp(argv[0], "write", 5) == 0) {
+ int read;
+
+ read = strncmp(argv[0], "read", 4) == 0;
+ if (read)
+ ret = spi_flash_read(flash, offset, len, buf);
+ else
+ ret = spi_flash_write(flash, offset, len, buf);
+
+ printf("SF: %zu bytes @ %#x %s: %s\n", (size_t)len, (u32)offset,
+ read ? "Read" : "Written", ret ? "ERROR" : "OK");
+ }
unmap_physmem(buf, len);
- if (ret) {
- printf("SPI flash %s failed\n", argv[0]);
- return 1;
- }
-
- return 0;
+ return ret == 0 ? 0 : 1;
}
static int do_spi_flash_erase(int argc, char * const argv[])
OpenPOWER on IntegriCloud