From f74e2e033a2ad082e5bef67d0ddedd1db3f58300 Mon Sep 17 00:00:00 2001 From: Zachary T Welch Date: Mon, 23 Nov 2009 08:24:02 -0800 Subject: [PATCH] remove register_commands from etm_capture_driver Converts callback to an array of command_registration records. Moves oocd_trace driver definition to end of file to eliminate useless forward declaration. --- src/target/etb.c | 7 +------ src/target/etm.c | 5 +++-- src/target/etm.h | 2 +- src/target/etm_dummy.c | 7 +------ src/target/oocd_trace.c | 27 +++++++++++---------------- 5 files changed, 17 insertions(+), 31 deletions(-) diff --git a/src/target/etb.c b/src/target/etb.c index 63dee18bc4..bc0e1bf2c7 100644 --- a/src/target/etb.c +++ b/src/target/etb.c @@ -421,11 +421,6 @@ static const struct command_registration etb_command_handlers[] = { COMMAND_REGISTRATION_DONE }; -static int etb_register_commands(struct command_context *cmd_ctx) -{ - return register_commands(cmd_ctx, NULL, etb_command_handlers); -} - static int etb_init(struct etm_context *etm_ctx) { struct etb *etb = etm_ctx->capture_driver_priv; @@ -696,7 +691,7 @@ static int etb_stop_capture(struct etm_context *etm_ctx) struct etm_capture_driver etb_capture_driver = { .name = "etb", - .register_commands = etb_register_commands, + .commands = etb_command_handlers, .init = etb_init, .status = etb_status, .start_capture = etb_start_capture, diff --git a/src/target/etm.c b/src/target/etm.c index 2465d5c1a4..4e7f9172bf 100644 --- a/src/target/etm.c +++ b/src/target/etm.c @@ -1471,8 +1471,9 @@ COMMAND_HANDLER(handle_etm_config_command) { if (strcmp(CMD_ARGV[4], etm_capture_drivers[i]->name) == 0) { - int retval; - if ((retval = etm_capture_drivers[i]->register_commands(CMD_CTX)) != ERROR_OK) + int retval = register_commands(CMD_CTX, NULL, + etm_capture_drivers[i]->commands); + if (ERROR_OK != retval) { free(etm_ctx); return retval; diff --git a/src/target/etm.h b/src/target/etm.h index 05e54959a0..c8da794768 100644 --- a/src/target/etm.h +++ b/src/target/etm.h @@ -126,7 +126,7 @@ struct etm_context; struct etm_capture_driver { char *name; - int (*register_commands)(struct command_context *cmd_ctx); + const struct command_registration *commands; int (*init)(struct etm_context *etm_ctx); trace_status_t (*status)(struct etm_context *etm_ctx); int (*read_trace)(struct etm_context *etm_ctx); diff --git a/src/target/etm_dummy.c b/src/target/etm_dummy.c index 27a8eec110..647774f24d 100644 --- a/src/target/etm_dummy.c +++ b/src/target/etm_dummy.c @@ -77,11 +77,6 @@ static const struct command_registration etm_dummy_command_handlers[] = { COMMAND_REGISTRATION_DONE }; -static int etm_dummy_register_commands(struct command_context *cmd_ctx) -{ - return register_commands(cmd_ctx, NULL, etm_dummy_command_handlers); -} - static int etm_dummy_init(struct etm_context *etm_ctx) { return ERROR_OK; @@ -110,7 +105,7 @@ static int etm_dummy_stop_capture(struct etm_context *etm_ctx) struct etm_capture_driver etm_dummy_capture_driver = { .name = "dummy", - .register_commands = etm_dummy_register_commands, + .commands = etm_dummy_command_handlers, .init = etm_dummy_init, .status = etm_dummy_status, .start_capture = etm_dummy_start_capture, diff --git a/src/target/oocd_trace.c b/src/target/oocd_trace.c index a34c63c699..ac79f18d98 100644 --- a/src/target/oocd_trace.c +++ b/src/target/oocd_trace.c @@ -30,8 +30,6 @@ */ -static int oocd_trace_register_commands(struct command_context *cmd_ctx); - static int oocd_trace_read_reg(struct oocd_trace *oocd_trace, int reg, uint32_t *value) { size_t bytes_written, bytes_read, bytes_to_read; @@ -278,17 +276,6 @@ static int oocd_trace_stop_capture(struct etm_context *etm_ctx) return ERROR_OK; } -struct etm_capture_driver oocd_trace_capture_driver = -{ - .name = "oocd_trace", - .register_commands = oocd_trace_register_commands, - .init = oocd_trace_init, - .status = oocd_trace_status, - .start_capture = oocd_trace_start_capture, - .stop_capture = oocd_trace_stop_capture, - .read_trace = oocd_trace_read_trace, -}; - COMMAND_HANDLER(handle_oocd_trace_config_command) { struct target *target; @@ -438,7 +425,15 @@ static const struct command_registration oocd_trace_command_handlers[] = { COMMAND_REGISTRATION_DONE }; -int oocd_trace_register_commands(struct command_context *cmd_ctx) +struct etm_capture_driver oocd_trace_capture_driver = { - return register_commands(cmd_ctx, NULL, oocd_trace_command_handlers); -} + .name = "oocd_trace", + .commands = oocd_trace_command_handlers, + .init = oocd_trace_init, + .status = oocd_trace_status, + .start_capture = oocd_trace_start_capture, + .stop_capture = oocd_trace_stop_capture, + .read_trace = oocd_trace_read_trace, +}; + + -- 2.30.2