]> git.sur5r.net Git - openocd/blobdiff - src/jtag/amt_jtagaccel.c
Improve handle_runtest_command:
[openocd] / src / jtag / amt_jtagaccel.c
index 4071c25c984f285ba67e6dce74f0000327267c85..c7524cc12c09d0254be33665961d95fbd0ffb3e9 100644 (file)
@@ -500,6 +500,7 @@ static int amt_jtagaccel_init(void)
 
        amt_jtagaccel_speed(jtag_get_speed());
 
+       enum reset_types jtag_reset_config = jtag_get_reset_config();
        if (jtag_reset_config & RESET_TRST_OPEN_DRAIN)
                aw_control_rst &= ~0x8;
        else
@@ -525,14 +526,26 @@ static int amt_jtagaccel_quit(void)
        return ERROR_OK;
 }
 
-static int amt_jtagaccel_handle_parport_port_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+static int amt_jtagaccel_handle_parport_port_command(
+               struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
 {
-       if (argc == 0)
-               return ERROR_OK;
+       if (argc == 1)
+       {
+               /* only if the port wasn't overwritten by cmdline */
+               if (amt_jtagaccel_port == 0)
+               {
+                       int retval = parse_u16(args[0], &amt_jtagaccel_port);
+                       if (ERROR_OK != retval)
+                               return retval;
+               }
+               else
+               {
+                       LOG_ERROR("The parport port was already configured!");
+                       return ERROR_FAIL;
+               }
+       }
 
-       /* only if the port wasn't overwritten by cmdline */
-       if (amt_jtagaccel_port == 0)
-               amt_jtagaccel_port = strtoul(args[0], NULL, 0);
+       command_print(cmd_ctx, "parport port = %u", amt_jtagaccel_port);
 
        return ERROR_OK;
 }