X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Ftarget%2Fetm_dummy.c;h=f9c6fe738080b415634aaa942d5dbe2092e51851;hb=bc088b302bd0bb43cc9097a9f0b2e7369b0e04e2;hp=0c5fc111b534e4983b71ee54c8c626d5325159d9;hpb=5723e54fa9875dabe1a183ee59336cebe74d1516;p=openocd.git diff --git a/src/target/etm_dummy.c b/src/target/etm_dummy.c index 0c5fc111b5..f9c6fe7380 100644 --- a/src/target/etm_dummy.c +++ b/src/target/etm_dummy.c @@ -21,27 +21,27 @@ #include "config.h" #endif -#include "armv4_5.h" +#include "arm.h" #include "etm_dummy.h" -static 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; + struct target *target; struct arm *arm; - target = get_target(args[0]); + target = get_target(CMD_ARGV[0]); if (!target) { - LOG_ERROR("target '%s' not defined", args[0]); + LOG_ERROR("target '%s' not defined", CMD_ARGV[0]); return ERROR_FAIL; } arm = target_to_arm(target); if (!is_arm(arm)) { - command_print(cmd_ctx, "target '%s' isn't an ARM", args[0]); + command_print(CMD_CTX, "target '%s' isn't an ARM", CMD_ARGV[0]); return ERROR_FAIL; } @@ -58,46 +58,54 @@ static int handle_etm_dummy_config_command(struct command_context_s *cmd_ctx, ch return ERROR_OK; } -static int etm_dummy_register_commands(struct command_context_s *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); - - return ERROR_OK; -} +static const struct command_registration etm_dummy_config_command_handlers[] = { + { + .name = "config", + .handler = handle_etm_dummy_config_command, + .mode = COMMAND_CONFIG, + .usage = "target", + }, + COMMAND_REGISTRATION_DONE +}; +static const struct command_registration etm_dummy_command_handlers[] = { + { + .name = "etm_dummy", + .mode = COMMAND_ANY, + .help = "Dummy ETM capture driver command group", + .chain = etm_dummy_config_command_handlers, + }, + COMMAND_REGISTRATION_DONE +}; -static int etm_dummy_init(etm_context_t *etm_ctx) +static int etm_dummy_init(struct etm_context *etm_ctx) { return ERROR_OK; } -static 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; } -static int etm_dummy_read_trace(etm_context_t *etm_ctx) +static int etm_dummy_read_trace(struct etm_context *etm_ctx) { return ERROR_OK; } -static 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; } -static 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, + .commands = etm_dummy_command_handlers, .init = etm_dummy_init, .status = etm_dummy_status, .start_capture = etm_dummy_start_capture,