diff options
author | Antonio Borneo <borneo.antonio@gmail.com> | 2024-12-01 00:01:00 +0100 |
---|---|---|
committer | Antonio Borneo <borneo.antonio@gmail.com> | 2025-03-15 10:20:47 +0000 |
commit | 427528069806b20c05c78f935529bd62308351a9 (patch) | |
tree | e995b28378a655a540a884e66ad014fc353b6160 /src | |
parent | 6beb6280af985e79094501af5cb66d1a33019544 (diff) | |
download | riscv-openocd-427528069806b20c05c78f935529bd62308351a9.zip riscv-openocd-427528069806b20c05c78f935529bd62308351a9.tar.gz riscv-openocd-427528069806b20c05c78f935529bd62308351a9.tar.bz2 |
adapter: simplify command 'adapter list'
The code of command 'adapter list' is called by command 'adapter
driver' to list the available drivers in case of error.
This dual possible entry points require a conditional check on the
number of command line arguments, reducing the code readability.
Split the command in a simpler code for the command 'adapter list'
that only checks the command line, and move in a common helper the
code that list the drivers.
While there, fix the output and the comments to report 'adapter
driver' instead of 'debug adapters'; we are not parsing the HW to
know which adapter is present.
Change-Id: I17538e86dc4a31a9589d404e49dcc65a29393390
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/8672
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Diffstat (limited to 'src')
-rw-r--r-- | src/jtag/adapter.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/jtag/adapter.c b/src/jtag/adapter.c index db3d3b0..2fcbd60 100644 --- a/src/jtag/adapter.c +++ b/src/jtag/adapter.c @@ -392,12 +392,8 @@ COMMAND_HANDLER(handle_adapter_name) return ERROR_OK; } -COMMAND_HANDLER(handle_adapter_list_command) +COMMAND_HANDLER(dump_adapter_driver_list) { - if (strcmp(CMD_NAME, "list") == 0 && CMD_ARGC > 0) - return ERROR_COMMAND_SYNTAX_ERROR; - - command_print(CMD, "The following debug adapters are available:"); for (unsigned int i = 0; adapter_drivers[i]; i++) { const char *name = adapter_drivers[i]->name; command_print(CMD, "%u: %s", i + 1, name); @@ -406,6 +402,14 @@ COMMAND_HANDLER(handle_adapter_list_command) return ERROR_OK; } +COMMAND_HANDLER(handle_adapter_list_command) +{ + if (CMD_ARGC) + return ERROR_COMMAND_SYNTAX_ERROR; + + return CALL_COMMAND_HANDLER(dump_adapter_driver_list); +} + COMMAND_HANDLER(handle_adapter_driver_command) { int retval; @@ -440,7 +444,8 @@ COMMAND_HANDLER(handle_adapter_driver_command) */ LOG_ERROR("The specified debug interface was not found (%s)", CMD_ARGV[0]); - CALL_COMMAND_HANDLER(handle_adapter_list_command); + command_print(CMD, "The following adapter drivers are available:"); + CALL_COMMAND_HANDLER(dump_adapter_driver_list); return ERROR_JTAG_INVALID_INTERFACE; } |