From: Zach W. <zw...@us...> - 2009-11-25 19:57:03
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Main OpenOCD repository". The branch, master has been updated via 8d46720cda288f498787a706bb2518e6f852b9f1 (commit) via fc2d9f87615b7a5562cb9cd58fb95953e5d89818 (commit) via 355a67303206fb8954827ab7e413f1d882149c90 (commit) via 9a31d66b3ff4b877d1f1125d24cbf127234f153a (commit) via 339e08baa5d000b1efe8c85ddd516d0b967992b2 (commit) via b1d034bf2f665cfa5633c8c6b46570d7ce6064a4 (commit) via 779bdbe797b9c25b9f297b4f29500e847baf28c3 (commit) via 3ab599a7e43af7350b380e7ffcc5fdcd75b42a65 (commit) via 30be874de8ee9d8269ce3441c92a15b96c68a398 (commit) via 0af32bb9381c9fe3f6be425c7fedfc88d4590178 (commit) via 48429dcfad4c05dc03fd94484da1078b30afd4f3 (commit) from e2f23c54373097098ef0b59377299d7382f4c58a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 8d46720cda288f498787a706bb2518e6f852b9f1 Author: Zachary T Welch <zw...@su...> Date: Fri Nov 20 22:01:59 2009 -0800 remove register_callbacks from jtag interface 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. 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, commit fc2d9f87615b7a5562cb9cd58fb95953e5d89818 Author: Zachary T Welch <zw...@su...> Date: Fri Nov 20 21:06:28 2009 -0800 vsllink: use register_commands() Use register_commands() with command registration array. diff --git a/src/jtag/vsllink.c b/src/jtag/vsllink.c index 3526198..8287e84 100644 --- a/src/jtag/vsllink.c +++ b/src/jtag/vsllink.c @@ -1856,28 +1856,43 @@ static void vsllink_debug_buffer(uint8_t *buffer, int length) } #endif // _DEBUG_USB_COMMS_ || _DEBUG_JTAG_IO_ +static const struct command_registration vsllink_command_handlers[] = { + { + .name = "vsllink_usb_vid", + .handler = &vsllink_handle_usb_vid_command, + .mode = COMMAND_CONFIG, + }, + { + .name = "vsllink_usb_pid", + .handler = &vsllink_handle_usb_pid_command, + .mode = COMMAND_CONFIG, + }, + { + .name = "vsllink_usb_bulkin", + .handler = &vsllink_handle_usb_bulkin_command, + .mode = COMMAND_CONFIG, + }, + { + .name = "vsllink_usb_bulkout", + .handler = &vsllink_handle_usb_bulkout_command, + .mode = COMMAND_CONFIG, + }, + { + .name = "vsllink_usb_interface", + .handler = &vsllink_handle_usb_interface_command, + .mode = COMMAND_CONFIG, + }, + { + .name = "vsllink_mode", + .handler = &vsllink_handle_mode_command, + .mode = COMMAND_CONFIG, + }, + COMMAND_REGISTRATION_DONE +}; + static int vsllink_register_commands(struct command_context *cmd_ctx) { - COMMAND_REGISTER(cmd_ctx, NULL, "vsllink_usb_vid", - vsllink_handle_usb_vid_command, COMMAND_CONFIG, - NULL); - COMMAND_REGISTER(cmd_ctx, NULL, "vsllink_usb_pid", - vsllink_handle_usb_pid_command, COMMAND_CONFIG, - NULL); - COMMAND_REGISTER(cmd_ctx, NULL, "vsllink_usb_bulkin", - vsllink_handle_usb_bulkin_command, COMMAND_CONFIG, - NULL); - COMMAND_REGISTER(cmd_ctx, NULL, "vsllink_usb_bulkout", - vsllink_handle_usb_bulkout_command, COMMAND_CONFIG, - NULL); - COMMAND_REGISTER(cmd_ctx, NULL, "vsllink_usb_interface", - vsllink_handle_usb_interface_command, COMMAND_CONFIG, - NULL); - COMMAND_REGISTER(cmd_ctx, NULL, "vsllink_mode", - vsllink_handle_mode_command, COMMAND_CONFIG, - NULL); - - return ERROR_OK; + return register_commands(cmd_ctx, NULL, vsllink_command_handlers); } struct jtag_interface vsllink_interface = { commit 355a67303206fb8954827ab7e413f1d882149c90 Author: Zachary T Welch <zw...@su...> Date: Fri Nov 20 21:02:28 2009 -0800 jtag: use register_commands() Use register commands with command registration array. diff --git a/src/jtag/tcl.c b/src/jtag/tcl.c index bd672b6..81dbdb5 100644 --- a/src/jtag/tcl.c +++ b/src/jtag/tcl.c @@ -1413,66 +1413,129 @@ COMMAND_HANDLER(handle_tms_sequence_command) return ERROR_OK; } +static const struct command_registration jtag_command_handlers[] = { + { + .name = "interface", + .handler = &handle_interface_command, + .mode = COMMAND_CONFIG, + .help = "select a JTAG interface", + .usage = "<driver_name>", + }, + { + .name = "interface_list", + .handler = &handle_interface_list_command, + .mode = COMMAND_ANY, + .help = "list all built-in interfaces", + }, + { + .name = "jtag_khz", + .handler = &handle_jtag_khz_command, + .mode = COMMAND_ANY, + .help = "set maximum jtag speed (if supported)", + .usage = "<khz:0=rtck>", + }, + { + .name = "jtag_rclk", + .handler = &handle_jtag_rclk_command, + .mode = COMMAND_ANY, + .help = "set JTAG speed to RCLK or use fallback speed", + .usage = "<fallback_speed_khz>", + }, + { + .name = "reset_config", + .handler = &handle_reset_config_command, + .mode = COMMAND_ANY, + .help = "configure JTAG reset behavior", + .usage = "[none|trst_only|srst_only|trst_and_srst] " + "[srst_pulls_trst|trst_pulls_srst|combined|separate] " + "[srst_gates_jtag|srst_nogate] " + "[trst_push_pull|trst_open_drain] " + "[srst_push_pull|srst_open_drain]", + }, + { + .name = "jtag_nsrst_delay", + .handler = &handle_jtag_nsrst_delay_command, + .mode = COMMAND_ANY, + .help = "delay after deasserting srst in ms", + .usage = "<ms>", + }, + { + .name = "jtag_ntrst_delay", + .handler = &handle_jtag_ntrst_delay_command, + .mode = COMMAND_ANY, + .help = "delay after deasserting trst in ms", + .usage = "<ms>" + }, + { + .name = "jtag_nsrst_assert_width", + .handler = &handle_jtag_nsrst_assert_width_command, + .mode = COMMAND_ANY, + .help = "delay after asserting srst in ms", + .usage = "<ms>" + }, + { + .name = "jtag_ntrst_assert_width", + .handler = &handle_jtag_ntrst_assert_width_command, + .mode = COMMAND_ANY, + .help = "delay after asserting trst in ms", + .usage = "<ms>" + }, + { + .name = "scan_chain", + .handler = &handle_scan_chain_command, + .mode = COMMAND_EXEC, + .help = "print current scan chain configuration", + }, + { + .name = "jtag_reset", + .handler = &handle_jtag_reset_command, + .mode = COMMAND_EXEC, + .help = "toggle reset lines", + .usage = "<trst> <srst>", + }, + { + .name = "runtest", + .handler = &handle_runtest_command, + .mode = COMMAND_EXEC, + .help = "move to Run-Test/Idle, and execute <num_cycles>", + .usage = "<num_cycles>" + }, + { + .name = "irscan", + .handler = &handle_irscan_command, + .mode = COMMAND_EXEC, + .help = "execute IR scan", + .usage = "<device> <instr> [dev2] [instr2] ...", + }, + { + .name = "verify_ircapture", + .handler = &handle_verify_ircapture_command, + .mode = COMMAND_ANY, + .help = "verify value captured during Capture-IR", + .usage = "<enable | disable>", + }, + { + .name = "verify_jtag", + .handler = &handle_verify_jtag_command, + .mode = COMMAND_ANY, + .help = "verify value capture", + .usage = "<enable | disable>", + }, + { + .name = "tms_sequence", + .handler = &handle_tms_sequence_command, + .mode = COMMAND_ANY, + .help = "choose short(default) or long tms_sequence", + .usage = "<short | long>", + }, + COMMAND_REGISTRATION_DONE +}; + int jtag_register_commands(struct command_context *cmd_ctx) { register_jim(cmd_ctx, "jtag", jim_jtag_command, "perform jtag tap actions"); - COMMAND_REGISTER(cmd_ctx, NULL, "interface", - handle_interface_command, COMMAND_CONFIG, - "try to configure interface"); - COMMAND_REGISTER(cmd_ctx, NULL, "interface_list", - &handle_interface_list_command, COMMAND_ANY, - "list all built-in interfaces"); - - COMMAND_REGISTER(cmd_ctx, NULL, "jtag_khz", - handle_jtag_khz_command, COMMAND_ANY, - "set maximum jtag speed (if supported); " - "parameter is maximum khz, or 0 for adaptive clocking (RTCK)."); - COMMAND_REGISTER(cmd_ctx, NULL, "jtag_rclk", - handle_jtag_rclk_command, COMMAND_ANY, - "fallback_speed_khz - set JTAG speed to RCLK or use fallback speed"); - COMMAND_REGISTER(cmd_ctx, NULL, "reset_config", - handle_reset_config_command, COMMAND_ANY, - "reset_config " - "[none|trst_only|srst_only|trst_and_srst] " - "[srst_pulls_trst|trst_pulls_srst|combined|separate] " - "[srst_gates_jtag|srst_nogate] " - "[trst_push_pull|trst_open_drain] " - "[srst_push_pull|srst_open_drain]"); - - COMMAND_REGISTER(cmd_ctx, NULL, "jtag_nsrst_delay", - handle_jtag_nsrst_delay_command, COMMAND_ANY, - "jtag_nsrst_delay <ms> " - "- delay after deasserting srst in ms"); - COMMAND_REGISTER(cmd_ctx, NULL, "jtag_ntrst_delay", - handle_jtag_ntrst_delay_command, COMMAND_ANY, - "jtag_ntrst_delay <ms> " - "- delay after deasserting trst in ms"); - - COMMAND_REGISTER(cmd_ctx, NULL, "jtag_nsrst_assert_width", - handle_jtag_nsrst_assert_width_command, COMMAND_ANY, - "jtag_nsrst_assert_width <ms> " - "- delay after asserting srst in ms"); - COMMAND_REGISTER(cmd_ctx, NULL, "jtag_ntrst_assert_width", - handle_jtag_ntrst_assert_width_command, COMMAND_ANY, - "jtag_ntrst_assert_width <ms> " - "- delay after asserting trst in ms"); - - COMMAND_REGISTER(cmd_ctx, NULL, "scan_chain", - handle_scan_chain_command, COMMAND_EXEC, - "print current scan chain configuration"); - - COMMAND_REGISTER(cmd_ctx, NULL, "jtag_reset", - handle_jtag_reset_command, COMMAND_EXEC, - "toggle reset lines <trst> <srst>"); - COMMAND_REGISTER(cmd_ctx, NULL, "runtest", - handle_runtest_command, COMMAND_EXEC, - "move to Run-Test/Idle, and execute <num_cycles>"); - COMMAND_REGISTER(cmd_ctx, NULL, "irscan", - handle_irscan_command, COMMAND_EXEC, - "execute IR scan <device> <instr> [dev2] [instr2] ..."); - register_jim(cmd_ctx, "drscan", Jim_Command_drscan, "execute DR scan <device> " "<num_bits> <value> <num_bits1> <value2> ..."); @@ -1484,18 +1547,7 @@ int jtag_register_commands(struct command_context *cmd_ctx) "<state1>,<state2>,<state3>... " "- move JTAG to state1 then to state2, state3, etc."); - COMMAND_REGISTER(cmd_ctx, NULL, "verify_ircapture", - handle_verify_ircapture_command, COMMAND_ANY, - "verify value captured during Capture-IR <enable | disable>"); - COMMAND_REGISTER(cmd_ctx, NULL, "verify_jtag", - handle_verify_jtag_command, COMMAND_ANY, - "verify value capture <enable | disable>"); - - COMMAND_REGISTER(cmd_ctx, NULL, "tms_sequence", - handle_tms_sequence_command, COMMAND_ANY, - "choose short(default) or long tms_sequence <short | long>"); - - return ERROR_OK; + return register_commands(cmd_ctx, NULL, jtag_command_handlers); } commit 9a31d66b3ff4b877d1f1125d24cbf127234f153a Author: Zachary T Welch <zw...@su...> Date: Fri Nov 20 21:00:23 2009 -0800 presto: use register_commands() Use register_commands() with command registration array. diff --git a/src/jtag/presto.c b/src/jtag/presto.c index f22bd9e..dc40750 100644 --- a/src/jtag/presto.c +++ b/src/jtag/presto.c @@ -739,11 +739,20 @@ COMMAND_HANDLER(presto_handle_serial_command) return ERROR_OK; } +static const struct command_registration presto_command_handlers[] = { + { + .name = "presto_serial", + .handler = &presto_handle_serial_command, + .mode = COMMAND_CONFIG, + .help = "configure serial port", + .usage = "<devname>", + }, + COMMAND_REGISTRATION_DONE +}; + static int presto_jtag_register_commands(struct command_context *cmd_ctx) { - COMMAND_REGISTER(cmd_ctx, NULL, "presto_serial", presto_handle_serial_command, - COMMAND_CONFIG, NULL); - return ERROR_OK; + return register_commands(cmd_ctx, NULL, presto_command_handlers); } static int presto_jtag_init(void) commit 339e08baa5d000b1efe8c85ddd516d0b967992b2 Author: Zachary T Welch <zw...@su...> Date: Fri Nov 20 20:17:52 2009 -0800 parport: use register_commands() Use register_commands() with a command registration array. diff --git a/src/jtag/parport.c b/src/jtag/parport.c index 4b4df09..abf0d29 100644 --- a/src/jtag/parport.c +++ b/src/jtag/parport.c @@ -482,28 +482,45 @@ COMMAND_HANDLER(parport_handle_parport_toggling_time_command) return ERROR_OK; } -static int parport_register_commands(struct command_context *cmd_ctx) -{ - COMMAND_REGISTER(cmd_ctx, NULL, "parport_port", - parport_handle_parport_port_command, COMMAND_CONFIG, - "either the address of the I/O port " - "or the number of the '/dev/parport' device"); - - COMMAND_REGISTER(cmd_ctx, NULL, "parport_cable", - parport_handle_parport_cable_command, COMMAND_CONFIG, - "the layout of the parallel port cable " - "used to connect to the target"); - - COMMAND_REGISTER(cmd_ctx, NULL, "parport_write_on_exit", - parport_handle_write_on_exit_command, COMMAND_CONFIG, - "configure the parallel driver to write " - "a known value to the parallel interface"); +static const struct command_registration parport_command_handlers[] = { + { + .name = "parport_port", + .handler = &parport_handle_parport_port_command, + .mode = COMMAND_CONFIG, + .help = "either the address of the I/O port " + "or the number of the '/dev/parport' device", + .usage = "[<port|devname>]", + }, + { + .name = "parport_cable", + .handler = &parport_handle_parport_cable_command, + .mode = COMMAND_CONFIG, + .help = "the layout of the parallel port cable " + "used to connect to the target", + .usage = "[<layout>]", + }, + { + .name = "parport_write_on_exit", + .handler = &parport_handle_write_on_exit_command, + .mode = COMMAND_CONFIG, + .help = "configure the parallel driver to write " + "a known value to the parallel interface", + .usage = "[<on|off>]", + }, + { + .name = "parport_toggling_time", + .handler = &parport_handle_parport_toggling_time_command, + .mode = COMMAND_CONFIG, + .help = "time <ns> it takes for the hardware to toggle TCK", + .usage = "[<ns>]", + }, + COMMAND_REGISTRATION_DONE +}; - COMMAND_REGISTER(cmd_ctx, NULL, "parport_toggling_time", - parport_handle_parport_toggling_time_command, COMMAND_ANY, - "time <ns> it takes for the hardware to toggle TCK"); - return ERROR_OK; +static int parport_register_commands(struct command_context *cmd_ctx) +{ + return register_commands(cmd_ctx, NULL, parport_command_handlers); } struct jtag_interface parport_interface = { commit b1d034bf2f665cfa5633c8c6b46570d7ce6064a4 Author: Zachary T Welch <zw...@su...> Date: Fri Nov 20 20:12:21 2009 -0800 jlink: use register_commands() Use register_commands() with command registration array. diff --git a/src/jtag/jlink.c b/src/jtag/jlink.c index 1ca9c39..24fb0e8 100644 --- a/src/jtag/jlink.c +++ b/src/jtag/jlink.c @@ -627,16 +627,26 @@ COMMAND_HANDLER(jlink_handle_jlink_hw_jtag_command) return ERROR_OK; } +static const struct command_registration jlink_command_handlers[] = { + { + .name = "jlink_info", + .handler = &jlink_handle_jlink_info_command, + .mode = COMMAND_EXEC, + .help = "show jlink info", + }, + { + .name = "jlink_hw_jtag", + .handler = &jlink_handle_jlink_hw_jtag_command, + .mode = COMMAND_EXEC, + .help = "access J-Link HW JTAG command version", + .usage = "[2|3]", + }, + COMMAND_REGISTRATION_DONE +}; + static int jlink_register_commands(struct command_context *cmd_ctx) { - - COMMAND_REGISTER(cmd_ctx, NULL, "jlink_info", - &jlink_handle_jlink_info_command, COMMAND_EXEC, - "query jlink info"); - COMMAND_REGISTER(cmd_ctx, NULL, "jlink_hw_jtag", - &jlink_handle_jlink_hw_jtag_command, COMMAND_EXEC, - "set/get jlink hw jtag command version [2 | 3]"); - return ERROR_OK; + return register_commands(cmd_ctx, NULL, jlink_command_handlers); } struct jtag_interface jlink_interface = { commit 779bdbe797b9c25b9f297b4f29500e847baf28c3 Author: Zachary T Welch <zw...@su...> Date: Fri Nov 20 20:11:58 2009 -0800 gw16012: use register_commands() Use register_commands() with command registration array. diff --git a/src/jtag/gw16012.c b/src/jtag/gw16012.c index bc0e472..0e495f9 100644 --- a/src/jtag/gw16012.c +++ b/src/jtag/gw16012.c @@ -562,13 +562,20 @@ COMMAND_HANDLER(gw16012_handle_parport_port_command) return ERROR_OK; } +static const struct command_registration gw16012_command_handlers[] = { + { + .name = "parport_port", + .handler = &gw16012_handle_parport_port_command, + .mode = COMMAND_CONFIG, + .help = "configure the parallel port to use", + .usage = "<port_num>", + }, + COMMAND_REGISTRATION_DONE +}; + static int gw16012_register_commands(struct command_context *cmd_ctx) { - COMMAND_REGISTER(cmd_ctx, NULL, "parport_port", - gw16012_handle_parport_port_command, COMMAND_CONFIG, - NULL); - - return ERROR_OK; + return register_commands(cmd_ctx, NULL, gw16012_command_handlers); } struct jtag_interface gw16012_interface = { commit 3ab599a7e43af7350b380e7ffcc5fdcd75b42a65 Author: Zachary T Welch <zw...@su...> Date: Fri Nov 20 20:06:50 2009 -0800 ft2232: use register_commands() Use register_commands() with a command registration array. diff --git a/src/jtag/ft2232.c b/src/jtag/ft2232.c index e560b22..d145505 100644 --- a/src/jtag/ft2232.c +++ b/src/jtag/ft2232.c @@ -3969,26 +3969,49 @@ static void ktlink_blink(void) buffer_write(high_direction); } +static const struct command_registration ft2232_command_handlers[] = { + { + .name = "ft2232_device_desc", + .handler = &ft2232_handle_device_desc_command, + .mode = COMMAND_CONFIG, + .help = "set the USB device description of the FTDI FT2232 device", + .usage = "<description>", + }, + { + .name = "ft2232_serial", + .handler = &ft2232_handle_serial_command, + .mode = COMMAND_CONFIG, + .help = "set the serial number of the FTDI FT2232 device", + .usage = "<serial#>", + }, + { + .name = "ft2232_layout", + .handler = &ft2232_handle_layout_command, + .mode = COMMAND_CONFIG, + .help = "set the layout of the FT2232 GPIO signals used " + "to control output-enables and reset signals", + .usage = "<layout>", + }, + { + .name = "ft2232_vid_pid", + .handler = &ft2232_handle_vid_pid_command, + .mode = COMMAND_CONFIG, + .help = "the vendor ID and product ID of the FTDI FT2232 device", + .usage = "<vid> <pid> [...]", + }, + { + .name = "ft2232_latency", + .handler = &ft2232_handle_latency_command, + .mode = COMMAND_CONFIG, + .help = "set the FT2232 latency timer to a new value", + .usage = "<vid> <pid> [...]", + }, + COMMAND_REGISTRATION_DONE +}; + static int ft2232_register_commands(struct command_context* cmd_ctx) { - COMMAND_REGISTER(cmd_ctx, NULL, "ft2232_device_desc", - ft2232_handle_device_desc_command, COMMAND_CONFIG, - "the USB device description of the FTDI FT2232 device"); - COMMAND_REGISTER(cmd_ctx, NULL, "ft2232_serial", - ft2232_handle_serial_command, COMMAND_CONFIG, - "the serial number of the FTDI FT2232 device"); - COMMAND_REGISTER(cmd_ctx, NULL, "ft2232_layout", - ft2232_handle_layout_command, COMMAND_CONFIG, - "the layout of the FT2232 GPIO signals used " - "to control output-enables and reset signals"); - COMMAND_REGISTER(cmd_ctx, NULL, "ft2232_vid_pid", - ft2232_handle_vid_pid_command, COMMAND_CONFIG, - "the vendor ID and product ID of the FTDI FT2232 device"); - COMMAND_REGISTER(cmd_ctx, NULL, "ft2232_latency", - ft2232_handle_latency_command, COMMAND_CONFIG, - "set the FT2232 latency timer to a new value"); - - return ERROR_OK; + return register_commands(cmd_ctx, NULL, ft2232_command_handlers); } commit 30be874de8ee9d8269ce3441c92a15b96c68a398 Author: Zachary T Welch <zw...@su...> Date: Fri Nov 20 19:58:07 2009 -0800 at91rm9200: use register_commands() Use register_commands() with command registration array. --- This module was broken by previous changes, but no one has complained. Are there still users for this modules? diff --git a/src/jtag/at91rm9200.c b/src/jtag/at91rm9200.c index 024dd6d..ff9f7a4 100644 --- a/src/jtag/at91rm9200.c +++ b/src/jtag/at91rm9200.c @@ -200,11 +200,18 @@ static int at91rm9200_handle_device_command(struct command_context *cmd_ctx, cha return ERROR_OK; } +static const struct command_registration at91rm9200_command_handlers[] = { + { + .name = "at91rm9200_device", + .handler = &at91rm9200_handle_device_command, + .mode = COMMAND_CONFIG, + .help = "query armjtagew info", + }, +}; + static int at91rm9200_register_commands(struct command_context *cmd_ctx) { - COMMAND_REGISTER(cmd_ctx, NULL, "at91rm9200_device", at91rm9200_handle_device_command, - COMMAND_CONFIG, NULL); - return ERROR_OK; + return register_commands(cmd_ctx, NULL, at91rm9200_command_handlers); } static int at91rm9200_init(void) commit 0af32bb9381c9fe3f6be425c7fedfc88d4590178 Author: Zachary T Welch <zw...@su...> Date: Fri Nov 20 19:56:02 2009 -0800 arm-jtag-ew: use register_commands() Uses register_commands() with command registration array. diff --git a/src/jtag/arm-jtag-ew.c b/src/jtag/arm-jtag-ew.c index f239371..ef2b04f 100644 --- a/src/jtag/arm-jtag-ew.c +++ b/src/jtag/arm-jtag-ew.c @@ -502,12 +502,19 @@ COMMAND_HANDLER(armjtagew_handle_armjtagew_info_command) return ERROR_OK; } +static const struct command_registration armjtagew_command_handlers[] = { + { + .name = "armjtagew_info", + .handler = &armjtagew_handle_armjtagew_info_command, + .mode = COMMAND_EXEC, + .help = "query armjtagew info", + }, + COMMAND_REGISTRATION_DONE +}; + static int armjtagew_register_commands(struct command_context *cmd_ctx) { - COMMAND_REGISTER(cmd_ctx, NULL, "armjtagew_info", - &armjtagew_handle_armjtagew_info_command, COMMAND_EXEC, - "query armjtagew info"); - return ERROR_OK; + return register_commands(cmd_ctx, NULL, armjtagew_command_handlers); } struct jtag_interface armjtagew_interface = { commit 48429dcfad4c05dc03fd94484da1078b30afd4f3 Author: Zachary T Welch <zw...@su...> Date: Fri Nov 20 19:53:28 2009 -0800 amt_jtagaccel: use register_commands() Use register_commands() with command_registration array. diff --git a/src/jtag/amt_jtagaccel.c b/src/jtag/amt_jtagaccel.c index 0aabdc9..c3f3279 100644 --- a/src/jtag/amt_jtagaccel.c +++ b/src/jtag/amt_jtagaccel.c @@ -540,16 +540,27 @@ COMMAND_HANDLER(amt_jtagaccel_handle_rtck_command) return ERROR_OK; } +static const struct command_registration amtjtagaccel_command_handlers[] = { + { + .name = "parport_port", + .handler = &amt_jtagaccel_handle_parport_port_command, + .mode = COMMAND_CONFIG, + .help = "configure the parallel port to use", + .usage = "<port_num>", + }, + { + .name = "parport_port", + .handler = &amt_jtagaccel_handle_rtck_command, + .mode = COMMAND_CONFIG, + .help = "enable RTCK", + .usage = "<enable|disable>", + }, + COMMAND_REGISTRATION_DONE +}; + static int amt_jtagaccel_register_commands(struct command_context *cmd_ctx) { - COMMAND_REGISTER(cmd_ctx, NULL, "parport_port", - amt_jtagaccel_handle_parport_port_command, COMMAND_CONFIG, - NULL); - COMMAND_REGISTER(cmd_ctx, NULL, "rtck", - amt_jtagaccel_handle_rtck_command, COMMAND_CONFIG, - NULL); - - return ERROR_OK; + return register_commands(cmd_ctx, NULL, amtjtagaccel_command_handlers); } struct jtag_interface amt_jtagaccel_interface = { ----------------------------------------------------------------------- Summary of changes: src/jtag/amt_jtagaccel.c | 30 +++++--- src/jtag/arm-jtag-ew.c | 21 +++-- src/jtag/at91rm9200.c | 13 +++- src/jtag/dummy.c | 6 -- src/jtag/ft2232.c | 63 ++++++++++------ src/jtag/gw16012.c | 20 +++-- src/jtag/interface.h | 4 +- src/jtag/jlink.c | 32 +++++--- src/jtag/parport.c | 73 +++++++++++------- src/jtag/presto.c | 21 ++++-- src/jtag/rlink/rlink.c | 44 ----------- src/jtag/tcl.c | 191 +++++++++++++++++++++++++++++----------------- src/jtag/vsllink.c | 59 +++++++++------ 13 files changed, 328 insertions(+), 249 deletions(-) hooks/post-receive -- Main OpenOCD repository |