X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Ftarget%2Fetm_dummy.c;h=8245da6eee577ffb9e269e890bc6c45879ba2e27;hb=057e566097b41f9bfeee50e97ba6ef624189ae6a;hp=8301fb06fbec7f6ce16b378469f9a8d80412435e;hpb=98723c4ecdbe06f90c66f3abec27b792c3b38e34;p=openocd.git diff --git a/src/target/etm_dummy.c b/src/target/etm_dummy.c index 8301fb06fb..8245da6eee 100644 --- a/src/target/etm_dummy.c +++ b/src/target/etm_dummy.c @@ -1,56 +1,38 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + /*************************************************************************** * Copyright (C) 2007 by Dominic Rath * * Dominic.Rath@gmx.de * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ + #ifdef HAVE_CONFIG_H #include "config.h" #endif -#include "armv4_5.h" +#include "arm.h" #include "etm_dummy.h" - COMMAND_HANDLER(handle_etm_dummy_config_command) { 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]); + if (!target) { + 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]); + if (!is_arm(arm)) { + command_print(CMD, "target '%s' isn't an ARM", CMD_ARGV[0]); return ERROR_FAIL; } if (arm->etm) - { arm->etm->capture_driver_priv = NULL; - } - else - { + else { LOG_ERROR("target has no ETM defined, ETM dummy left unconfigured"); return ERROR_FAIL; } @@ -58,16 +40,25 @@ COMMAND_HANDLER(handle_etm_dummy_config_command) return ERROR_OK; } -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); - - 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, + .usage = "", + }, + COMMAND_REGISTRATION_DONE +}; static int etm_dummy_init(struct etm_context *etm_ctx) { @@ -94,10 +85,9 @@ static int etm_dummy_stop_capture(struct etm_context *etm_ctx) return ERROR_OK; } -struct etm_capture_driver 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,