X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fflash%2Fnor%2Fjtagspi.c;h=f40efe84fa0d496eb98653e2b34eef996460129a;hp=73b1c7a26ee994e623d876b5b50e0414f4b5508a;hb=64c2e03b23d9;hpb=e41c0f4906e46d1076ce62a0da5518aa1ca280b8 diff --git a/src/flash/nor/jtagspi.c b/src/flash/nor/jtagspi.c index 73b1c7a26e..f40efe84fa 100644 --- a/src/flash/nor/jtagspi.c +++ b/src/flash/nor/jtagspi.c @@ -30,7 +30,7 @@ struct jtagspi_flash_bank { struct jtag_tap *tap; const struct flash_device *dev; - int probed; + bool probed; uint32_t ir; }; @@ -49,7 +49,7 @@ FLASH_BANK_COMMAND_HANDLER(jtagspi_flash_bank_command) bank->driver_priv = info; info->tap = NULL; - info->probed = 0; + info->probed = false; COMMAND_PARSE_NUMBER(u32, CMD_ARGV[6], info->ir); return ERROR_OK; @@ -153,12 +153,12 @@ static int jtagspi_cmd(struct flash_bank *bank, uint8_t cmd, jtagspi_set_ir(bank); /* passing from an IR scan to SHIFT-DR clears BYPASS registers */ jtag_add_dr_scan(info->tap, n, fields, TAP_IDLE); - jtag_execute_queue(); + int retval = jtag_execute_queue(); if (is_read) flip_u8(data_buf, data, lenb); free(data_buf); - return ERROR_OK; + return retval; } static int jtagspi_probe(struct flash_bank *bank) @@ -170,7 +170,7 @@ static int jtagspi_probe(struct flash_bank *bank) if (info->probed) free(bank->sectors); - info->probed = 0; + info->probed = false; if (bank->target->tap == NULL) { LOG_ERROR("Target has no JTAG tap"); @@ -216,7 +216,7 @@ static int jtagspi_probe(struct flash_bank *bank) return ERROR_FAIL; } - for (int sector = 0; sector < bank->num_sectors; sector++) { + for (unsigned int sector = 0; sector < bank->num_sectors; sector++) { sectors[sector].offset = sector * sectorsize; sectors[sector].size = sectorsize; sectors[sector].is_erased = -1; @@ -224,7 +224,7 @@ static int jtagspi_probe(struct flash_bank *bank) } bank->sectors = sectors; - info->probed = 1; + info->probed = true; return ERROR_OK; } @@ -299,7 +299,7 @@ static int jtagspi_bulk_erase(struct flash_bank *bank) return retval; } -static int jtagspi_sector_erase(struct flash_bank *bank, int sector) +static int jtagspi_sector_erase(struct flash_bank *bank, unsigned int sector) { struct jtagspi_flash_bank *info = bank->driver_priv; int retval; @@ -310,19 +310,19 @@ static int jtagspi_sector_erase(struct flash_bank *bank, int sector) return retval; jtagspi_cmd(bank, info->dev->erase_cmd, &bank->sectors[sector].offset, NULL, 0); retval = jtagspi_wait(bank, JTAGSPI_MAX_TIMEOUT); - LOG_INFO("sector %d took %" PRId64 " ms", sector, timeval_ms() - t0); + LOG_INFO("sector %u took %" PRId64 " ms", sector, timeval_ms() - t0); return retval; } -static int jtagspi_erase(struct flash_bank *bank, int first, int last) +static int jtagspi_erase(struct flash_bank *bank, unsigned int first, + unsigned int last) { - int sector; struct jtagspi_flash_bank *info = bank->driver_priv; int retval = ERROR_OK; - LOG_DEBUG("erase from sector %d to sector %d", first, last); + LOG_DEBUG("erase from sector %u to sector %u", first, last); - if ((first < 0) || (last < first) || (last >= bank->num_sectors)) { + if ((last < first) || (last >= bank->num_sectors)) { LOG_ERROR("Flash sector invalid"); return ERROR_FLASH_SECTOR_INVALID; } @@ -332,9 +332,9 @@ static int jtagspi_erase(struct flash_bank *bank, int first, int last) return ERROR_FLASH_BANK_NOT_PROBED; } - for (sector = first; sector <= last; sector++) { + for (unsigned int sector = first; sector <= last; sector++) { if (bank->sectors[sector].is_protected) { - LOG_ERROR("Flash sector %d protected", sector); + LOG_ERROR("Flash sector %u protected", sector); return ERROR_FAIL; } } @@ -352,7 +352,7 @@ static int jtagspi_erase(struct flash_bank *bank, int first, int last) if (info->dev->erase_cmd == 0x00) return ERROR_FLASH_OPER_UNSUPPORTED; - for (sector = first; sector <= last; sector++) { + for (unsigned int sector = first; sector <= last; sector++) { retval = jtagspi_sector_erase(bank, sector); if (retval != ERROR_OK) { LOG_ERROR("Sector erase failed."); @@ -363,11 +363,10 @@ static int jtagspi_erase(struct flash_bank *bank, int first, int last) return retval; } -static int jtagspi_protect(struct flash_bank *bank, int set, int first, int last) +static int jtagspi_protect(struct flash_bank *bank, int set, unsigned int first, + unsigned int last) { - int sector; - - for (sector = first; sector <= last; sector++) + for (unsigned int sector = first; sector <= last; sector++) bank->sectors[sector].is_protected = set; return ERROR_OK; } @@ -422,16 +421,16 @@ static int jtagspi_write(struct flash_bank *bank, const uint8_t *buffer, uint32_ return ERROR_OK; } -static int jtagspi_info(struct flash_bank *bank, char *buf, int buf_size) +static int jtagspi_info(struct flash_bank *bank, struct command_invocation *cmd) { struct jtagspi_flash_bank *info = bank->driver_priv; if (!(info->probed)) { - snprintf(buf, buf_size, "\nJTAGSPI flash bank not probed yet\n"); + command_print_sameline(cmd, "\nJTAGSPI flash bank not probed yet\n"); return ERROR_OK; } - snprintf(buf, buf_size, "\nSPIFI flash information:\n" + command_print_sameline(cmd, "\nSPIFI flash information:\n" " Device \'%s\' (ID 0x%08" PRIx32 ")\n", info->dev->name, info->dev->device_id);