X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fflash%2Fnor%2Fvirtual.c;h=c5e33385e6b47d5853221779d8409c792a75657f;hb=382148e4dd437978997d668f6ec715ddcec1c46e;hp=c9e1942acb5f62632e5c9d8de11bf2fc74565105;hpb=ef14384b681af4f731f768bb866457832af6925f;p=fw%2Fopenocd diff --git a/src/flash/nor/virtual.c b/src/flash/nor/virtual.c index c9e1942ac..c5e33385e 100644 --- a/src/flash/nor/virtual.c +++ b/src/flash/nor/virtual.c @@ -1,19 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + /*************************************************************************** * Copyright (C) 2010 by Spencer Oliver * * spen@spen-soft.co.uk * - * * - * 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 @@ -27,7 +16,7 @@ static struct flash_bank *virtual_get_master_bank(struct flash_bank *bank) struct flash_bank *master_bank; master_bank = get_flash_bank_by_name_noprobe(bank->driver_priv); - if (master_bank == NULL) + if (!master_bank) LOG_ERROR("master flash bank '%s' does not exist", (char *)bank->driver_priv); return master_bank; @@ -37,7 +26,7 @@ static void virtual_update_bank_info(struct flash_bank *bank) { struct flash_bank *master_bank = virtual_get_master_bank(bank); - if (master_bank == NULL) + if (!master_bank) return; /* update the info we do not have */ @@ -64,7 +53,7 @@ FLASH_BANK_COMMAND_HANDLER(virtual_flash_bank_command) const char *bank_name = CMD_ARGV[6]; struct flash_bank *master_bank = get_flash_bank_by_name_noprobe(bank_name); - if (master_bank == NULL) { + if (!master_bank) { LOG_ERROR("master flash bank '%s' does not exist", bank_name); return ERROR_FLASH_OPERATION_FAILED; } @@ -79,33 +68,25 @@ static int virtual_protect(struct flash_bank *bank, int set, unsigned int first, unsigned int last) { struct flash_bank *master_bank = virtual_get_master_bank(bank); - int retval; - if (master_bank == NULL) + if (!master_bank) return ERROR_FLASH_OPERATION_FAILED; - /* call master handler */ - retval = master_bank->driver->protect(master_bank, set, first, last); - if (retval != ERROR_OK) - return retval; - - return ERROR_OK; + return flash_driver_protect(master_bank, set, first, last); } static int virtual_protect_check(struct flash_bank *bank) { struct flash_bank *master_bank = virtual_get_master_bank(bank); - int retval; - if (master_bank == NULL) + if (!master_bank) return ERROR_FLASH_OPERATION_FAILED; - /* call master handler */ - retval = master_bank->driver->protect_check(master_bank); - if (retval != ERROR_OK) - return retval; + if (!master_bank->driver->protect_check) + return ERROR_FLASH_OPER_UNSUPPORTED; - return ERROR_OK; + /* call master handler */ + return master_bank->driver->protect_check(master_bank); } static int virtual_erase(struct flash_bank *bank, unsigned int first, @@ -114,7 +95,7 @@ static int virtual_erase(struct flash_bank *bank, unsigned int first, struct flash_bank *master_bank = virtual_get_master_bank(bank); int retval; - if (master_bank == NULL) + if (!master_bank) return ERROR_FLASH_OPERATION_FAILED; /* call master handler */ @@ -131,7 +112,7 @@ static int virtual_write(struct flash_bank *bank, const uint8_t *buffer, struct flash_bank *master_bank = virtual_get_master_bank(bank); int retval; - if (master_bank == NULL) + if (!master_bank) return ERROR_FLASH_OPERATION_FAILED; /* call master handler */ @@ -147,7 +128,7 @@ static int virtual_probe(struct flash_bank *bank) struct flash_bank *master_bank = virtual_get_master_bank(bank); int retval; - if (master_bank == NULL) + if (!master_bank) return ERROR_FLASH_OPERATION_FAILED; /* call master handler */ @@ -166,7 +147,7 @@ static int virtual_auto_probe(struct flash_bank *bank) struct flash_bank *master_bank = virtual_get_master_bank(bank); int retval; - if (master_bank == NULL) + if (!master_bank) return ERROR_FLASH_OPERATION_FAILED; /* call master handler */ @@ -180,14 +161,14 @@ static int virtual_auto_probe(struct flash_bank *bank) return ERROR_OK; } -static int virtual_info(struct flash_bank *bank, char *buf, int buf_size) +static int virtual_info(struct flash_bank *bank, struct command_invocation *cmd) { struct flash_bank *master_bank = virtual_get_master_bank(bank); - if (master_bank == NULL) + if (!master_bank) return ERROR_FLASH_OPERATION_FAILED; - snprintf(buf, buf_size, "%s driver for flash bank %s at " TARGET_ADDR_FMT, + command_print_sameline(cmd, "%s driver for flash bank %s at " TARGET_ADDR_FMT, bank->driver->name, master_bank->name, master_bank->base); return ERROR_OK; @@ -198,7 +179,7 @@ static int virtual_blank_check(struct flash_bank *bank) struct flash_bank *master_bank = virtual_get_master_bank(bank); int retval; - if (master_bank == NULL) + if (!master_bank) return ERROR_FLASH_OPERATION_FAILED; /* call master handler */ @@ -215,7 +196,7 @@ static int virtual_flash_read(struct flash_bank *bank, struct flash_bank *master_bank = virtual_get_master_bank(bank); int retval; - if (master_bank == NULL) + if (!master_bank) return ERROR_FLASH_OPERATION_FAILED; /* call master handler */