|
From: openocd-gerrit <ope...@us...> - 2026-04-06 16:25:05
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 4894527eec68f43bd030779b1620cb1c64f187a0 (commit)
from 4c072f0d0a3a308e0f8f1e596814838cd32cbdc3 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 4894527eec68f43bd030779b1620cb1c64f187a0
Author: Mark O'Donovan <sh...@po...>
Date: Sun Mar 29 12:47:17 2026 +0100
target/dsp5680xx: remove err_check()
Improve readability by dropping macros containing `return`
Change-Id: Iccba4196d1d40405b596957aa53f18c106db1dc7
Signed-off-by: Mark O'Donovan <sh...@po...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9547
Reviewed-by: Antonio Borneo <bor...@gm...>
Tested-by: jenkins
diff --git a/src/target/dsp5680xx.c b/src/target/dsp5680xx.c
index 0088b3c3b..74de3c2d3 100644
--- a/src/target/dsp5680xx.c
+++ b/src/target/dsp5680xx.c
@@ -20,7 +20,6 @@ static struct dsp5680xx_common dsp5680xx_context;
#define _E "DSP5680XX_ERROR:%d\nAt:%s:%d:%s"
#define err_log(c, m) LOG_ERROR(_E, c, __func__, __LINE__, m)
-#define err_check(r, c, m) if (r != ERROR_OK) {LOG_ERROR(_E, c, __func__, __LINE__, m); return r; }
#define DEBUG_MSG "Debug mode be enabled to read mem."
#define HALT_MSG "Target must be halted."
@@ -72,14 +71,13 @@ static int dsp5680xx_drscan(struct target *target, uint8_t *d_in,
int retval = ERROR_OK;
if (!target->tap) {
- retval = ERROR_FAIL;
- err_check(retval, DSP5680XX_ERROR_JTAG_INVALID_TAP,
- "Invalid tap");
+ err_log(DSP5680XX_ERROR_JTAG_INVALID_TAP, "Invalid tap");
+ return ERROR_FAIL;
}
if (len > 32) {
- retval = ERROR_FAIL;
- err_check(retval, DSP5680XX_ERROR_JTAG_DR_LEN_OVERFLOW,
+ err_log(DSP5680XX_ERROR_JTAG_DR_LEN_OVERFLOW,
"dr_len overflow, maximum is 32");
+ return ERROR_FAIL;
}
/* TODO what values of len are valid for jtag_add_plain_dr_scan? */
/* can i send as many bits as i want? */
@@ -87,8 +85,10 @@ static int dsp5680xx_drscan(struct target *target, uint8_t *d_in,
jtag_add_plain_dr_scan(len, d_in, d_out, TAP_IDLE);
if (dsp5680xx_context.flush) {
retval = dsp5680xx_execute_queue();
- err_check(retval, DSP5680XX_ERROR_JTAG_DRSCAN,
- "drscan failed!");
+ if (retval != ERROR_OK) {
+ err_log(DSP5680XX_ERROR_JTAG_DRSCAN, "drscan failed!");
+ return retval;
+ }
}
if (d_out)
LOG_DEBUG("Data read (%d bits): 0x%04X", len, *d_out);
@@ -119,18 +119,15 @@ static int dsp5680xx_irscan(struct target *target, uint32_t *d_in,
}
if (ir_len != target->tap->ir_length) {
if (target->tap->enabled) {
- retval = ERROR_FAIL;
- err_check(retval, DSP5680XX_ERROR_INVALID_IR_LEN,
- "Invalid irlen");
+ err_log(DSP5680XX_ERROR_INVALID_IR_LEN, "Invalid irlen");
+ return ERROR_FAIL;
} else {
struct jtag_tap *t =
jtag_tap_by_string("dsp568013.chp");
if ((!t)
|| ((t->enabled) && (ir_len != tap_ir_len))) {
- retval = ERROR_FAIL;
- err_check(retval,
- DSP5680XX_ERROR_INVALID_IR_LEN,
- "Invalid irlen");
+ err_log(DSP5680XX_ERROR_INVALID_IR_LEN, "Invalid irlen");
+ return ERROR_FAIL;
}
}
}
@@ -138,8 +135,10 @@ static int dsp5680xx_irscan(struct target *target, uint32_t *d_in,
TAP_IDLE);
if (dsp5680xx_context.flush) {
retval = dsp5680xx_execute_queue();
- err_check(retval, DSP5680XX_ERROR_JTAG_IRSCAN,
- "irscan failed!");
+ if (retval != ERROR_OK) {
+ err_log(DSP5680XX_ERROR_JTAG_IRSCAN, "irscan failed!");
+ return retval;
+ }
}
return retval;
}
@@ -485,10 +484,14 @@ static int core_rx_lower_data(struct target *target, uint8_t *data_read)
static int core_move_value_to_pc(struct target *target, uint32_t value)
{
- if (target->state != TARGET_HALTED)
- err_check(ERROR_FAIL, DSP5680XX_ERROR_TARGET_RUNNING, HALT_MSG)
- if (!dsp5680xx_context.debug_mode_enabled)
- err_check(ERROR_FAIL, DSP5680XX_ERROR_NOT_IN_DEBUG, DEBUG_MSG)
+ if (target->state != TARGET_HALTED) {
+ err_log(DSP5680XX_ERROR_TARGET_RUNNING, HALT_MSG);
+ return ERROR_FAIL;
+ }
+ if (!dsp5680xx_context.debug_mode_enabled) {
+ err_log(DSP5680XX_ERROR_NOT_IN_DEBUG, DEBUG_MSG);
+ return ERROR_FAIL;
+ }
int retval;
retval =
@@ -576,11 +579,10 @@ static int switch_tap(struct target *target, struct jtag_tap *master_tap,
if (!master_tap) {
master_tap = jtag_tap_by_string("dsp568013.chp");
if (!master_tap) {
- retval = ERROR_FAIL;
const char *msg = "Failed to get master tap.";
- err_check(retval, DSP5680XX_ERROR_JTAG_TAP_FIND_MASTER,
- msg);
+ err_log(DSP5680XX_ERROR_JTAG_TAP_FIND_MASTER, msg);
+ return ERROR_FAIL;
}
}
if (!core_tap) {
@@ -734,9 +736,9 @@ static int eonce_enter_debug_mode(struct target *target,
tap_chp = jtag_tap_by_string("dsp568013.chp");
if (!tap_chp) {
- retval = ERROR_FAIL;
- err_check(retval, DSP5680XX_ERROR_JTAG_TAP_FIND_MASTER,
+ err_log(DSP5680XX_ERROR_JTAG_TAP_FIND_MASTER,
"Failed to get master tap.");
+ return ERROR_FAIL;
}
tap_cpu = jtag_tap_by_string("dsp568013.cpu");
if (!tap_cpu) {
@@ -814,9 +816,8 @@ static int eonce_enter_debug_mode(struct target *target,
if ((ir_out & JTAG_STATUS_MASK) == JTAG_STATUS_DEBUG)
target->state = TARGET_HALTED;
else {
- retval = ERROR_FAIL;
- err_check(retval, DSP5680XX_ERROR_HALT,
- "Failed to halt target.");
+ err_log(DSP5680XX_ERROR_HALT, "Failed to halt target.");
+ return ERROR_FAIL;
}
for (int i = 0; i < 3; i++) {
@@ -841,8 +842,8 @@ static int eonce_enter_debug_mode(struct target *target,
} else {
const char *msg = "Failed to set EOnCE module to debug mode";
- retval = ERROR_TARGET_FAILURE;
- err_check(retval, DSP5680XX_ERROR_ENTER_DEBUG_MODE, msg);
+ err_log(DSP5680XX_ERROR_ENTER_DEBUG_MODE, msg);
+ return ERROR_TARGET_FAILURE;
}
if (eonce_status)
*eonce_status = data_read_from_dr;
@@ -1056,9 +1057,9 @@ static int dsp5680xx_resume(struct target *target, bool current,
break;
}
if (retry == 0) {
- retval = ERROR_TARGET_FAILURE;
- err_check(retval, DSP5680XX_ERROR_EXIT_DEBUG_MODE,
+ err_log(DSP5680XX_ERROR_EXIT_DEBUG_MODE,
"Failed to exit debug mode...");
+ return ERROR_TARGET_FAILURE;
} else {
target->state = TARGET_RUNNING;
dsp5680xx_context.debug_mode_enabled = false;
@@ -1074,8 +1075,11 @@ static int dsp5680xx_resume(struct target *target, bool current,
jtag_add_sleep(TIME_DIV_FREESCALE * 200 * 1000);
retval = reset_jtag();
- err_check(retval, DSP5680XX_ERROR_JTAG_RESET,
- "Failed to reset JTAG state machine");
+ if (retval != ERROR_OK) {
+ err_log(DSP5680XX_ERROR_JTAG_RESET,
+ "Failed to reset JTAG state machine");
+ return retval;
+ }
jtag_add_sleep(TIME_DIV_FREESCALE * 100 * 1000);
jtag_add_reset(0, 0);
jtag_add_sleep(TIME_DIV_FREESCALE * 300 * 1000);
@@ -1086,9 +1090,8 @@ static int dsp5680xx_resume(struct target *target, bool current,
target->state = TARGET_RUNNING;
dsp5680xx_context.debug_mode_enabled = false;
} else {
- retval = ERROR_TARGET_FAILURE;
- err_check(retval, DSP5680XX_ERROR_RESUME,
- "Failed to resume target");
+ err_log(DSP5680XX_ERROR_RESUME, "Failed to resume target");
+ return ERROR_TARGET_FAILURE;
}
}
return ERROR_OK;
@@ -1209,10 +1212,14 @@ static int dsp5680xx_read(struct target *t, target_addr_t a, uint32_t size,
uint8_t *buffer = buf;
- if (target->state != TARGET_HALTED)
- err_check(ERROR_FAIL, DSP5680XX_ERROR_TARGET_RUNNING, HALT_MSG)
- if (!dsp5680xx_context.debug_mode_enabled)
- err_check(ERROR_FAIL, DSP5680XX_ERROR_NOT_IN_DEBUG, DEBUG_MSG)
+ if (target->state != TARGET_HALTED) {
+ err_log(DSP5680XX_ERROR_TARGET_RUNNING, HALT_MSG);
+ return ERROR_FAIL;
+ }
+ if (!dsp5680xx_context.debug_mode_enabled) {
+ err_log(DSP5680XX_ERROR_NOT_IN_DEBUG, DEBUG_MSG);
+ return ERROR_FAIL;
+ }
int retval = ERROR_OK;
@@ -1473,10 +1480,14 @@ static int dsp5680xx_write(struct target *target, target_addr_t a, uint32_t size
uint8_t const *buffer = b;
- if (target->state != TARGET_HALTED)
- err_check(ERROR_FAIL, DSP5680XX_ERROR_TARGET_RUNNING, HALT_MSG)
- if (!dsp5680xx_context.debug_mode_enabled)
- err_check(ERROR_FAIL, DSP5680XX_ERROR_NOT_IN_DEBUG, DEBUG_MSG)
+ if (target->state != TARGET_HALTED) {
+ err_log(DSP5680XX_ERROR_TARGET_RUNNING, HALT_MSG);
+ return ERROR_FAIL;
+ }
+ if (!dsp5680xx_context.debug_mode_enabled) {
+ err_log(DSP5680XX_ERROR_NOT_IN_DEBUG, DEBUG_MSG);
+ return ERROR_FAIL;
+ }
int retval = 0;
@@ -1500,10 +1511,8 @@ static int dsp5680xx_write(struct target *target, target_addr_t a, uint32_t size
dsp5680xx_write_32(target, address, count, buffer, p_mem);
break;
default:
- retval = ERROR_TARGET_DATA_ABORT;
- err_check(retval, DSP5680XX_ERROR_INVALID_DATA_SIZE_UNIT,
- "Invalid data size.");
- break;
+ err_log(DSP5680XX_ERROR_INVALID_DATA_SIZE_UNIT, "Invalid data size.");
+ return ERROR_TARGET_DATA_ABORT;
}
return retval;
}
@@ -1511,10 +1520,14 @@ static int dsp5680xx_write(struct target *target, target_addr_t a, uint32_t size
static int dsp5680xx_write_buffer(struct target *t, target_addr_t a, uint32_t size,
const uint8_t *b)
{
- if (t->state != TARGET_HALTED)
- err_check(ERROR_FAIL, DSP5680XX_ERROR_TARGET_RUNNING, HALT_MSG)
- if (!dsp5680xx_context.debug_mode_enabled)
- err_check(ERROR_FAIL, DSP5680XX_ERROR_NOT_IN_DEBUG, DEBUG_MSG)
+ if (t->state != TARGET_HALTED) {
+ err_log(DSP5680XX_ERROR_TARGET_RUNNING, HALT_MSG);
+ return ERROR_FAIL;
+ }
+ if (!dsp5680xx_context.debug_mode_enabled) {
+ err_log(DSP5680XX_ERROR_NOT_IN_DEBUG, DEBUG_MSG);
+ return ERROR_FAIL;
+ }
return dsp5680xx_write(t, a, 1, size, b);
}
@@ -1531,10 +1544,14 @@ static int dsp5680xx_write_buffer(struct target *t, target_addr_t a, uint32_t si
static int dsp5680xx_read_buffer(struct target *target, target_addr_t address, uint32_t size,
uint8_t *buffer)
{
- if (target->state != TARGET_HALTED)
- err_check(ERROR_FAIL, DSP5680XX_ERROR_TARGET_RUNNING, HALT_MSG)
- if (!dsp5680xx_context.debug_mode_enabled)
- err_check(ERROR_FAIL, DSP5680XX_ERROR_NOT_IN_DEBUG, DEBUG_MSG)
+ if (target->state != TARGET_HALTED) {
+ err_log(DSP5680XX_ERROR_TARGET_RUNNING, HALT_MSG);
+ return ERROR_FAIL;
+ }
+ if (!dsp5680xx_context.debug_mode_enabled) {
+ err_log(DSP5680XX_ERROR_NOT_IN_DEBUG, DEBUG_MSG);
+ return ERROR_FAIL;
+ }
/* The "/2" solves the byte/word addressing issue.*/
return dsp5680xx_read(target, address, 2, size / 2, buffer);
@@ -1644,15 +1661,19 @@ int dsp5680xx_f_protect_check(struct target *target, uint16_t *protected)
{
int retval;
- if (target->state != TARGET_HALTED)
- err_check(ERROR_FAIL, DSP5680XX_ERROR_TARGET_RUNNING, HALT_MSG)
- if (!dsp5680xx_context.debug_mode_enabled)
- err_check(ERROR_FAIL, DSP5680XX_ERROR_NOT_IN_DEBUG, DEBUG_MSG)
+ if (target->state != TARGET_HALTED) {
+ err_log(DSP5680XX_ERROR_TARGET_RUNNING, HALT_MSG);
+ return ERROR_FAIL;
+ }
+ if (!dsp5680xx_context.debug_mode_enabled) {
+ err_log(DSP5680XX_ERROR_NOT_IN_DEBUG, DEBUG_MSG);
+ return ERROR_FAIL;
+ }
if (!protected) {
const char *msg = "NULL pointer not valid.";
- err_check(ERROR_FAIL,
- DSP5680XX_ERROR_PROTECT_CHECK_INVALID_ARGS, msg);
+ err_log(DSP5680XX_ERROR_PROTECT_CHECK_INVALID_ARGS, msg);
+ return ERROR_FAIL;
}
retval =
dsp5680xx_read_16_single(target, HFM_BASE_ADDR | HFM_PROT,
@@ -1700,10 +1721,10 @@ static int dsp5680xx_f_ex(struct target *target, uint16_t c, uint32_t address, u
if (retval != ERROR_OK)
return retval;
if ((watchdog--) == 1) {
- retval = ERROR_TARGET_FAILURE;
const char *msg =
"Timed out waiting for FM to finish old command.";
- err_check(retval, DSP5680XX_ERROR_FM_BUSY, msg);
+ err_log(DSP5680XX_ERROR_FM_BUSY, msg);
+ return ERROR_TARGET_FAILURE;
}
} while (!(i[0] & 0x40)); /* wait until current command is complete */
@@ -1773,17 +1794,17 @@ static int dsp5680xx_f_ex(struct target *target, uint16_t c, uint32_t address, u
if (retval != ERROR_OK)
return retval;
if ((watchdog--) == 1) {
- retval = ERROR_TARGET_FAILURE;
- err_check(retval, DSP5680XX_ERROR_FM_CMD_TIMED_OUT,
+ err_log(DSP5680XX_ERROR_FM_CMD_TIMED_OUT,
"FM execution did not finish.");
+ return ERROR_TARGET_FAILURE;
}
} while (!(i[0] & 0x40)); /* wait until the command is complete */
*hfm_ustat = ((i[0] << 8) | (i[1]));
if (i[0] & HFM_USTAT_MASK_PVIOL_ACCER) {
- retval = ERROR_TARGET_FAILURE;
const char *msg =
"pviol and/or accer bits set. HFM command execution error";
- err_check(retval, DSP5680XX_ERROR_FM_EXEC, msg);
+ err_log(DSP5680XX_ERROR_FM_EXEC, msg);
+ return ERROR_TARGET_FAILURE;
}
return ERROR_OK;
}
@@ -1849,9 +1870,8 @@ static int set_fm_ck_div(struct target *target)
if (retval != ERROR_OK)
return retval;
if (i[0] != (0x80 | (HFM_CLK_DEFAULT & 0x7f))) {
- retval = ERROR_TARGET_FAILURE;
- err_check(retval, DSP5680XX_ERROR_FM_SET_CLK,
- "Unable to set HFM CLK divisor.");
+ err_log(DSP5680XX_ERROR_FM_SET_CLK, "Unable to set HFM CLK divisor.");
+ return ERROR_TARGET_FAILURE;
}
if (hfm_at_wrong_value)
LOG_DEBUG("HFM CLK divisor set to 0x%02x.", i[0] & 0x7f);
@@ -1884,8 +1904,10 @@ static int dsp5680xx_f_signature(struct target *target, uint32_t address, uint32
/*
* Generate error here, since it is not done in eonce_enter_debug_mode_without_reset
*/
- err_check(retval, DSP5680XX_ERROR_HALT,
- "Failed to halt target.");
+ if (retval != ERROR_OK) {
+ err_log(DSP5680XX_ERROR_HALT, "Failed to halt target.");
+ return retval;
+ }
}
retval =
dsp5680xx_f_ex(target, HFM_CALCULATE_DATA_SIGNATURE, address, words,
@@ -2152,11 +2174,10 @@ int dsp5680xx_f_wr(struct target *t, const uint8_t *b, uint32_t a, uint32_t coun
return retval;
if (count % 2) {
/* TODO implement handling of odd number of words. */
- retval = ERROR_FAIL;
const char *msg = "Cannot handle odd number of words.";
- err_check(retval, DSP5680XX_ERROR_FLASHING_INVALID_WORD_COUNT,
- msg);
+ err_log(DSP5680XX_ERROR_FLASHING_INVALID_WORD_COUNT, msg);
+ return ERROR_FAIL;
}
dsp5680xx_context.flush = 1;
@@ -2209,10 +2230,10 @@ int dsp5680xx_f_wr(struct target *t, const uint8_t *b, uint32_t a, uint32_t coun
return retval;
pc_crc = perl_crc(buffer, i);
if (pc_crc != signature) {
- retval = ERROR_FAIL;
const char *msg =
"Flashed data failed CRC check, flash again!";
- err_check(retval, DSP5680XX_ERROR_FLASHING_CRC, msg);
+ err_log(DSP5680XX_ERROR_FLASHING_CRC, msg);
+ return ERROR_FAIL;
}
}
return retval;
@@ -2234,15 +2255,15 @@ int dsp5680xx_f_unlock(struct target *target)
tap_chp = jtag_tap_by_string("dsp568013.chp");
if (!tap_chp) {
- retval = ERROR_FAIL;
- err_check(retval, DSP5680XX_ERROR_JTAG_TAP_ENABLE_MASTER,
+ err_log(DSP5680XX_ERROR_JTAG_TAP_ENABLE_MASTER,
"Failed to get master tap.");
+ return ERROR_FAIL;
}
tap_cpu = jtag_tap_by_string("dsp568013.cpu");
if (!tap_cpu) {
- retval = ERROR_FAIL;
- err_check(retval, DSP5680XX_ERROR_JTAG_TAP_ENABLE_CORE,
+ err_log(DSP5680XX_ERROR_JTAG_TAP_ENABLE_CORE,
"Failed to get master tap.");
+ return ERROR_FAIL;
}
retval = eonce_enter_debug_mode_without_reset(target, &eonce_status);
@@ -2253,8 +2274,11 @@ int dsp5680xx_f_unlock(struct target *target)
jtag_add_sleep(TIME_DIV_FREESCALE * 200 * 1000);
retval = reset_jtag();
- err_check(retval, DSP5680XX_ERROR_JTAG_RESET,
- "Failed to reset JTAG state machine");
+ if (retval != ERROR_OK) {
+ err_log(DSP5680XX_ERROR_JTAG_RESET,
+ "Failed to reset JTAG state machine");
+ return retval;
+ }
jtag_add_sleep(150);
/* Enable core tap */
@@ -2297,8 +2321,11 @@ int dsp5680xx_f_unlock(struct target *target)
jtag_add_sleep(TIME_DIV_FREESCALE * 200 * 1000);
retval = reset_jtag();
- err_check(retval, DSP5680XX_ERROR_JTAG_RESET,
- "Failed to reset JTAG state machine");
+ if (retval != ERROR_OK) {
+ err_log(DSP5680XX_ERROR_JTAG_RESET,
+ "Failed to reset JTAG state machine");
+ return retval;
+ }
jtag_add_sleep(150);
instr = 0x0606ffff;
@@ -2343,17 +2370,20 @@ int dsp5680xx_f_lock(struct target *target)
jtag_add_sleep(TIME_DIV_FREESCALE * 200 * 1000);
retval = reset_jtag();
- err_check(retval, DSP5680XX_ERROR_JTAG_RESET,
- "Failed to reset JTAG state machine");
+ if (retval != ERROR_OK) {
+ err_log(DSP5680XX_ERROR_JTAG_RESET,
+ "Failed to reset JTAG state machine");
+ return retval;
+ }
jtag_add_sleep(TIME_DIV_FREESCALE * 100 * 1000);
jtag_add_reset(0, 0);
jtag_add_sleep(TIME_DIV_FREESCALE * 300 * 1000);
tap_chp = jtag_tap_by_string("dsp568013.chp");
if (!tap_chp) {
- retval = ERROR_FAIL;
- err_check(retval, DSP5680XX_ERROR_JTAG_TAP_ENABLE_MASTER,
+ err_log(DSP5680XX_ERROR_JTAG_TAP_ENABLE_MASTER,
"Failed to get master tap.");
+ return ERROR_FAIL;
}
tap_cpu = jtag_tap_by_string("dsp568013.cpu");
if (!tap_cpu) {
-----------------------------------------------------------------------
Summary of changes:
src/target/dsp5680xx.c | 214 ++++++++++++++++++++++++++++---------------------
1 file changed, 122 insertions(+), 92 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|