remove register_callbacks from jtag interface
authorZachary T Welch <zw@superlucidity.net>
Sat, 21 Nov 2009 06:01:59 +0000 (22:01 -0800)
committerZachary T Welch <zw@superlucidity.net>
Wed, 25 Nov 2009 05:37:33 +0000 (21:37 -0800)
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:
src/jtag/amt_jtagaccel.c
src/jtag/arm-jtag-ew.c
src/jtag/dummy.c
src/jtag/ft2232.c
src/jtag/gw16012.c
src/jtag/interface.h
src/jtag/jlink.c
src/jtag/parport.c
src/jtag/presto.c
src/jtag/rlink/rlink.c
src/jtag/tcl.c
src/jtag/vsllink.c

index c3f32795059b877d4246a68a6aabe8ba03792ffd..d26482a6136703d55b718bbe1f1342ce336882b2 100644 (file)
@@ -558,14 +558,9 @@ static const struct command_registration amtjtagaccel_command_handlers[] = {
        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,
index ef2b04f2a153d0cd67cf404011a9252314dce1ee..46c3107056d6950fb91149a4658ef8daaa9e216f 100644 (file)
@@ -512,17 +512,15 @@ static const struct command_registration armjtagew_command_handlers[] = {
        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,
        };
index 051679009976e4010196f1c7f5e7e60d26608c1f..11b6f71ae10fa4223c954d3a0a43cee8db3a59d3 100644 (file)
@@ -134,11 +134,6 @@ static int dummy_speed(int speed)
        return ERROR_OK;
 }
 
        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;
 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,
                .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,
 
index d145505a313338fa7a4f5ee0d969f1494b3057db..73cbaf3c626730845f618e33ea3e554ab757c9a7 100644 (file)
@@ -4009,15 +4009,9 @@ static const struct command_registration ft2232_command_handlers[] = {
        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,
index 0e495f924f6f99b6b916f49a8da1b25b2343b60a..b827fd53a12e543acf3f48c32a77c8e708674cb2 100644 (file)
@@ -573,14 +573,9 @@ static const struct command_registration gw16012_command_handlers[] = {
        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,
index 05e4048b1d3f06f86359745e902392013ee060e2..d55782ad8574d79bb7c7c73abf092dfc26138e20 100644 (file)
@@ -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.
        /**
         * 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
index 24fb0e8963dbd766586121c12404bc1fb95be757..9b2326bdb0918a9f3c7614b136bdcf0ea6ccef0c 100644 (file)
@@ -644,18 +644,16 @@ static const struct command_registration jlink_command_handlers[] = {
        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,
        };
index abf0d29692f8de671517dec277fc6dd855885373..e5f56113f2473e01ef79ae95eff9ec945740f419 100644 (file)
@@ -517,19 +517,17 @@ static const struct command_registration parport_command_handlers[] = {
        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,
+       };
index dc40750df880b1f85ad1ca81f65256552c9dbe8f..f4e689c2a527f7eb229ab517c184c362e518b88e 100644 (file)
@@ -750,11 +750,6 @@ static const struct command_registration presto_command_handlers[] = {
        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)
@@ -792,11 +787,14 @@ static int presto_jtag_quit(void)
 
 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,
        };
index 6fb721d5e4f6d257b2982fd979ae6ba1ee624871..bb33ad8fa028a209413ac38900cf8e14d085c61e 100644 (file)
@@ -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)
 {
 static
 int rlink_init(void)
 {
@@ -1848,7 +1805,6 @@ struct jtag_interface rlink_interface =
        .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,
index 81dbdb5919f4309bbbc64c5e66a0d91641040e0e..6b420211c0d2ec815bd845cd4e26cd953b6f994c 100644 (file)
@@ -636,9 +636,10 @@ COMMAND_HANDLER(handle_interface_command)
                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;
                }
index 8287e84a964e8d76ee6fdfd02c3ad89b6f61a522..cc3308f573c08daa97729e4f901dc84120d864e4 100644 (file)
@@ -1890,14 +1890,10 @@ static const struct command_registration vsllink_command_handlers[] = {
        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)