]> git.sur5r.net Git - openocd/blobdiff - src/target/etm_dummy.c
armv7m: use register_commands()
[openocd] / src / target / etm_dummy.c
index 881cd8735e2b577f62eb4f4f78d84bef498ff759..2df89435b1eb475748259086a38156888f399c4d 100644 (file)
 #include "config.h"
 #endif
 
-#include <string.h>
-
+#include "armv4_5.h"
 #include "etm_dummy.h"
-#include "etm.h"
-
-#include "arm7_9_common.h"
-#include "log.h"
-#include "types.h"
-#include "binarybuffer.h"
-#include "target.h"
-#include "register.h"
-#include "jtag.h"
 
-#include <stdlib.h>
 
-int handle_etm_dummy_config_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_etm_dummy_config_command)
 {
-       target_t *target;
-       armv4_5_common_t *armv4_5;
-       arm7_9_common_t *arm7_9;
-       
-       target = get_target_by_num(strtoul(args[0], NULL, 0));
-       
+       struct target *target;
+       struct arm *arm;
+
+       target = get_target(CMD_ARGV[0]);
+
        if (!target)
        {
-               LOG_ERROR("target number '%s' not defined", args[0]);
-               exit(-1);
+               LOG_ERROR("target '%s' not defined", CMD_ARGV[0]);
+               return ERROR_FAIL;
        }
-       
-       if (arm7_9_get_arch_pointers(target, &armv4_5, &arm7_9) != ERROR_OK)
+
+       arm = target_to_arm(target);
+       if (!is_arm(arm))
        {
-               command_print(cmd_ctx, "current target isn't an ARM7/ARM9 target");
-               return ERROR_OK;
+               command_print(CMD_CTX, "target '%s' isn't an ARM", CMD_ARGV[0]);
+               return ERROR_FAIL;
        }
-       
-       if (arm7_9->etm_ctx)
+
+       if (arm->etm)
        {
-               arm7_9->etm_ctx->capture_driver_priv = NULL;
+               arm->etm->capture_driver_priv = NULL;
        }
        else
        {
                LOG_ERROR("target has no ETM defined, ETM dummy left unconfigured");
+               return ERROR_FAIL;
        }
 
        return ERROR_OK;
 }
 
-int etm_dummy_register_commands(struct command_context_s *cmd_ctx)
+static int etm_dummy_register_commands(struct command_context *cmd_ctx)
 {
-       command_t *etm_dummy_cmd;
-       
-       etm_dummy_cmd = register_command(cmd_ctx, NULL, "etm_dummy", NULL, COMMAND_ANY, "Dummy ETM capture driver");
-       
-       register_command(cmd_ctx, etm_dummy_cmd, "config", handle_etm_dummy_config_command, COMMAND_CONFIG, NULL);
+       struct command *etm_dummy_cmd;
+
+       etm_dummy_cmd = COMMAND_REGISTER(cmd_ctx, NULL, "etm_dummy", NULL, COMMAND_ANY, "Dummy ETM capture driver");
+
+       COMMAND_REGISTER(cmd_ctx, etm_dummy_cmd, "config", handle_etm_dummy_config_command, COMMAND_CONFIG, NULL);
 
        return ERROR_OK;
 }
 
-int etm_dummy_init(etm_context_t *etm_ctx)
+static int etm_dummy_init(struct etm_context *etm_ctx)
 {
        return ERROR_OK;
 }
 
-trace_status_t etm_dummy_status(etm_context_t *etm_ctx)
+static trace_status_t etm_dummy_status(struct etm_context *etm_ctx)
 {
        return TRACE_IDLE;
 }
 
-int etm_dummy_read_trace(etm_context_t *etm_ctx)
+static int etm_dummy_read_trace(struct etm_context *etm_ctx)
 {
        return ERROR_OK;
 }
 
-int etm_dummy_start_capture(etm_context_t *etm_ctx)
+static int etm_dummy_start_capture(struct etm_context *etm_ctx)
 {
        return ERROR_ETM_PORTMODE_NOT_SUPPORTED;
 }
 
-int etm_dummy_stop_capture(etm_context_t *etm_ctx)
+static int etm_dummy_stop_capture(struct etm_context *etm_ctx)
 {
        return ERROR_OK;
 }
 
-etm_capture_driver_t etm_dummy_capture_driver =
+struct etm_capture_driver etm_dummy_capture_driver =
 {
        .name = "dummy",
        .register_commands = etm_dummy_register_commands,