target: rewrite command 'arp_examine' as COMMAND_HANDLER
Change-Id: I8f227b219ca39f198e1e39847ddd36bb9880a328 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7560 Tested-by: jenkins
This commit is contained in:
parent
0f0a4b1452
commit
22ababc12e
|
@ -5639,49 +5639,40 @@ static int jim_target_tap_disabled(Jim_Interp *interp)
|
||||||
return JIM_ERR;
|
return JIM_ERR;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int jim_target_examine(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
|
COMMAND_HANDLER(handle_target_examine)
|
||||||
{
|
{
|
||||||
bool allow_defer = false;
|
bool allow_defer = false;
|
||||||
|
|
||||||
struct jim_getopt_info goi;
|
if (CMD_ARGC > 1)
|
||||||
jim_getopt_setup(&goi, interp, argc - 1, argv + 1);
|
return ERROR_COMMAND_SYNTAX_ERROR;
|
||||||
if (goi.argc > 1) {
|
|
||||||
const char *cmd_name = Jim_GetString(argv[0], NULL);
|
if (CMD_ARGC == 1) {
|
||||||
Jim_SetResultFormatted(goi.interp,
|
if (strcmp(CMD_ARGV[0], "allow-defer"))
|
||||||
"usage: %s ['allow-defer']", cmd_name);
|
return ERROR_COMMAND_ARGUMENT_INVALID;
|
||||||
return JIM_ERR;
|
|
||||||
}
|
|
||||||
if (goi.argc > 0 &&
|
|
||||||
strcmp(Jim_GetString(argv[1], NULL), "allow-defer") == 0) {
|
|
||||||
/* consume it */
|
|
||||||
Jim_Obj *obj;
|
|
||||||
int e = jim_getopt_obj(&goi, &obj);
|
|
||||||
if (e != JIM_OK)
|
|
||||||
return e;
|
|
||||||
allow_defer = true;
|
allow_defer = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct command_context *cmd_ctx = current_command_context(interp);
|
struct target *target = get_current_target(CMD_CTX);
|
||||||
assert(cmd_ctx);
|
if (!target->tap->enabled) {
|
||||||
struct target *target = get_current_target(cmd_ctx);
|
command_print(CMD, "[TAP is disabled]");
|
||||||
if (!target->tap->enabled)
|
return ERROR_FAIL;
|
||||||
return jim_target_tap_disabled(interp);
|
}
|
||||||
|
|
||||||
if (allow_defer && target->defer_examine) {
|
if (allow_defer && target->defer_examine) {
|
||||||
LOG_INFO("Deferring arp_examine of %s", target_name(target));
|
LOG_INFO("Deferring arp_examine of %s", target_name(target));
|
||||||
LOG_INFO("Use arp_examine command to examine it manually!");
|
LOG_INFO("Use arp_examine command to examine it manually!");
|
||||||
return JIM_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int e = target->type->examine(target);
|
int retval = target->type->examine(target);
|
||||||
if (e != ERROR_OK) {
|
if (retval != ERROR_OK) {
|
||||||
target_reset_examined(target);
|
target_reset_examined(target);
|
||||||
return JIM_ERR;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
target_set_examined(target);
|
target_set_examined(target);
|
||||||
|
|
||||||
return JIM_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
COMMAND_HANDLER(handle_target_was_examined)
|
COMMAND_HANDLER(handle_target_was_examined)
|
||||||
|
@ -6019,7 +6010,7 @@ static const struct command_registration target_instance_command_handlers[] = {
|
||||||
{
|
{
|
||||||
.name = "arp_examine",
|
.name = "arp_examine",
|
||||||
.mode = COMMAND_EXEC,
|
.mode = COMMAND_EXEC,
|
||||||
.jim_handler = jim_target_examine,
|
.handler = handle_target_examine,
|
||||||
.help = "used internally for reset processing",
|
.help = "used internally for reset processing",
|
||||||
.usage = "['allow-defer']",
|
.usage = "['allow-defer']",
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue