rockchip: rk3328: add rock-pi-e dts file
[oweals/u-boot.git] / cmd / bcb.c
index 2bd5a744deb55a7b6f83c0dcc5dde57d48ba60ca..e03218066bf22794342a1daa827b5fd80623beb3 100644 (file)
--- a/cmd/bcb.c
+++ b/cmd/bcb.c
@@ -8,6 +8,8 @@
 #include <android_bootloader_message.h>
 #include <command.h>
 #include <common.h>
+#include <log.h>
+#include <part.h>
 
 enum bcb_cmd {
        BCB_CMD_LOAD,
@@ -24,17 +26,17 @@ static struct bootloader_message bcb = { { 0 } };
 
 static int bcb_cmd_get(char *cmd)
 {
-       if (!strncmp(cmd, "load", sizeof("load")))
+       if (!strcmp(cmd, "load"))
                return BCB_CMD_LOAD;
-       if (!strncmp(cmd, "set", sizeof("set")))
+       if (!strcmp(cmd, "set"))
                return BCB_CMD_FIELD_SET;
-       if (!strncmp(cmd, "clear", sizeof("clear")))
+       if (!strcmp(cmd, "clear"))
                return BCB_CMD_FIELD_CLEAR;
-       if (!strncmp(cmd, "test", sizeof("test")))
+       if (!strcmp(cmd, "test"))
                return BCB_CMD_FIELD_TEST;
-       if (!strncmp(cmd, "store", sizeof("store")))
+       if (!strcmp(cmd, "store"))
                return BCB_CMD_STORE;
-       if (!strncmp(cmd, "dump", sizeof("dump")))
+       if (!strcmp(cmd, "dump"))
                return BCB_CMD_FIELD_DUMP;
        else
                return -1;
@@ -46,9 +48,6 @@ static int bcb_is_misused(int argc, char *const argv[])
 
        switch (cmd) {
        case BCB_CMD_LOAD:
-               if (argc != 3)
-                       goto err;
-               break;
        case BCB_CMD_FIELD_SET:
                if (argc != 3)
                        goto err;
@@ -86,23 +85,23 @@ err:
        return -1;
 }
 
-static int bcb_field_get(char *name, char **field, int *size)
+static int bcb_field_get(char *name, char **fieldp, int *sizep)
 {
-       if (!strncmp(name, "command", sizeof("command"))) {
-               *field = bcb.command;
-               *size = sizeof(bcb.command);
-       } else if (!strncmp(name, "status", sizeof("status"))) {
-               *field = bcb.status;
-               *size = sizeof(bcb.status);
-       } else if (!strncmp(name, "recovery", sizeof("recovery"))) {
-               *field = bcb.recovery;
-               *size = sizeof(bcb.recovery);
-       } else if (!strncmp(name, "stage", sizeof("stage"))) {
-               *field = bcb.stage;
-               *size = sizeof(bcb.stage);
-       } else if (!strncmp(name, "reserved", sizeof("reserved"))) {
-               *field = bcb.reserved;
-               *size = sizeof(bcb.reserved);
+       if (!strcmp(name, "command")) {
+               *fieldp = bcb.command;
+               *sizep = sizeof(bcb.command);
+       } else if (!strcmp(name, "status")) {
+               *fieldp = bcb.status;
+               *sizep = sizeof(bcb.status);
+       } else if (!strcmp(name, "recovery")) {
+               *fieldp = bcb.recovery;
+               *sizep = sizeof(bcb.recovery);
+       } else if (!strcmp(name, "stage")) {
+               *fieldp = bcb.stage;
+               *sizep = sizeof(bcb.stage);
+       } else if (!strcmp(name, "reserved")) {
+               *fieldp = bcb.reserved;
+               *sizep = sizeof(bcb.reserved);
        } else {
                printf("Error: Unknown bcb field '%s'\n", name);
                return -1;
@@ -111,39 +110,39 @@ static int bcb_field_get(char *name, char **field, int *size)
        return 0;
 }
 
-static int
-do_bcb_load(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+static int do_bcb_load(struct cmd_tbl *cmdtp, int flag, int argc,
+                      char *const argv[])
 {
        struct blk_desc *desc;
-       disk_partition_t info;
+       struct disk_partition info;
        u64 cnt;
        char *endp;
        int part, ret;
 
        ret = blk_get_device_by_str("mmc", argv[1], &desc);
        if (ret < 0)
-               goto err_1;
+               goto err_read_fail;
 
        part = simple_strtoul(argv[2], &endp, 0);
        if (*endp == '\0') {
                ret = part_get_info(desc, part, &info);
                if (ret)
-                       goto err_1;
+                       goto err_read_fail;
        } else {
                part = part_get_info_by_name(desc, argv[2], &info);
                if (part < 0) {
                        ret = part;
-                       goto err_1;
+                       goto err_read_fail;
                }
        }
 
        cnt = DIV_ROUND_UP(sizeof(struct bootloader_message), info.blksz);
        if (cnt > info.size)
-               goto err_2;
+               goto err_too_small;
 
        if (blk_dread(desc, info.start, cnt, &bcb) != cnt) {
                ret = -EIO;
-               goto err_1;
+               goto err_read_fail;
        }
 
        bcb_dev = desc->devnum;
@@ -151,10 +150,10 @@ do_bcb_load(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
        debug("%s: Loaded from mmc %d:%d\n", __func__, bcb_dev, bcb_part);
 
        return CMD_RET_SUCCESS;
-err_1:
+err_read_fail:
        printf("Error: mmc %s:%s read failed (%d)\n", argv[1], argv[2], ret);
        goto err;
-err_2:
+err_too_small:
        printf("Error: mmc %s:%s too small!", argv[1], argv[2]);
        goto err;
 err:
@@ -164,8 +163,8 @@ err:
        return CMD_RET_FAILURE;
 }
 
-static int do_bcb_set(cmd_tbl_t *cmdtp, int flag, int argc,
-                     char * const argv[])
+static int do_bcb_set(struct cmd_tbl *cmdtp, int flag, int argc,
+                     char *const argv[])
 {
        int size, len;
        char *field, *str, *found;
@@ -191,8 +190,8 @@ static int do_bcb_set(cmd_tbl_t *cmdtp, int flag, int argc,
        return CMD_RET_SUCCESS;
 }
 
-static int do_bcb_clear(cmd_tbl_t *cmdtp, int flag, int argc,
-                       char * const argv[])
+static int do_bcb_clear(struct cmd_tbl *cmdtp, int flag, int argc,
+                       char *const argv[])
 {
        int size;
        char *field;
@@ -210,8 +209,8 @@ static int do_bcb_clear(cmd_tbl_t *cmdtp, int flag, int argc,
        return CMD_RET_SUCCESS;
 }
 
-static int do_bcb_test(cmd_tbl_t *cmdtp, int flag, int argc,
-                      char * const argv[])
+static int do_bcb_test(struct cmd_tbl *cmdtp, int flag, int argc,
+                      char *const argv[])
 {
        int size;
        char *field;
@@ -237,8 +236,8 @@ static int do_bcb_test(cmd_tbl_t *cmdtp, int flag, int argc,
        return CMD_RET_FAILURE;
 }
 
-static int do_bcb_dump(cmd_tbl_t *cmdtp, int flag, int argc,
-                      char * const argv[])
+static int do_bcb_dump(struct cmd_tbl *cmdtp, int flag, int argc,
+                      char *const argv[])
 {
        int size;
        char *field;
@@ -251,11 +250,11 @@ static int do_bcb_dump(cmd_tbl_t *cmdtp, int flag, int argc,
        return CMD_RET_SUCCESS;
 }
 
-static int do_bcb_store(cmd_tbl_t *cmdtp, int flag, int argc,
-                       char * const argv[])
+static int do_bcb_store(struct cmd_tbl *cmdtp, int flag, int argc,
+                       char *const argv[])
 {
        struct blk_desc *desc;
-       disk_partition_t info;
+       struct disk_partition info;
        u64 cnt;
        int ret;
 
@@ -283,7 +282,7 @@ err:
        return CMD_RET_FAILURE;
 }
 
-static cmd_tbl_t cmd_bcb_sub[] = {
+static struct cmd_tbl cmd_bcb_sub[] = {
        U_BOOT_CMD_MKENT(load, CONFIG_SYS_MAXARGS, 1, do_bcb_load, "", ""),
        U_BOOT_CMD_MKENT(set, CONFIG_SYS_MAXARGS, 1, do_bcb_set, "", ""),
        U_BOOT_CMD_MKENT(clear, CONFIG_SYS_MAXARGS, 1, do_bcb_clear, "", ""),
@@ -292,9 +291,9 @@ static cmd_tbl_t cmd_bcb_sub[] = {
        U_BOOT_CMD_MKENT(store, CONFIG_SYS_MAXARGS, 1, do_bcb_store, "", ""),
 };
 
-static int do_bcb(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
+static int do_bcb(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 {
-       cmd_tbl_t *c;
+       struct cmd_tbl *c;
 
        if (argc < 2)
                return CMD_RET_USAGE;
@@ -307,7 +306,8 @@ static int do_bcb(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
                return CMD_RET_USAGE;
 
        if (bcb_is_misused(argc, argv)) {
-               /* We try to improve the user experience by reporting the
+               /*
+                * We try to improve the user experience by reporting the
                 * root-cause of misusage, so don't return CMD_RET_USAGE,
                 * since the latter prints out the full-blown help text
                 */