colibri_imx6: fix video stdout in default environment
[oweals/u-boot.git] / cmd / read.c
index 6a1e1d9e2dd76aa857b3bd98243950c3a577f20c..34f53f9a292e58571cdd0efe3b2d9c93bdf5826e 100644 (file)
 #include <command.h>
 #include <part.h>
 
-int do_read(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+int do_read(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 {
        char *ep;
        struct blk_desc *dev_desc = NULL;
        int dev;
        int part = 0;
-       disk_partition_t part_info;
+       struct disk_partition part_info;
        ulong offset = 0u;
        ulong limit = 0u;
        void *addr;
@@ -39,7 +39,7 @@ int do_read(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
                part = (int)simple_strtoul(++ep, NULL, 16);
        }
 
-       dev_desc = get_dev(argv[1], dev);
+       dev_desc = blk_get_dev(argv[1], dev);
        if (dev_desc == NULL) {
                printf("Block device %s %d not supported\n", argv[1], dev);
                return 1;
@@ -50,7 +50,7 @@ int do_read(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
        cnt = simple_strtoul(argv[5], NULL, 16);
 
        if (part != 0) {
-               if (get_partition_info(dev_desc, part, &part_info)) {
+               if (part_get_info(dev_desc, part, &part_info)) {
                        printf("Cannot find partition %d\n", part);
                        return 1;
                }
@@ -66,7 +66,7 @@ int do_read(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
                return 1;
        }
 
-       if (dev_desc->block_read(dev_desc, offset + blk, cnt, addr) < 0) {
+       if (blk_dread(dev_desc, offset + blk, cnt, addr) != cnt) {
                printf("Error reading blocks\n");
                return 1;
        }