Changes the jtag_interface->register_callbacks field to a list of
commands to be registered. Changes callback to invocation of
register_commands() with that command registration list. Removes all
JTAG interface driver register_command callback functions, which the
previous commits had converted into identical calls.
12 files changed:
COMMAND_REGISTRATION_DONE
};
COMMAND_REGISTRATION_DONE
};
-static int amt_jtagaccel_register_commands(struct command_context *cmd_ctx)
-{
- return register_commands(cmd_ctx, NULL, amtjtagaccel_command_handlers);
-}
-
struct jtag_interface amt_jtagaccel_interface = {
.name = "amt_jtagaccel",
struct jtag_interface amt_jtagaccel_interface = {
.name = "amt_jtagaccel",
- .register_commands = &amt_jtagaccel_register_commands,
+ .commands = amtjtagaccel_command_handlers,
.init = &amt_jtagaccel_init,
.quit = &amt_jtagaccel_quit,
.speed = &amt_jtagaccel_speed,
.init = &amt_jtagaccel_init,
.quit = &amt_jtagaccel_quit,
.speed = &amt_jtagaccel_speed,
COMMAND_REGISTRATION_DONE
};
COMMAND_REGISTRATION_DONE
};
-static int armjtagew_register_commands(struct command_context *cmd_ctx)
-{
- return register_commands(cmd_ctx, NULL, armjtagew_command_handlers);
-}
-
struct jtag_interface armjtagew_interface = {
.name = "arm-jtag-ew",
struct jtag_interface armjtagew_interface = {
.name = "arm-jtag-ew",
+
+ .commands = armjtagew_command_handlers,
+
.execute_queue = &armjtagew_execute_queue,
.speed = &armjtagew_speed,
.khz = &armjtagew_khz,
.execute_queue = &armjtagew_execute_queue,
.speed = &armjtagew_speed,
.khz = &armjtagew_khz,
- .register_commands = &armjtagew_register_commands,
.init = &armjtagew_init,
.quit = &armjtagew_quit,
};
.init = &armjtagew_init,
.quit = &armjtagew_quit,
};
-static int dummy_register_commands(struct command_context *cmd_ctx)
-{
- return ERROR_OK;
-}
-
static int dummy_init(void)
{
bitbang_interface = &dummy_bitbang;
static int dummy_init(void)
{
bitbang_interface = &dummy_bitbang;
.execute_queue = &bitbang_execute_queue,
.speed = &dummy_speed,
.execute_queue = &bitbang_execute_queue,
.speed = &dummy_speed,
- .register_commands = &dummy_register_commands,
.khz = &dummy_khz,
.speed_div = &dummy_speed_div,
.khz = &dummy_khz,
.speed_div = &dummy_speed_div,
COMMAND_REGISTRATION_DONE
};
COMMAND_REGISTRATION_DONE
};
-static int ft2232_register_commands(struct command_context* cmd_ctx)
-{
- return register_commands(cmd_ctx, NULL, ft2232_command_handlers);
-}
-
-
struct jtag_interface ft2232_interface = {
.name = "ft2232",
struct jtag_interface ft2232_interface = {
.name = "ft2232",
- .register_commands = &ft2232_register_commands,
+ .commands = ft2232_command_handlers,
.init = &ft2232_init,
.quit = &ft2232_quit,
.speed = &ft2232_speed,
.init = &ft2232_init,
.quit = &ft2232_quit,
.speed = &ft2232_speed,
COMMAND_REGISTRATION_DONE
};
COMMAND_REGISTRATION_DONE
};
-static int gw16012_register_commands(struct command_context *cmd_ctx)
-{
- return register_commands(cmd_ctx, NULL, gw16012_command_handlers);
-}
-
struct jtag_interface gw16012_interface = {
.name = "gw16012",
struct jtag_interface gw16012_interface = {
.name = "gw16012",
- .register_commands = &gw16012_register_commands,
+ .commands = gw16012_command_handlers,
.init = &gw16012_init,
.quit = &gw16012_quit,
.speed = &gw16012_speed,
.init = &gw16012_init,
.quit = &gw16012_quit,
.speed = &gw16012_speed,
/**
* The interface driver may register additional commands to expose
* additional features not covered by the standard command set.
/**
* The interface driver may register additional commands to expose
* additional features not covered by the standard command set.
- * @param cmd_ctx The context in which commands should be registered.
- * @returns ERROR_OK on success, or an error code on failure.
- int (*register_commands)(struct command_context* cmd_ctx);
+ const struct command_registration *commands;
/**
* Interface driver must initalize any resources and connect to a
/**
* Interface driver must initalize any resources and connect to a
COMMAND_REGISTRATION_DONE
};
COMMAND_REGISTRATION_DONE
};
-static int jlink_register_commands(struct command_context *cmd_ctx)
-{
- return register_commands(cmd_ctx, NULL, jlink_command_handlers);
-}
-
struct jtag_interface jlink_interface = {
.name = "jlink",
struct jtag_interface jlink_interface = {
.name = "jlink",
+
+ .commands = jlink_command_handlers,
+
.execute_queue = &jlink_execute_queue,
.speed = &jlink_speed,
.speed_div = &jlink_speed_div,
.khz = &jlink_khz,
.execute_queue = &jlink_execute_queue,
.speed = &jlink_speed,
.speed_div = &jlink_speed_div,
.khz = &jlink_khz,
- .register_commands = &jlink_register_commands,
.init = &jlink_init,
.quit = &jlink_quit,
};
.init = &jlink_init,
.quit = &jlink_quit,
};
COMMAND_REGISTRATION_DONE
};
COMMAND_REGISTRATION_DONE
};
+struct jtag_interface parport_interface = {
+ .name = "parport",
-static int parport_register_commands(struct command_context *cmd_ctx)
-{
- return register_commands(cmd_ctx, NULL, parport_command_handlers);
-}
+ .commands = parport_command_handlers,
-struct jtag_interface parport_interface = {
- .name = "parport",
- .register_commands = parport_register_commands,
- .init = parport_init,
- .quit = parport_quit,
- .khz = parport_khz,
- .speed_div = parport_speed_div,
- .speed = parport_speed,
- .execute_queue = bitbang_execute_queue,
-};
+ .init = &parport_init,
+ .quit = &parport_quit,
+
+ .khz = &parport_khz,
+ .speed_div = &parport_speed_div,
+ .speed = &parport_speed,
+
+ .execute_queue = &bitbang_execute_queue,
+ };
COMMAND_REGISTRATION_DONE
};
COMMAND_REGISTRATION_DONE
};
-static int presto_jtag_register_commands(struct command_context *cmd_ctx)
-{
- return register_commands(cmd_ctx, NULL, presto_command_handlers);
-}
-
static int presto_jtag_init(void)
{
if (presto_open(presto_serial) != ERROR_OK)
static int presto_jtag_init(void)
{
if (presto_open(presto_serial) != ERROR_OK)
struct jtag_interface presto_interface = {
.name = "presto",
struct jtag_interface presto_interface = {
.name = "presto",
+
+ .commands = presto_command_handlers,
+
.execute_queue = &bitq_execute_queue,
.speed = &presto_jtag_speed,
.khz = &presto_jtag_khz,
.speed_div = &presto_jtag_speed_div,
.execute_queue = &bitq_execute_queue,
.speed = &presto_jtag_speed,
.khz = &presto_jtag_khz,
.speed_div = &presto_jtag_speed_div,
- .register_commands = &presto_jtag_register_commands,
.init = &presto_jtag_init,
.quit = &presto_jtag_quit,
};
.init = &presto_jtag_init,
.quit = &presto_jtag_quit,
};
-#if 0
-static
-int
-handle_dtc_directory_command(
- struct command_context *cmd_ctx,
- char *cmd,
- char **args,
- int argc
-) {
- if (argc != 1) {
- LOG_ERROR("expected exactly one argument to rlink_dtc_directory <directory-path>");
- return(ERROR_INVALID_ARGUMENTS);
- }
-
- printf("handle_dtc_directory_command called with \"%s\"\n", args[0]);
-
- return(ERROR_OK);
-}
-#endif
-
-
-static
-int rlink_register_commands(struct command_context *cmd_ctx)
-{
-
-#ifdef _DEBUG_JTAG_IO_
- LOG_DEBUG("rlink_register_commands called with cmd_ctx=%p\n", cmd_ctx);
-#endif
-
-#if 0
- register_command(
- cmd_ctx, NULL,
- "rlink_dtc_directory",
- handle_dtc_directory_command,
- COMMAND_CONFIG,
- "The directory in which to search for DTC load images"
-);
-#endif
-
- return ERROR_OK;
-}
-
-
static
int rlink_init(void)
{
static
int rlink_init(void)
{
.name = "rlink",
.init = rlink_init,
.quit = rlink_quit,
.name = "rlink",
.init = rlink_init,
.quit = rlink_quit,
- .register_commands = rlink_register_commands,
.speed = rlink_speed,
.speed_div = rlink_speed_div,
.khz = rlink_khz,
.speed = rlink_speed,
.speed_div = rlink_speed_div,
.khz = rlink_khz,
if (strcmp(CMD_ARGV[0], jtag_interfaces[i]->name) != 0)
continue;
if (strcmp(CMD_ARGV[0], jtag_interfaces[i]->name) != 0)
continue;
- if (NULL != jtag_interfaces[i]->register_commands)
+ if (NULL != jtag_interfaces[i]->commands)
- int retval = jtag_interfaces[i]->register_commands(CMD_CTX);
+ int retval = register_commands(CMD_CTX, NULL,
+ jtag_interfaces[i]->commands);
if (ERROR_OK != retval)
return retval;
}
if (ERROR_OK != retval)
return retval;
}
COMMAND_REGISTRATION_DONE
};
COMMAND_REGISTRATION_DONE
};
-static int vsllink_register_commands(struct command_context *cmd_ctx)
-{
- return register_commands(cmd_ctx, NULL, vsllink_command_handlers);
-}
-
struct jtag_interface vsllink_interface = {
.name = "vsllink",
struct jtag_interface vsllink_interface = {
.name = "vsllink",
- .register_commands = &vsllink_register_commands,
+ .commands = vsllink_command_handlers,
+
.init = &vsllink_init,
.quit = &vsllink_quit,
.khz = &vsllink_khz,
.init = &vsllink_init,
.quit = &vsllink_quit,
.khz = &vsllink_khz,
Linking to existing account procedure
If you already have an account and want to add another login method
you
MUST first sign in with your existing account and
then change URL to read
https://review.openocd.org/login/?link
to get to this page again but this time it'll work for linking. Thank you.
SSH host keys fingerprints
1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=.. |
|+o.. . |
|*.o . . |
|+B . . . |
|Bo. = o S |
|Oo.+ + = |
|oB=.* = . o |
| =+=.+ + E |
|. .=o . o |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)