diff mbox series

[U-Boot,v2,08/17] cmd: fpga: Clean wrong_parms handling

Message ID cc598d16003d5e222a8b80f2fc7e6eacbc2a993a.1533728254.git.michal.simek@xilinx.com
State Accepted
Delegated to: Michal Simek
Headers show
Series cmd: fpga: Fix fpga command handling and add some fpga tests | expand

Commit Message

Michal Simek Aug. 8, 2018, 11:37 a.m. UTC
There is no reason to check parameters in separate switch. Check them
directly when they are read. Also there is no reason to check loadmk
case separately because fpga_data address must be non zero too.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
---

Changes in v2: None
Changes in v1: None

 cmd/fpga.c | 35 ++++++++---------------------------
 1 file changed, 8 insertions(+), 27 deletions(-)
diff mbox series

Patch

diff --git a/cmd/fpga.c b/cmd/fpga.c
index b03dd9dc0ace..0e5f4117c02e 100644
--- a/cmd/fpga.c
+++ b/cmd/fpga.c
@@ -83,7 +83,6 @@  int do_fpga(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
 	char *devstr = env_get("fpga");
 	char *datastr = env_get("fpgadata");
 	int rc = FPGA_FAIL;
-	int wrong_parms = 0;
 #if defined(CONFIG_FIT)
 	const char *fit_uname = NULL;
 	ulong fit_addr;
@@ -160,7 +159,10 @@  int do_fpga(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
 	switch (argc) {
 	case 5:		/* fpga <op> <dev> <data> <datasize> */
 		data_size = simple_strtoul(argv[4], NULL, 16);
-
+		if (!data_size) {
+			puts("Zero data_size\n");
+			return CMD_RET_USAGE;
+		}
 	case 4:		/* fpga <op> <dev> <data> */
 #if defined(CONFIG_FIT)
 		if (fit_parse_subimage(argv[3], (ulong)fpga_data,
@@ -177,7 +179,10 @@  int do_fpga(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
 			      (ulong)fpga_data);
 		}
 		debug("%s: fpga_data = 0x%lx\n", __func__, (ulong)fpga_data);
-
+		if (!fpga_data) {
+			puts("Zero fpga_data address\n");
+			return CMD_RET_USAGE;
+		}
 	case 3:		/* fpga <op> <dev | data addr> */
 		dev = (int)simple_strtoul(argv[2], NULL, 16);
 		debug("%s: device = %d\n", __func__, dev);
@@ -190,30 +195,6 @@  int do_fpga(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
 
 	switch (op) {
 	case FPGA_INFO:
-		break;
-	case FPGA_LOAD:
-	case FPGA_LOADP:
-	case FPGA_LOADB:
-	case FPGA_LOADBP:
-	case FPGA_DUMP:
-		if (!fpga_data || !data_size)
-			wrong_parms = 1;
-		break;
-#if defined(CONFIG_CMD_FPGA_LOADMK)
-	case FPGA_LOADMK:
-		if (!fpga_data)
-			wrong_parms = 1;
-		break;
-#endif
-	}
-
-	if (wrong_parms) {
-		puts("Wrong parameters for FPGA request\n");
-		return CMD_RET_USAGE;
-	}
-
-	switch (op) {
-	case FPGA_INFO:
 		rc = fpga_info(dev);
 		break;