X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Ftarget%2Fetb.c;h=63dee18bc4ec1770fbd09773a296eea602439b6c;hb=144e3678bd2d518388b6c2d7f3d2a912a9ac2abd;hp=859ebaf12e3878f9468c7c3f5b274754dd92708c;hpb=f4788652e45662d1e43933dc0620561bc4cddae0;p=openocd diff --git a/src/target/etb.c b/src/target/etb.c index 859ebaf1..63dee18b 100644 --- a/src/target/etb.c +++ b/src/target/etb.c @@ -354,30 +354,30 @@ COMMAND_HANDLER(handle_etb_config_command) struct jtag_tap *tap; struct arm *arm; - if (argc != 2) + if (CMD_ARGC != 2) { return ERROR_COMMAND_SYNTAX_ERROR; } - target = get_target(args[0]); + target = get_target(CMD_ARGV[0]); if (!target) { - LOG_ERROR("ETB: target '%s' not defined", args[0]); + LOG_ERROR("ETB: target '%s' not defined", CMD_ARGV[0]); return ERROR_FAIL; } arm = target_to_arm(target); if (!is_arm(arm)) { - command_print(cmd_ctx, "ETB: '%s' isn't an ARM", args[0]); + command_print(CMD_CTX, "ETB: '%s' isn't an ARM", CMD_ARGV[0]); return ERROR_FAIL; } - tap = jtag_tap_by_string(args[1]); + tap = jtag_tap_by_string(CMD_ARGV[1]); if (tap == NULL) { - command_print(cmd_ctx, "ETB: TAP %s does not exist", args[1]); + command_print(CMD_CTX, "ETB: TAP %s does not exist", CMD_ARGV[1]); return ERROR_FAIL; } @@ -402,16 +402,28 @@ COMMAND_HANDLER(handle_etb_config_command) return ERROR_OK; } +static const struct command_registration etb_config_command_handlers[] = { + { + .name = "config", + .handler = &handle_etb_config_command, + .mode = COMMAND_CONFIG, + .usage = " ", + }, + COMMAND_REGISTRATION_DONE +}; +static const struct command_registration etb_command_handlers[] = { + { + .name = "etb", + .mode = COMMAND_ANY, + .help = "Emebdded Trace Buffer command group", + .chain = etb_config_command_handlers, + }, + COMMAND_REGISTRATION_DONE +}; + static int etb_register_commands(struct command_context *cmd_ctx) { - struct command *etb_cmd = register_command(cmd_ctx, NULL, "etb", - NULL, COMMAND_ANY, "Embedded Trace Buffer"); - - register_command(cmd_ctx, etb_cmd, "config", - handle_etb_config_command, COMMAND_CONFIG, - NULL); - - return ERROR_OK; + return register_commands(cmd_ctx, NULL, etb_command_handlers); } static int etb_init(struct etm_context *etm_ctx)