aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/jtag/amt_jtagaccel.c7
-rw-r--r--src/jtag/arm-jtag-ew.c10
-rw-r--r--src/jtag/dummy.c6
-rw-r--r--src/jtag/ft2232.c8
-rw-r--r--src/jtag/gw16012.c7
-rw-r--r--src/jtag/interface.h4
-rw-r--r--src/jtag/jlink.c10
-rw-r--r--src/jtag/parport.c26
-rw-r--r--src/jtag/presto.c10
-rw-r--r--src/jtag/rlink/rlink.c44
-rw-r--r--src/jtag/tcl.c5
-rw-r--r--src/jtag/vsllink.c8
12 files changed, 33 insertions, 112 deletions
diff --git a/src/jtag/amt_jtagaccel.c b/src/jtag/amt_jtagaccel.c
index c3f3279..d26482a 100644
--- a/src/jtag/amt_jtagaccel.c
+++ b/src/jtag/amt_jtagaccel.c
@@ -558,14 +558,9 @@ static const struct command_registration amtjtagaccel_command_handlers[] = {
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",
- .register_commands = &amt_jtagaccel_register_commands,
+ .commands = amtjtagaccel_command_handlers,
.init = &amt_jtagaccel_init,
.quit = &amt_jtagaccel_quit,
.speed = &amt_jtagaccel_speed,
diff --git a/src/jtag/arm-jtag-ew.c b/src/jtag/arm-jtag-ew.c
index ef2b04f..46c3107 100644
--- a/src/jtag/arm-jtag-ew.c
+++ b/src/jtag/arm-jtag-ew.c
@@ -512,17 +512,15 @@ static const struct command_registration armjtagew_command_handlers[] = {
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",
+
+ .commands = armjtagew_command_handlers,
+
.execute_queue = &armjtagew_execute_queue,
.speed = &armjtagew_speed,
.khz = &armjtagew_khz,
- .register_commands = &armjtagew_register_commands,
+
.init = &armjtagew_init,
.quit = &armjtagew_quit,
};
diff --git a/src/jtag/dummy.c b/src/jtag/dummy.c
index 0516790..11b6f71 100644
--- a/src/jtag/dummy.c
+++ b/src/jtag/dummy.c
@@ -134,11 +134,6 @@ static int dummy_speed(int speed)
return ERROR_OK;
}
-static int dummy_register_commands(struct command_context *cmd_ctx)
-{
- return ERROR_OK;
-}
-
static int dummy_init(void)
{
bitbang_interface = &dummy_bitbang;
@@ -160,7 +155,6 @@ struct jtag_interface dummy_interface = {
.execute_queue = &bitbang_execute_queue,
.speed = &dummy_speed,
- .register_commands = &dummy_register_commands,
.khz = &dummy_khz,
.speed_div = &dummy_speed_div,
diff --git a/src/jtag/ft2232.c b/src/jtag/ft2232.c
index d145505..73cbaf3 100644
--- a/src/jtag/ft2232.c
+++ b/src/jtag/ft2232.c
@@ -4009,15 +4009,9 @@ static const struct command_registration ft2232_command_handlers[] = {
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",
- .register_commands = &ft2232_register_commands,
+ .commands = ft2232_command_handlers,
.init = &ft2232_init,
.quit = &ft2232_quit,
.speed = &ft2232_speed,
diff --git a/src/jtag/gw16012.c b/src/jtag/gw16012.c
index 0e495f9..b827fd5 100644
--- a/src/jtag/gw16012.c
+++ b/src/jtag/gw16012.c
@@ -573,14 +573,9 @@ static const struct command_registration gw16012_command_handlers[] = {
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",
- .register_commands = &gw16012_register_commands,
+ .commands = gw16012_command_handlers,
.init = &gw16012_init,
.quit = &gw16012_quit,
.speed = &gw16012_speed,
diff --git a/src/jtag/interface.h b/src/jtag/interface.h
index 05e4048..d55782a 100644
--- a/src/jtag/interface.h
+++ b/src/jtag/interface.h
@@ -204,10 +204,8 @@ struct jtag_interface {
/**
* 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
diff --git a/src/jtag/jlink.c b/src/jtag/jlink.c
index 24fb0e8..9b2326b 100644
--- a/src/jtag/jlink.c
+++ b/src/jtag/jlink.c
@@ -644,18 +644,16 @@ static const struct command_registration jlink_command_handlers[] = {
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",
+
+ .commands = jlink_command_handlers,
+
.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,
};
diff --git a/src/jtag/parport.c b/src/jtag/parport.c
index abf0d29..e5f5611 100644
--- a/src/jtag/parport.c
+++ b/src/jtag/parport.c
@@ -517,19 +517,17 @@ static const struct command_registration parport_command_handlers[] = {
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,
+ };
diff --git a/src/jtag/presto.c b/src/jtag/presto.c
index dc40750..f4e689c 100644
--- a/src/jtag/presto.c
+++ b/src/jtag/presto.c
@@ -750,11 +750,6 @@ static const struct command_registration presto_command_handlers[] = {
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)
@@ -792,11 +787,14 @@ static int presto_jtag_quit(void)
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,
- .register_commands = &presto_jtag_register_commands,
+
.init = &presto_jtag_init,
.quit = &presto_jtag_quit,
};
diff --git a/src/jtag/rlink/rlink.c b/src/jtag/rlink/rlink.c
index 6fb721d..bb33ad8 100644
--- a/src/jtag/rlink/rlink.c
+++ b/src/jtag/rlink/rlink.c
@@ -1568,49 +1568,6 @@ int rlink_khz(
}
-#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)
{
@@ -1848,7 +1805,6 @@ struct jtag_interface rlink_interface =
.name = "rlink",
.init = rlink_init,
.quit = rlink_quit,
- .register_commands = rlink_register_commands,
.speed = rlink_speed,
.speed_div = rlink_speed_div,
.khz = rlink_khz,
diff --git a/src/jtag/tcl.c b/src/jtag/tcl.c
index 81dbdb5..6b42021 100644
--- a/src/jtag/tcl.c
+++ b/src/jtag/tcl.c
@@ -636,9 +636,10 @@ COMMAND_HANDLER(handle_interface_command)
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;
}
diff --git a/src/jtag/vsllink.c b/src/jtag/vsllink.c
index 8287e84..cc3308f 100644
--- a/src/jtag/vsllink.c
+++ b/src/jtag/vsllink.c
@@ -1890,14 +1890,10 @@ static const struct command_registration vsllink_command_handlers[] = {
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",
- .register_commands = &vsllink_register_commands,
+ .commands = vsllink_command_handlers,
+
.init = &vsllink_init,
.quit = &vsllink_quit,
.khz = &vsllink_khz,