};
struct flash_bank *flash_banks;
-static command_t *flash_cmd;
+static struct command *flash_cmd;
/* wafer thin wrapper for invoking the flash driver */
static int flash_driver_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
return p;
}
-int flash_command_get_bank_by_num(
- struct command_context_s *cmd_ctx, const char *str, struct flash_bank **bank)
+COMMAND_HELPER(flash_command_get_bank_by_num,
+ unsigned name_index, struct flash_bank **bank)
{
unsigned bank_num;
- COMMAND_PARSE_NUMBER(uint, str, bank_num);
+ COMMAND_PARSE_NUMBER(uint, args[name_index], bank_num);
*bank = get_flash_bank_by_num(bank_num);
if (!*bank)
}
struct flash_bank *p;
- int retval = flash_command_get_bank_by_num(cmd_ctx, args[0], &p);
+ int retval = CALL_COMMAND_HANDLER(flash_command_get_bank_by_num, 0, &p);
if (ERROR_OK != retval)
return retval;
return ERROR_COMMAND_SYNTAX_ERROR;
struct flash_bank *p;
- int retval = flash_command_get_bank_by_num(cmd_ctx, args[0], &p);
+ int retval = CALL_COMMAND_HANDLER(flash_command_get_bank_by_num, 0, &p);
if (ERROR_OK != retval)
return retval;
return ERROR_OK;
}
-static int flash_check_sector_parameters(struct command_context_s *cmd_ctx,
+static int flash_check_sector_parameters(struct command_context *cmd_ctx,
uint32_t first, uint32_t last, uint32_t num_sectors)
{
if (!(first <= last)) {
duration_start(&bench);
struct flash_bank *p;
- int retval = flash_command_get_bank_by_num(cmd_ctx, args[0], &p);
+ int retval = CALL_COMMAND_HANDLER(flash_command_get_bank_by_num, 0, &p);
if (ERROR_OK != retval)
return retval;
if ((ERROR_OK == retval) && (duration_measure(&bench) == ERROR_OK))
{
- command_print(cmd_ctx, "wrote %lld byte from file %s to flash bank %u"
+ command_print(cmd_ctx, "wrote %zu byte from file %s to flash bank %u"
" at offset 0x%8.8" PRIx32 " in %fs (%0.3f kb/s)",
fileio.size, args[1], p->bank_number, offset,
duration_elapsed(&bench), duration_kbps(&bench, fileio.size));
return ERROR_OK;
}
-int flash_init_drivers(struct command_context_s *cmd_ctx)
+int flash_init_drivers(struct command_context *cmd_ctx)
{
register_jim(cmd_ctx, "ocd_flash_banks",
jim_flash_banks, "return information about the flash banks");
return ERROR_OK;
}
-int flash_register_commands(struct command_context_s *cmd_ctx)
+int flash_register_commands(struct command_context *cmd_ctx)
{
flash_cmd = register_command(cmd_ctx, NULL, "flash",
NULL, COMMAND_ANY, NULL);