summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZachary T Welch <zw@superlucidity.net>2009-11-22 04:13:56 -0800
committerZachary T Welch <zw@superlucidity.net>2009-11-24 21:37:34 -0800
commit2a4a94b7ac4401802832f37ef07b0500efc92f0e (patch)
treeb3e3ee9b0fca580868b895eb958ddfb38d5874c8
parent8d46720cda288f498787a706bb2518e6f852b9f1 (diff)
downloadopenocd_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.c62
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 = {