X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fflash%2Fstm32x.c;h=808e32cf8bdfe1a753cdda89ed740f8bf0c72f13;hb=f9606a6cb72d8bce8964b66e5aa5eec5d98a7b1d;hp=4db338d532e2a83920f79cf82c61433c86f3d8de;hpb=2861877b32a7a2f4022a1c3d9b66c9b4879878ac;p=openocd.git diff --git a/src/flash/stm32x.c b/src/flash/stm32x.c index 4db338d532..808e32cf8b 100644 --- a/src/flash/stm32x.c +++ b/src/flash/stm32x.c @@ -905,7 +905,7 @@ COMMAND_HANDLER(stm32x_handle_lock_command) } struct flash_bank *bank; - int retval = CALL_COMMAND_HANDLER(flash_command_get_bank_by_num, 0, &bank); + int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank); if (ERROR_OK != retval) return retval; @@ -951,7 +951,7 @@ COMMAND_HANDLER(stm32x_handle_unlock_command) } struct flash_bank *bank; - int retval = CALL_COMMAND_HANDLER(flash_command_get_bank_by_num, 0, &bank); + int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank); if (ERROR_OK != retval) return retval; @@ -995,7 +995,7 @@ COMMAND_HANDLER(stm32x_handle_options_read_command) } struct flash_bank *bank; - int retval = CALL_COMMAND_HANDLER(flash_command_get_bank_by_num, 0, &bank); + int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank); if (ERROR_OK != retval) return retval; @@ -1051,7 +1051,7 @@ COMMAND_HANDLER(stm32x_handle_options_write_command) } struct flash_bank *bank; - int retval = CALL_COMMAND_HANDLER(flash_command_get_bank_by_num, 0, &bank); + int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank); if (ERROR_OK != retval) return retval; @@ -1160,7 +1160,7 @@ COMMAND_HANDLER(stm32x_handle_mass_erase_command) } struct flash_bank *bank; - int retval = CALL_COMMAND_HANDLER(flash_command_get_bank_by_num, 0, &bank); + int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank); if (ERROR_OK != retval) return retval; @@ -1182,30 +1182,53 @@ COMMAND_HANDLER(stm32x_handle_mass_erase_command) return ERROR_OK; } +static const struct command_registration stm32x_exec_command_handlers[] = { + { + .name = "lock", + .handler = &stm32x_handle_lock_command, + .mode = COMMAND_EXEC, + .help = "lock device", + }, + { + .name = "unlock", + .handler = &stm32x_handle_unlock_command, + .mode = COMMAND_EXEC, + .help = "unlock protected device", + }, + { + .name = "mass_erase", + .handler = &stm32x_handle_mass_erase_command, + .mode = COMMAND_EXEC, + .help = "mass erase device", + }, + { + .name = "options_read", + .handler = &stm32x_handle_options_read_command, + .mode = COMMAND_EXEC, + .help = "read device option bytes", + }, + { + .name = "options_write", + .handler = &stm32x_handle_options_write_command, + .mode = COMMAND_EXEC, + .help = "write device option bytes", + }, + COMMAND_REGISTRATION_DONE +}; +static const struct command_registration stm32x_command_handlers[] = { + { + .name = "stm32x", + .mode = COMMAND_ANY, + .help = "stm32x flash command group", + .chain = stm32x_exec_command_handlers, + }, + COMMAND_REGISTRATION_DONE +}; + static int stm32x_register_commands(struct command_context *cmd_ctx) { - struct command *stm32x_cmd = register_command(cmd_ctx, NULL, "stm32x", - NULL, COMMAND_ANY, "stm32x flash specific commands"); - - register_command(cmd_ctx, stm32x_cmd, "lock", - stm32x_handle_lock_command, COMMAND_EXEC, - "lock device"); - register_command(cmd_ctx, stm32x_cmd, "unlock", - stm32x_handle_unlock_command, COMMAND_EXEC, - "unlock protected device"); - register_command(cmd_ctx, stm32x_cmd, "mass_erase", - stm32x_handle_mass_erase_command, COMMAND_EXEC, - "mass erase device"); - register_command(cmd_ctx, stm32x_cmd, "options_read", - stm32x_handle_options_read_command, COMMAND_EXEC, - "read device option bytes"); - register_command(cmd_ctx, stm32x_cmd, "options_write", - stm32x_handle_options_write_command, COMMAND_EXEC, - "write device option bytes"); - - return ERROR_OK; + return register_commands(cmd_ctx, NULL, stm32x_command_handlers); } - struct flash_driver stm32x_flash = { .name = "stm32x", .register_commands = &stm32x_register_commands,