X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fflash%2Faduc702x.c;h=61ea36a94003585b447d88403d8ad28e5ee8b6bb;hb=fb59ec739a3ae79937020dc2fe5413be0e73e8d3;hp=a4007d07248f0e9a85fdd0c17d8149f70faa541f;hpb=1ee66e0ce730aaaa8113599dc2df76be11bae26e;p=openocd.git diff --git a/src/flash/aduc702x.c b/src/flash/aduc702x.c index a4007d0724..61ea36a940 100644 --- a/src/flash/aduc702x.c +++ b/src/flash/aduc702x.c @@ -29,16 +29,6 @@ #include "time_support.h" -static int aduc702x_flash_bank_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct flash_bank_s *bank); -static int aduc702x_register_commands(struct command_context_s *cmd_ctx); -static int aduc702x_erase(struct flash_bank_s *bank, int first, int last); -static int aduc702x_protect(struct flash_bank_s *bank, int set, int first, int last); -static int aduc702x_write(struct flash_bank_s *bank, uint8_t *buffer, uint32_t offset, uint32_t count); -static int aduc702x_write_single(struct flash_bank_s *bank, uint8_t *buffer, uint32_t offset, uint32_t count); -static int aduc702x_write_block(struct flash_bank_s *bank, uint8_t *buffer, uint32_t offset, uint32_t count); -static int aduc702x_probe(struct flash_bank_s *bank); -static int aduc702x_info(struct flash_bank_s *bank, char *buf, int buf_size); -static int aduc702x_protect_check(struct flash_bank_s *bank); static int aduc702x_build_sector_list(struct flash_bank_s *bank); static int aduc702x_check_flash_completion(target_t* target, unsigned int timeout_ms); static int aduc702x_set_write_enable(target_t *target, int enable); @@ -69,29 +59,9 @@ typedef struct working_area_t *write_algorithm; } aduc702x_flash_bank_t; -flash_driver_t aduc702x_flash = -{ - .name = "aduc702x", - .register_commands = aduc702x_register_commands, - .flash_bank_command = aduc702x_flash_bank_command, - .erase = aduc702x_erase, - .protect = aduc702x_protect, - .write = aduc702x_write, - .probe = aduc702x_probe, - .auto_probe = aduc702x_probe, - .erase_check = default_flash_blank_check, - .protect_check = aduc702x_protect_check, - .info = aduc702x_info -}; - -static int aduc702x_register_commands(struct command_context_s *cmd_ctx) -{ - return ERROR_OK; -} - /* flash bank aduc702x 0 0 0 0 * The ADC7019-28 devices all have the same flash layout */ -static int aduc702x_flash_bank_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct flash_bank_s *bank) +FLASH_BANK_COMMAND_HANDLER(aduc702x_flash_bank_command) { aduc702x_flash_bank_t *nbank; @@ -115,7 +85,7 @@ static int aduc702x_build_sector_list(struct flash_bank_s *bank) // sector size is 512 bank->num_sectors = bank->size / 512; - bank->sectors = malloc(sizeof(flash_sector_t) * bank->num_sectors); + bank->sectors = malloc(sizeof(struct flash_sector) * bank->num_sectors); for (i = 0; i < bank->num_sectors; ++i) { bank->sectors[i].offset = offset; @@ -452,3 +422,15 @@ static int aduc702x_check_flash_completion(target_t* target, unsigned int timeou else return ERROR_OK; } +flash_driver_t aduc702x_flash = { + .name = "aduc702x", + .flash_bank_command = &aduc702x_flash_bank_command, + .erase = &aduc702x_erase, + .protect = &aduc702x_protect, + .write = &aduc702x_write, + .probe = &aduc702x_probe, + .auto_probe = &aduc702x_probe, + .erase_check = &default_flash_blank_check, + .protect_check = &aduc702x_protect_check, + .info = &aduc702x_info + };