move container_of to types.h
[fw/openocd] / src / jtag / amt_jtagaccel.c
index c8fcc54f93032191b110a4d62af9166147156dc5..3fb77f8eb0d0766c56279010cdf6041d43a5c7a9 100644 (file)
@@ -72,15 +72,6 @@ static int data_mode = IEEE1284_MODE_EPP | IEEE1284_DATA ;
 
 #endif // PARPORT_USE_PPDEV
 
-static int amt_jtagaccel_execute_queue(void);
-static int amt_jtagaccel_register_commands(struct command_context_s *cmd_ctx);
-static int amt_jtagaccel_speed(int speed);
-static int amt_jtagaccel_init(void);
-static int amt_jtagaccel_quit(void);
-
-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_rtck_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
-
 /* tap_move[i][j]: tap movement command to go from state i to state j
  * 0: Test-Logic-Reset
  * 1: Run-Test/Idle
@@ -101,28 +92,6 @@ static uint8_t amt_jtagaccel_tap_move[6][6][2] =
 };
 
 
-jtag_interface_t amt_jtagaccel_interface =
-{
-       .name = "amt_jtagaccel",
-
-       .execute_queue = amt_jtagaccel_execute_queue,
-
-       .speed = amt_jtagaccel_speed,
-       .register_commands = amt_jtagaccel_register_commands,
-       .init = amt_jtagaccel_init,
-       .quit = amt_jtagaccel_quit,
-};
-
-static int amt_jtagaccel_register_commands(struct command_context_s *cmd_ctx)
-{
-       register_command(cmd_ctx, NULL, "parport_port", amt_jtagaccel_handle_parport_port_command,
-                                        COMMAND_CONFIG, NULL);
-       register_command(cmd_ctx, NULL, "rtck", amt_jtagaccel_handle_rtck_command,
-                                        COMMAND_CONFIG, NULL);
-
-       return ERROR_OK;
-}
-
 static void amt_jtagaccel_reset(int trst, int srst)
 {
        if (trst == 1)
@@ -320,7 +289,7 @@ static void amt_jtagaccel_scan(bool ir_scan, enum scan_type type, uint8_t *buffe
 
 static int amt_jtagaccel_execute_queue(void)
 {
-       jtag_command_t *cmd = jtag_command_queue; /* currently processed command */
+       struct jtag_command *cmd = jtag_command_queue; /* currently processed command */
        int scan_size;
        enum scan_type type;
        uint8_t *buffer;
@@ -374,7 +343,7 @@ static int amt_jtagaccel_execute_queue(void)
                                break;
                        case JTAG_SLEEP:
 #ifdef _DEBUG_JTAG_IO_
-                               LOG_DEBUG("sleep %i", cmd->cmd.sleep->us);
+                               LOG_DEBUG("sleep %" PRIi32, cmd->cmd.sleep->us);
 #endif
                                jtag_sleep(cmd->cmd.sleep->us);
                                break;
@@ -526,17 +495,16 @@ 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)
+COMMAND_HANDLER(amt_jtagaccel_handle_parport_port_command)
 {
        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;
+                       uint16_t port;
+                       COMMAND_PARSE_NUMBER(u16, args[0], port);
+                       amt_jtagaccel_port = port;
                }
                else
                {
@@ -550,7 +518,7 @@ static int amt_jtagaccel_handle_parport_port_command(
        return ERROR_OK;
 }
 
-static int amt_jtagaccel_handle_rtck_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(amt_jtagaccel_handle_rtck_command)
 {
        if (argc == 0)
        {
@@ -571,3 +539,24 @@ static int amt_jtagaccel_handle_rtck_command(struct command_context_s *cmd_ctx,
 
        return ERROR_OK;
 }
+
+static int amt_jtagaccel_register_commands(struct command_context *cmd_ctx)
+{
+       register_command(cmd_ctx, NULL, "parport_port",
+                       amt_jtagaccel_handle_parport_port_command, COMMAND_CONFIG,
+                       NULL);
+       register_command(cmd_ctx, NULL, "rtck",
+                       amt_jtagaccel_handle_rtck_command, COMMAND_CONFIG,
+                       NULL);
+
+       return ERROR_OK;
+}
+
+struct jtag_interface amt_jtagaccel_interface = {
+               .name = "amt_jtagaccel",
+               .register_commands = &amt_jtagaccel_register_commands,
+               .init = &amt_jtagaccel_init,
+               .quit = &amt_jtagaccel_quit,
+               .speed = &amt_jtagaccel_speed,
+               .execute_queue = &amt_jtagaccel_execute_queue,
+       };