X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fflash%2Fnor%2Fw600.c;h=52105bd6d9db2b08e3645d627bc1698bb7a5f24f;hb=c270e96637e936ac89d8b9c82e4528303b5bbdae;hp=3d376161784e4579056ad7c2c9d264d2c55351ed;hpb=fdaa8711aef0fb70d289c7cb733313cf3dce3b02;p=openocd.git diff --git a/src/flash/nor/w600.c b/src/flash/nor/w600.c index 3d37616178..52105bd6d9 100644 --- a/src/flash/nor/w600.c +++ b/src/flash/nor/w600.c @@ -1,19 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + /*************************************************************************** * Copyright (C) 2018 by Simon Qian * * SimonQian@SimonQian.com * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program. If not, see . * ***************************************************************************/ #ifdef HAVE_CONFIG_H @@ -87,7 +76,7 @@ static const struct w600_flash_param w600_param[] = { }; struct w600_flash_bank { - int probed; + bool probed; uint32_t id; const struct w600_flash_param *param; @@ -107,7 +96,7 @@ FLASH_BANK_COMMAND_HANDLER(w600_flash_bank_command) w600_info = malloc(sizeof(struct w600_flash_bank)); bank->driver_priv = w600_info; - w600_info->probed = 0; + w600_info->probed = false; w600_info->register_base = QFLASH_REGBASE; w600_info->user_bank_size = bank->size; @@ -204,7 +193,8 @@ static int w600_start(struct flash_bank *bank, uint32_t cmd, uint32_t addr, return retval; } -static int w600_erase(struct flash_bank *bank, int first, int last) +static int w600_erase(struct flash_bank *bank, unsigned int first, + unsigned int last) { int retval = ERROR_OK; @@ -217,7 +207,7 @@ static int w600_erase(struct flash_bank *bank, int first, int last) return ERROR_FAIL; } - for (int i = first; i <= last; i++) { + for (unsigned int i = first; i <= last; i++) { retval = w600_start(bank, QFLASH_CMD_SE, QFLASH_ADDR(bank->sectors[i].offset), 0); if (retval != ERROR_OK) @@ -239,13 +229,13 @@ static int w600_write(struct flash_bank *bank, const uint8_t *buffer, } if ((offset % W600_FLASH_PAGESIZE) != 0) { - LOG_WARNING("offset 0x%" PRIx32 " breaks required %" PRIu32 "-byte alignment", + LOG_WARNING("offset 0x%" PRIx32 " breaks required %d-byte alignment", offset, W600_FLASH_PAGESIZE); return ERROR_FLASH_DST_BREAKS_ALIGNMENT; } if ((count % W600_FLASH_PAGESIZE) != 0) { - LOG_WARNING("count 0x%" PRIx32 " breaks required %" PRIu32 "-byte alignment", + LOG_WARNING("count 0x%" PRIx32 " breaks required %d-byte alignment", offset, W600_FLASH_PAGESIZE); return ERROR_FLASH_DST_BREAKS_ALIGNMENT; } @@ -286,7 +276,7 @@ static int w600_probe(struct flash_bank *bank) uint32_t flash_id; size_t i; - w600_info->probed = 0; + w600_info->probed = false; /* read stm32 device id register */ int retval = w600_get_flash_id(bank, &flash_id); @@ -322,7 +312,7 @@ static int w600_probe(struct flash_bank *bank) flash_size = 1 << flash_size; } - LOG_INFO("flash size = %dkbytes", flash_size / 1024); + LOG_INFO("flash size = %" PRIu32 "kbytes", flash_size / 1024); /* calculate numbers of pages */ size_t num_pages = flash_size / W600_FLASH_SECSIZE; @@ -330,10 +320,8 @@ static int w600_probe(struct flash_bank *bank) /* check that calculation result makes sense */ assert(num_pages > 0); - if (bank->sectors) { - free(bank->sectors); - bank->sectors = NULL; - } + free(bank->sectors); + bank->sectors = NULL; bank->base = W600_FLASH_BASE; bank->size = num_pages * W600_FLASH_SECSIZE; @@ -346,11 +334,11 @@ static int w600_probe(struct flash_bank *bank) bank->sectors[i].offset = i * W600_FLASH_SECSIZE; bank->sectors[i].size = W600_FLASH_SECSIZE; bank->sectors[i].is_erased = -1; - /* offset 0 to W600_FLASH_PROTECT_SIZE shoule be protected */ + /* offset 0 to W600_FLASH_PROTECT_SIZE should be protected */ bank->sectors[i].is_protected = (i < W600_FLASH_PROTECT_SIZE / W600_FLASH_SECSIZE); } - w600_info->probed = 1; + w600_info->probed = true; return ERROR_OK; } @@ -363,7 +351,7 @@ static int w600_auto_probe(struct flash_bank *bank) return w600_probe(bank); } -static int get_w600_info(struct flash_bank *bank, char *buf, int buf_size) +static int get_w600_info(struct flash_bank *bank, struct command_invocation *cmd) { uint32_t flash_id; @@ -372,11 +360,11 @@ static int get_w600_info(struct flash_bank *bank, char *buf, int buf_size) if (retval != ERROR_OK) return retval; - snprintf(buf, buf_size, "w600 : 0x%08" PRIx32 "", flash_id); + command_print_sameline(cmd, "w600 : 0x%08" PRIx32 "", flash_id); return ERROR_OK; } -struct flash_driver w600_flash = { +const struct flash_driver w600_flash = { .name = "w600", .flash_bank_command = w600_flash_bank_command, .erase = w600_erase,