openocd: src/target: replace the GPL-2.0-or-later license tag
[fw/openocd] / src / target / etb.c
index 55ea8d4d2d7bad8960b07c3a04ae1ec01cbe3309..5247cf02bb613925a41d92eea1cc12ef28403891 100644 (file)
@@ -1,21 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
 /***************************************************************************
  *   Copyright (C) 2007 by Dominic Rath                                    *
  *   Dominic.Rath@gmx.de                                                   *
- *                                                                         *
- *   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, write to the                         *
- *   Free Software Foundation, Inc.,                                       *
- *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.           *
  ***************************************************************************/
 
 #ifdef HAVE_CONFIG_H
@@ -27,7 +14,7 @@
 #include "etb.h"
 #include "register.h"
 
-static char *etb_reg_list[] = {
+static const char * const etb_reg_list[] = {
        "ETB_identification",
        "ETB_ram_depth",
        "ETB_ram_width",
@@ -46,7 +33,7 @@ static int etb_set_instr(struct etb *etb, uint32_t new_instr)
        struct jtag_tap *tap;
 
        tap = etb->tap;
-       if (tap == NULL)
+       if (!tap)
                return ERROR_FAIL;
 
        if (buf_get_u32(tap->cur_instr, 0, tap->ir_length) != new_instr) {
@@ -145,8 +132,8 @@ struct reg_cache *etb_build_reg_cache(struct etb *etb)
        for (i = 0; i < num_regs; i++) {
                reg_list[i].name = etb_reg_list[i];
                reg_list[i].size = 32;
-               reg_list[i].dirty = 0;
-               reg_list[i].valid = 0;
+               reg_list[i].dirty = false;
+               reg_list[i].valid = false;
                reg_list[i].value = calloc(1, 4);
                reg_list[i].arch_info = &arch_info[i];
                reg_list[i].type = &etb_reg_type;
@@ -165,7 +152,6 @@ static void etb_getbuf(jtag_callback_data_t arg)
        *((uint32_t *)arg) = buf_get_u32(in, 0, 32);
 }
 
-
 static int etb_read_ram(struct etb *etb, uint32_t *data, int num_frames)
 {
        struct scan_field fields[3];
@@ -179,13 +165,13 @@ static int etb_read_ram(struct etb *etb, uint32_t *data, int num_frames)
        fields[0].in_value = NULL;
 
        fields[1].num_bits = 7;
-       uint8_t temp1;
+       uint8_t temp1 = 0;
        fields[1].out_value = &temp1;
        buf_set_u32(&temp1, 0, 7, 4);
        fields[1].in_value = NULL;
 
        fields[2].num_bits = 1;
-       uint8_t temp2;
+       uint8_t temp2 = 0;
        fields[2].out_value = &temp2;
        buf_set_u32(&temp2, 0, 1, 0);
        fields[2].in_value = NULL;
@@ -193,7 +179,7 @@ static int etb_read_ram(struct etb *etb, uint32_t *data, int num_frames)
        jtag_add_dr_scan(etb->tap, 3, fields, TAP_IDLE);
 
        for (i = 0; i < num_frames; i++) {
-               /* ensure nR/W reamins set to read */
+               /* ensure nR/W remains set to read */
                buf_set_u32(&temp2, 0, 1, 0);
 
                /* address remains set to 0x4 (RAM data) until we read the last frame */
@@ -232,7 +218,7 @@ static int etb_read_reg_w_check(struct reg *reg,
        fields[0].check_mask = NULL;
 
        fields[1].num_bits = 7;
-       uint8_t temp1;
+       uint8_t temp1 = 0;
        fields[1].out_value = &temp1;
        buf_set_u32(&temp1, 0, 7, reg_addr);
        fields[1].in_value = NULL;
@@ -240,7 +226,7 @@ static int etb_read_reg_w_check(struct reg *reg,
        fields[1].check_mask = NULL;
 
        fields[2].num_bits = 1;
-       uint8_t temp2;
+       uint8_t temp2 = 0;
        fields[2].out_value = &temp2;
        buf_set_u32(&temp2, 0, 1, 0);
        fields[2].in_value = NULL;
@@ -275,8 +261,8 @@ static int etb_set_reg(struct reg *reg, uint32_t value)
        }
 
        buf_set_u32(reg->value, 0, reg->size, value);
-       reg->valid = 1;
-       reg->dirty = 0;
+       reg->valid = true;
+       reg->dirty = false;
 
        return ERROR_OK;
 }
@@ -309,17 +295,17 @@ static int etb_write_reg(struct reg *reg, uint32_t value)
        fields[0].num_bits = 32;
        uint8_t temp0[4];
        fields[0].out_value = temp0;
-       buf_set_u32(&temp0, 0, 32, value);
+       buf_set_u32(temp0, 0, 32, value);
        fields[0].in_value = NULL;
 
        fields[1].num_bits = 7;
-       uint8_t temp1;
+       uint8_t temp1 = 0;
        fields[1].out_value = &temp1;
        buf_set_u32(&temp1, 0, 7, reg_addr);
        fields[1].in_value = NULL;
 
        fields[2].num_bits = 1;
-       uint8_t temp2;
+       uint8_t temp2 = 0;
        fields[2].out_value = &temp2;
        buf_set_u32(&temp2, 0, 1, 1);
        fields[2].in_value = NULL;
@@ -347,13 +333,13 @@ COMMAND_HANDLER(handle_etb_config_command)
 
        arm = target_to_arm(target);
        if (!is_arm(arm)) {
-               command_print(CMD_CTX, "ETB: '%s' isn't an ARM", CMD_ARGV[0]);
+               command_print(CMD, "ETB: '%s' isn't an ARM", CMD_ARGV[0]);
                return ERROR_FAIL;
        }
 
        tap = jtag_tap_by_string(CMD_ARGV[1]);
-       if (tap == NULL) {
-               command_print(CMD_CTX, "ETB: TAP %s does not exist", CMD_ARGV[1]);
+       if (!tap) {
+               command_print(CMD, "ETB: TAP %s does not exist", CMD_ARGV[1]);
                return ERROR_FAIL;
        }
 
@@ -385,17 +371,17 @@ COMMAND_HANDLER(handle_etb_trigger_percent_command)
        target = get_current_target(CMD_CTX);
        arm = target_to_arm(target);
        if (!is_arm(arm)) {
-               command_print(CMD_CTX, "ETB: current target isn't an ARM");
+               command_print(CMD, "ETB: current target isn't an ARM");
                return ERROR_FAIL;
        }
 
        etm = arm->etm;
        if (!etm) {
-               command_print(CMD_CTX, "ETB: target has no ETM configured");
+               command_print(CMD, "ETB: target has no ETM configured");
                return ERROR_FAIL;
        }
        if (etm->capture_driver != &etb_capture_driver) {
-               command_print(CMD_CTX, "ETB: target not using ETB");
+               command_print(CMD, "ETB: target not using ETB");
                return ERROR_FAIL;
        }
        etb = arm->etm->capture_driver_priv;
@@ -405,13 +391,13 @@ COMMAND_HANDLER(handle_etb_trigger_percent_command)
 
                COMMAND_PARSE_NUMBER(u32, CMD_ARGV[0], new_value);
                if ((new_value < 2) || (new_value > 100))
-                       command_print(CMD_CTX,
+                       command_print(CMD,
                                "valid percentages are 2%% to 100%%");
                else
                        etb->trigger_percent = (unsigned) new_value;
        }
 
-       command_print(CMD_CTX, "%d percent of tracebuffer fills after trigger",
+       command_print(CMD, "%d percent of tracebuffer fills after trigger",
                etb->trigger_percent);
 
        return ERROR_OK;
@@ -442,8 +428,9 @@ static const struct command_registration etb_command_handlers[] = {
        {
                .name = "etb",
                .mode = COMMAND_ANY,
-               .help = "Emebdded Trace Buffer command group",
+               .help = "Embedded Trace Buffer command group",
                .chain = etb_config_command_handlers,
+               .usage = "",
        },
        COMMAND_REGISTRATION_DONE
 };