X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fflash%2Fstr9x.c;h=98f15e75b4bf7d8d8337b27e70dc7b084fd866e5;hp=1506cb59dd1495244b62eeb374316798281be76b;hb=c4992c6d863d0ead91d84d19bbfe1643d720b205;hpb=ef746e27c55c14b7a4f6381c490e5c175e409c0b diff --git a/src/flash/str9x.c b/src/flash/str9x.c index 1506cb59dd..98f15e75b4 100644 --- a/src/flash/str9x.c +++ b/src/flash/str9x.c @@ -29,6 +29,7 @@ #include "str9x.h" #include "arm966e.h" +#include "algorithm.h" static uint32_t bank1start = 0x00080000; @@ -120,7 +121,7 @@ FLASH_BANK_COMMAND_HANDLER(str9x_flash_bank_command) { struct str9x_flash_bank *str9x_info; - if (argc < 6) + if (CMD_ARGC < 6) { LOG_WARNING("incomplete flash_bank str9x configuration"); return ERROR_FLASH_BANK_INVALID; @@ -635,21 +636,21 @@ COMMAND_HANDLER(str9x_handle_flash_config_command) struct str9x_flash_bank *str9x_info; struct target *target = NULL; - if (argc < 5) + if (CMD_ARGC < 5) { return ERROR_COMMAND_SYNTAX_ERROR; } struct flash_bank *bank; - int retval = flash_command_get_bank_by_num(cmd_ctx, args[0], &bank); + int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank); if (ERROR_OK != retval) return retval; uint32_t bbsr, nbbsr, bbadr, nbbadr; - COMMAND_PARSE_NUMBER(u32, args[1], bbsr); - COMMAND_PARSE_NUMBER(u32, args[2], nbbsr); - COMMAND_PARSE_NUMBER(u32, args[3], bbadr); - COMMAND_PARSE_NUMBER(u32, args[4], nbbadr); + COMMAND_PARSE_NUMBER(u32, CMD_ARGV[1], bbsr); + COMMAND_PARSE_NUMBER(u32, CMD_ARGV[2], nbbsr); + COMMAND_PARSE_NUMBER(u32, CMD_ARGV[3], bbadr); + COMMAND_PARSE_NUMBER(u32, CMD_ARGV[4], nbbadr); str9x_info = bank->driver_priv; @@ -675,21 +676,29 @@ COMMAND_HANDLER(str9x_handle_flash_config_command) return ERROR_OK; } -static int str9x_register_commands(struct command_context *cmd_ctx) -{ - struct command *str9x_cmd = register_command(cmd_ctx, NULL, "str9x", - NULL, COMMAND_ANY, "str9x flash commands"); - - register_command(cmd_ctx, str9x_cmd, "flash_config", - str9x_handle_flash_config_command, COMMAND_EXEC, - "configure str9 flash controller"); - - return ERROR_OK; -} +static const struct command_registration str9x_config_command_handlers[] = { + { + .name = "disable_jtag", + .handler = &str9x_handle_flash_config_command, + .mode = COMMAND_EXEC, + .help = "configure str9x flash controller", + .usage = " ", + }, + COMMAND_REGISTRATION_DONE +}; +static const struct command_registration str9x_command_handlers[] = { + { + .name = "str9x", + .mode = COMMAND_ANY, + .help = "str9x flash command group", + .chain = str9x_config_command_handlers, + }, + COMMAND_REGISTRATION_DONE +}; struct flash_driver str9x_flash = { .name = "str9x", - .register_commands = &str9x_register_commands, + .commands = str9x_command_handlers, .flash_bank_command = &str9x_flash_bank_command, .erase = &str9x_erase, .protect = &str9x_protect,