Re: [U-Boot] [PATCH v2 06/40] dm: ide: Adjust the 'ide' command to use blk_common_cmd()

2017-07-31 Thread Bin Meng
On Sun, Jul 30, 2017 at 1:34 AM, Simon Glass  wrote:
> Instead of having separate code in the 'ide' command, adjust it to use
> the common function.
>
> Signed-off-by: Simon Glass 
> ---
>
> Changes in v2: None
>
>  cmd/ide.c | 107 
> ++
>  1 file changed, 3 insertions(+), 104 deletions(-)
>

Reviewed-by: Bin Meng 
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH v2 06/40] dm: ide: Adjust the 'ide' command to use blk_common_cmd()

2017-07-29 Thread Simon Glass
Instead of having separate code in the 'ide' command, adjust it to use
the common function.

Signed-off-by: Simon Glass 
---

Changes in v2: None

 cmd/ide.c | 107 ++
 1 file changed, 3 insertions(+), 104 deletions(-)

diff --git a/cmd/ide.c b/cmd/ide.c
index 10fb2f95a7..e3c32420cf 100644
--- a/cmd/ide.c
+++ b/cmd/ide.c
@@ -34,116 +34,15 @@ static int curr_device = -1;
 
 int do_ide(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
 {
-   int rcode = 0;
-
-   switch (argc) {
-   case 0:
-   case 1:
-   return CMD_RET_USAGE;
-   case 2:
+   if (argc == 2) {
if (strncmp(argv[1], "res", 3) == 0) {
puts("\nReset IDE: ");
ide_init();
return 0;
-   } else if (strncmp(argv[1], "inf", 3) == 0) {
-   blk_list_devices(IF_TYPE_IDE);
-   return 0;
-
-   } else if (strncmp(argv[1], "dev", 3) == 0) {
-   if (blk_print_device_num(IF_TYPE_IDE, curr_device)) {
-   printf("\nno IDE devices available\n");
-   return CMD_RET_FAILURE;
-   }
-
-   return 0;
-   } else if (strncmp(argv[1], "part", 4) == 0) {
-   if (blk_list_part(IF_TYPE_IDE))
-   printf("\nno IDE devices available\n");
-   return 1;
}
-   return CMD_RET_USAGE;
-   case 3:
-   if (strncmp(argv[1], "dev", 3) == 0) {
-   int dev = (int)simple_strtoul(argv[2], NULL, 10);
-
-   if (!blk_show_device(IF_TYPE_IDE, dev)) {
-   curr_device = dev;
-   printf("... is now current device\n");
-   } else {
-   return CMD_RET_FAILURE;
-   }
-   return 0;
-   } else if (strncmp(argv[1], "part", 4) == 0) {
-   int dev = (int)simple_strtoul(argv[2], NULL, 10);
-
-   if (blk_print_part_devnum(IF_TYPE_IDE, dev)) {
-   printf("\nIDE device %d not available\n", dev);
-   return CMD_RET_FAILURE;
-   }
-   return 1;
-   }
-
-   return CMD_RET_USAGE;
-   default:
-   /* at least 4 args */
-
-   if (strcmp(argv[1], "read") == 0) {
-   ulong addr = simple_strtoul(argv[2], NULL, 16);
-   ulong cnt = simple_strtoul(argv[4], NULL, 16);
-   ulong n;
-
-#ifdef CONFIG_SYS_64BIT_LBA
-   lbaint_t blk = simple_strtoull(argv[3], NULL, 16);
-
-   printf("\nIDE read: device %d block # %lld, count 
%ld...",
-  curr_device, blk, cnt);
-#else
-   lbaint_t blk = simple_strtoul(argv[3], NULL, 16);
-
-   printf("\nIDE read: device %d block # %ld, count 
%ld...",
-  curr_device, blk, cnt);
-#endif
-
-   n = blk_read_devnum(IF_TYPE_IDE, curr_device, blk, cnt,
-   (ulong *)addr);
-
-   printf("%ld blocks read: %s\n",
-  n, (n == cnt) ? "OK" : "ERROR");
-   if (n == cnt)
-   return 0;
-   else
-   return 1;
-   } else if (strcmp(argv[1], "write") == 0) {
-   ulong addr = simple_strtoul(argv[2], NULL, 16);
-   ulong cnt = simple_strtoul(argv[4], NULL, 16);
-   ulong n;
-
-#ifdef CONFIG_SYS_64BIT_LBA
-   lbaint_t blk = simple_strtoull(argv[3], NULL, 16);
-
-   printf("\nIDE write: device %d block # %lld, count 
%ld...",
-  curr_device, blk, cnt);
-#else
-   lbaint_t blk = simple_strtoul(argv[3], NULL, 16);
-
-   printf("\nIDE write: device %d block # %ld, count 
%ld...",
-  curr_device, blk, cnt);
-#endif
-   n = blk_write_devnum(IF_TYPE_IDE, curr_device, blk, cnt,
-(ulong *)addr);
-
-   printf("%ld blocks written: %s\n", n,
-  n == cnt ? "OK" : "ERROR");
-   if (n == cnt)
-   return 0;
-   else
-   return 1;
-   } else {
-   return CMD_RET_USAGE;
-   }
-
-   return rcode;