rtos: Support looking up .lto_priv.0 appended to symbol name
[fw/openocd] / src / flash / nor / xmc4xxx.c
index aa26693ec6b28b1c7f63f0edb2808f450dd09512..50ec45f66681d622c6698e5c288b37391fcf1c8c 100644 (file)
@@ -1,18 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
 /**************************************************************************
 *   Copyright (C) 2015 Jeff Ciesielski <jeffciesielski@gmail.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 <http://www.gnu.org/licenses/>. *
 ***************************************************************************/
 
 #ifdef HAVE_CONFIG_H
@@ -577,8 +566,6 @@ static int xmc4xxx_erase(struct flash_bank *bank, unsigned int first,
 
                if (res != ERROR_OK)
                        goto clear_status_and_exit;
-
-               bank->sectors[i].is_erased = 1;
        }
 
 clear_status_and_exit:
@@ -805,7 +792,7 @@ abort_write_and_exit:
 
 }
 
-static int xmc4xxx_get_info_command(struct flash_bank *bank, char *buf, int buf_size)
+static int xmc4xxx_get_info_command(struct flash_bank *bank, struct command_invocation *cmd)
 {
        struct xmc4xxx_flash_bank *fb = bank->driver_priv;
        uint32_t scu_idcode;
@@ -914,9 +901,7 @@ static int xmc4xxx_get_info_command(struct flash_bank *bank, char *buf, int buf_
                break;
 
        default:
-               snprintf(buf, buf_size,
-                        "Cannot identify target as an XMC4xxx. SCU_ID: %"PRIx32"\n",
-                        scu_idcode);
+               command_print_sameline(cmd, "Cannot identify target as an XMC4xxx. SCU_ID: %"PRIx32 "\n", scu_idcode);
                return ERROR_OK;
        }
 
@@ -943,12 +928,10 @@ static int xmc4xxx_get_info_command(struct flash_bank *bank, char *buf, int buf_
                }
        }
 
-       if (rev_str != NULL)
-               snprintf(buf, buf_size, "%s - Rev: %s%s",
-                        dev_str, rev_str, prot_str);
+       if (rev_str)
+               command_print_sameline(cmd, "%s - Rev: %s%s", dev_str, rev_str, prot_str);
        else
-               snprintf(buf, buf_size, "%s - Rev: unknown (0x%01x)%s",
-                        dev_str, rev_id, prot_str);
+               command_print_sameline(cmd, "%s - Rev: unknown (0x%01x)%s", dev_str, rev_id, prot_str);
 
        return ERROR_OK;
 }
@@ -1197,7 +1180,7 @@ static int xmc4xxx_protect_check(struct flash_bank *bank)
 
        unsigned int sectors = bank->num_sectors;
 
-       /* On devices with 12 sectors, sectors 10 & 11 are ptected
+       /* On devices with 12 sectors, sectors 10 & 11 are protected
         * together instead of individually */
        if (sectors == 12)
                sectors--;
@@ -1237,7 +1220,7 @@ static int xmc4xxx_protect_check(struct flash_bank *bank)
                }
        }
 
-       /* XMC4xxx also supports read proptection, make a note
+       /* XMC4xxx also supports read protection, make a note
         * in the private driver structure */
        if (protection[0] & PROCON_RPRO_MASK)
                fb->read_protected = true;
@@ -1274,12 +1257,12 @@ COMMAND_HANDLER(xmc4xxx_handle_flash_password_command)
        errno = 0;
 
        /* We skip over the flash bank */
-       fb->pw1 = strtol(CMD_ARGV[1], NULL, 16);
+       COMMAND_PARSE_NUMBER(u32, CMD_ARGV[1], fb->pw1);
 
        if (errno)
                return ERROR_COMMAND_SYNTAX_ERROR;
 
-       fb->pw2 = strtol(CMD_ARGV[2], NULL, 16);
+       COMMAND_PARSE_NUMBER(u32, CMD_ARGV[2], fb->pw2);
 
        if (errno)
                return ERROR_COMMAND_SYNTAX_ERROR;