diff options
author | Zachary T Welch <zw@superlucidity.net> | 2009-11-22 04:13:56 -0800 |
---|---|---|
committer | Zachary T Welch <zw@superlucidity.net> | 2009-11-24 21:37:34 -0800 |
commit | 2a4a94b7ac4401802832f37ef07b0500efc92f0e (patch) | |
tree | b3e3ee9b0fca580868b895eb958ddfb38d5874c8 | |
parent | 8d46720cda288f498787a706bb2518e6f852b9f1 (diff) | |
download | openocd_libswd-2a4a94b7ac4401802832f37ef07b0500efc92f0e.tar.gz openocd_libswd-2a4a94b7ac4401802832f37ef07b0500efc92f0e.tar.bz2 openocd_libswd-2a4a94b7ac4401802832f37ef07b0500efc92f0e.tar.xz openocd_libswd-2a4a94b7ac4401802832f37ef07b0500efc92f0e.zip |
at91sam3: use register_commands()
-rw-r--r-- | src/flash/at91sam3.c | 62 |
1 files changed, 35 insertions, 27 deletions
diff --git a/src/flash/at91sam3.c b/src/flash/at91sam3.c index d8460b09..75e84953 100644 --- a/src/flash/at91sam3.c +++ b/src/flash/at91sam3.c @@ -2467,35 +2467,43 @@ COMMAND_HANDLER(sam3_handle_slowclk_command) return ERROR_OK; } +static const struct command_registration at91sam3_exec_command_handlers[] = { + { + .name = "gpnvm", + .handler = &sam3_handle_gpnvm_command, + .mode = COMMAND_EXEC, + .usage = "[(set|clear) [<bit_id>]]", + .help = "Without arguments, shows the gpnvm register; " + "otherwise, sets or clear the specified bit.", + }, + { + .name = "info", + .handler = &sam3_handle_info_command, + .mode = COMMAND_EXEC, + .help = "print information about the current sam3 chip", + }, + { + .name = "slowclk", + .handler = &sam3_handle_slowclk_command, + .mode = COMMAND_EXEC, + .usage = "<value>", + .help = "set the slowclock frequency (default 32768hz)", + }, + COMMAND_REGISTRATION_DONE +}; +static const struct command_registration at91sam3_command_handlers[] = { + { + .name = "at91sam3", + .mode = COMMAND_ANY, + .help = "at91sam3 flash command group", + .chain = at91sam3_exec_command_handlers, + }, + COMMAND_REGISTRATION_DONE +}; -static int sam3_registered; -static int -sam3_register_commands(struct command_context *cmd_ctx) +static int sam3_register_commands(struct command_context *cmd_ctx) { - struct command *pCmd; - - // only register once - if (!sam3_registered) { - sam3_registered++; - - pCmd = COMMAND_REGISTER(cmd_ctx, NULL, "at91sam3", NULL, COMMAND_ANY, NULL); - COMMAND_REGISTER(cmd_ctx, pCmd, - "gpnvm", - sam3_handle_gpnvm_command, - COMMAND_EXEC, - "at91sam3 gpnvm [action [<BIT>], by default 'show', otherwise set | clear BIT"); - COMMAND_REGISTER(cmd_ctx, pCmd, - "info", - sam3_handle_info_command, - COMMAND_EXEC, - "at91sam3 info - print information about the current sam3 chip"); - COMMAND_REGISTER(cmd_ctx, pCmd, - "slowclk", - sam3_handle_slowclk_command, - COMMAND_EXEC, - "at91sam3 slowclk [VALUE] set the slowclock frequency (default 32768hz)"); - } - return ERROR_OK; + return register_commands(cmd_ctx, NULL, at91sam3_command_handlers); } struct flash_driver at91sam3_flash = { |