summaryrefslogtreecommitdiff
path: root/cmd/fpga.c
diff options
context:
space:
mode:
authorMichal Simek <michal.simek@xilinx.com>2018-05-30 11:18:38 +0200
committerMichal Simek <michal.simek@xilinx.com>2018-09-11 10:58:41 +0200
commit44d839bd5f3c7508c50fc083a48425188022d958 (patch)
tree3b184938340d3abf85d217741b98aa2da32f5b52 /cmd/fpga.c
parentccd65203275f74b5bb6fa8c7920627493c28e65f (diff)
cmd: fpga: Move parameter checking for loadfs/loads
There is no reason to check parameters in separate switch before main one. This patch is simplifying error path and checking parameters right after assignment. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'cmd/fpga.c')
-rw-r--r--cmd/fpga.c44
1 files changed, 21 insertions, 23 deletions
diff --git a/cmd/fpga.c b/cmd/fpga.c
index af2f514dca..48902286f1 100644
--- a/cmd/fpga.c
+++ b/cmd/fpga.c
@@ -123,6 +123,14 @@ int do_fpga(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
fpga_fsinfo.interface = argv[6];
fpga_fsinfo.dev_part = argv[7];
fpga_fsinfo.filename = argv[8];
+
+ /* Blocksize can be zero */
+ if (!fpga_fsinfo.interface || !fpga_fsinfo.dev_part ||
+ !fpga_fsinfo.filename) {
+ puts("ERR: Wrong interface, dev_part or filename\n");
+ return CMD_RET_USAGE;
+ }
+
argc = 5;
break;
#endif
@@ -136,6 +144,19 @@ int do_fpga(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
NULL, 16);
fpga_sec_info.encflag = (u8)simple_strtoul(argv[6], NULL, 16);
fpga_sec_info.authflag = (u8)simple_strtoul(argv[5], NULL, 16);
+
+ if (fpga_sec_info.authflag >= FPGA_NO_ENC_OR_NO_AUTH &&
+ fpga_sec_info.encflag >= FPGA_NO_ENC_OR_NO_AUTH) {
+ puts("ERR: Use <fpga load> for NonSecure bitstream\n");
+ return CMD_RET_USAGE;
+ }
+
+ if (fpga_sec_info.encflag == FPGA_ENC_USR_KEY &&
+ !fpga_sec_info.userkey_addr) {
+ puts("ERR: User key not provided\n");
+ return CMD_RET_USAGE;
+ }
+
argc = 5;
break;
#endif
@@ -177,29 +198,6 @@ int do_fpga(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
switch (op) {
case FPGA_INFO:
break;
-#if defined(CONFIG_CMD_FPGA_LOADFS)
- case FPGA_LOADFS:
- /* Blocksize can be zero */
- if (!fpga_fsinfo.interface || !fpga_fsinfo.dev_part ||
- !fpga_fsinfo.filename)
- wrong_parms = 1;
- break;
-#endif
-#if defined(CONFIG_CMD_FPGA_LOAD_SECURE)
- case FPGA_LOADS:
- if (fpga_sec_info.authflag >= FPGA_NO_ENC_OR_NO_AUTH &&
- fpga_sec_info.encflag >= FPGA_NO_ENC_OR_NO_AUTH) {
- puts("ERR: use <fpga load> for NonSecure bitstream\n");
- wrong_parms = 1;
- }
-
- if (fpga_sec_info.encflag == FPGA_ENC_USR_KEY &&
- !fpga_sec_info.userkey_addr) {
- wrong_parms = 1;
- puts("ERR:User key not provided\n");
- }
- break;
-#endif
case FPGA_LOAD:
case FPGA_LOADP:
case FPGA_LOADB: