In a switch/case statement, a break placed after a goto or return
is never executed.
The script checkpatch available in Linux kernel v5.1 issues a
warning for such unused break statements.
In the process of reviewing the new checkpatch for its inclusion
in OpenOCD, let's get rid of these warnings.
The script checkpatch is unable to fixup automatically this case.
Thanks to having "break" command using a single code line, this
patch has been generated using the script below:
find src/ -type f -exec ./tools/scripts/checkpatch.pl -q \
--types UNNECESSARY_BREAK -f {} \; \
| sed -n '/^#/{s/^.*FILE: //;s/:$//;s/:/ /;p}' \
| awk 'function P() {print "sed -i '\''"b"'\'' "a};
{
if ($1!=a) {
if (a) {P()};
a=$1;
b=$2"{d}";
} else {
b=b";"$2"{d}"
}
};
END {P()}'
Change-Id: I56ca098faa5fe8d1e3f712dc0a029a3f10559d99
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/5617
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Tested-by: jenkins
18 files changed:
case 2 << 2:
LOG_DEBUG("main area readed with more than 1 (incorrectable) error");
return ERROR_NAND_OPERATION_FAILED;
case 2 << 2:
LOG_DEBUG("main area readed with more than 1 (incorrectable) error");
return ERROR_NAND_OPERATION_FAILED;
}
switch (ecc_status & 0x0003) {
case 1:
}
switch (ecc_status & 0x0003) {
case 1:
case 2:
LOG_DEBUG("main area readed with more than 1 (incorrectable) error");
return ERROR_NAND_OPERATION_FAILED;
case 2:
LOG_DEBUG("main area readed with more than 1 (incorrectable) error");
return ERROR_NAND_OPERATION_FAILED;
case 2 << 2:
LOG_INFO("main area read with more than 1 (incorrectable) error");
return ERROR_NAND_OPERATION_FAILED;
case 2 << 2:
LOG_INFO("main area read with more than 1 (incorrectable) error");
return ERROR_NAND_OPERATION_FAILED;
}
switch (ecc_status & 0x0003) {
case 1:
}
switch (ecc_status & 0x0003) {
case 1:
case 2:
LOG_INFO("main area read with more than 1 (incorrectable) error");
return ERROR_NAND_OPERATION_FAILED;
case 2:
LOG_INFO("main area read with more than 1 (incorrectable) error");
return ERROR_NAND_OPERATION_FAILED;
switch (choice) {
case 0:
return aducm360_write_block_sync(bank, buffer, offset, count);
switch (choice) {
case 0:
return aducm360_write_block_sync(bank, buffer, offset, count);
case 1:
return aducm360_write_block_async(bank, buffer, offset, count);
case 1:
return aducm360_write_block_async(bank, buffer, offset, count);
default:
LOG_ERROR("aducm360_write_block was cancelled (no writing method was chosen)!");
return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
default:
LOG_ERROR("aducm360_write_block was cancelled (no writing method was chosen)!");
return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
((unsigned int)(FLASH_BANK1_BASE_256K_AX)),
((unsigned int)(FLASH_BANK1_BASE_512K_AX)));
return ERROR_FAIL;
((unsigned int)(FLASH_BANK1_BASE_256K_AX)),
((unsigned int)(FLASH_BANK1_BASE_512K_AX)));
return ERROR_FAIL;
/* at91sam3s and at91sam3n series only has bank 0*/
/* at91sam3u and at91sam3ax series has the same address for bank 0*/
/* at91sam3s and at91sam3n series only has bank 0*/
/* at91sam3u and at91sam3ax series has the same address for bank 0*/
switch (CMD_ARGC) {
default:
return ERROR_COMMAND_SYNTAX_ERROR;
switch (CMD_ARGC) {
default:
return ERROR_COMMAND_SYNTAX_ERROR;
/* error */
command_print(CMD, "Too many parameters");
return ERROR_COMMAND_SYNTAX_ERROR;
/* error */
command_print(CMD, "Too many parameters");
return ERROR_COMMAND_SYNTAX_ERROR;
}
command_print(CMD, "Slowclk freq: %d.%03dkhz",
(int)(pChip->cfg.slow_freq / 1000),
}
command_print(CMD, "Slowclk freq: %d.%03dkhz",
(int)(pChip->cfg.slow_freq / 1000),
((unsigned int)(bank->base)),
((unsigned int)(FLASH_BANK_BASE_S)));
return ERROR_FAIL;
((unsigned int)(bank->base)),
((unsigned int)(FLASH_BANK_BASE_S)));
return ERROR_FAIL;
/* at91sam4s series only has bank 0*/
/* at91sam4sd series has the same address for bank 0 (FLASH_BANK0_BASE_SD)*/
/* at91sam4s series only has bank 0*/
/* at91sam4sd series has the same address for bank 0 (FLASH_BANK0_BASE_SD)*/
switch (CMD_ARGC) {
default:
return ERROR_COMMAND_SYNTAX_ERROR;
switch (CMD_ARGC) {
default:
return ERROR_COMMAND_SYNTAX_ERROR;
/* error */
command_print(CMD, "Too many parameters");
return ERROR_COMMAND_SYNTAX_ERROR;
/* error */
command_print(CMD, "Too many parameters");
return ERROR_COMMAND_SYNTAX_ERROR;
}
command_print(CMD, "Slowclk freq: %d.%03dkhz",
(int)(pChip->cfg.slow_freq / 1000),
}
command_print(CMD, "Slowclk freq: %d.%03dkhz",
(int)(pChip->cfg.slow_freq / 1000),
default:
LOG_ERROR("unrecognized flash size code: %d", nvm_size_code);
return ERROR_FAIL;
default:
LOG_ERROR("unrecognized flash size code: %d", nvm_size_code);
return ERROR_FAIL;
}
struct samv_flash_bank *samv_info = bank->driver_priv;
}
struct samv_flash_bank *samv_info = bank->driver_priv;
switch (CMD_ARGC) {
case 0:
goto showall;
switch (CMD_ARGC) {
case 0:
goto showall;
break;
default:
return ERROR_COMMAND_SYNTAX_ERROR;
break;
default:
return ERROR_COMMAND_SYNTAX_ERROR;
case 1:
case 3:
return cfi_intel_erase(bank, first, last);
case 1:
case 3:
return cfi_intel_erase(bank, first, last);
case 2:
return cfi_spansion_erase(bank, first, last);
case 2:
return cfi_spansion_erase(bank, first, last);
default:
LOG_ERROR("cfi primary command set %i unsupported", cfi_info->pri_id);
break;
default:
LOG_ERROR("cfi primary command set %i unsupported", cfi_info->pri_id);
break;
case 1:
case 3:
return cfi_intel_protect(bank, set, first, last);
case 1:
case 3:
return cfi_intel_protect(bank, set, first, last);
default:
LOG_WARNING("protect: cfi primary command set %i unsupported", cfi_info->pri_id);
return ERROR_OK;
default:
LOG_WARNING("protect: cfi primary command set %i unsupported", cfi_info->pri_id);
return ERROR_OK;
switch (bank->bus_width) {
case 1:
return buf[0];
switch (bank->bus_width) {
case 1:
return buf[0];
case 2:
return target_buffer_get_u16(target, buf);
case 2:
return target_buffer_get_u16(target, buf);
case 4:
return target_buffer_get_u32(target, buf);
case 4:
return target_buffer_get_u32(target, buf);
default:
LOG_ERROR("Unsupported bank buswidth %d, can't do block memory writes",
bank->bus_width);
default:
LOG_ERROR("Unsupported bank buswidth %d, can't do block memory writes",
bank->bus_width);
case 1:
case 3:
return cfi_intel_write_word(bank, word, address);
case 1:
case 3:
return cfi_intel_write_word(bank, word, address);
case 2:
return cfi_spansion_write_word(bank, word, address);
case 2:
return cfi_spansion_write_word(bank, word, address);
default:
LOG_ERROR("cfi primary command set %i unsupported", cfi_info->pri_id);
break;
default:
LOG_ERROR("cfi primary command set %i unsupported", cfi_info->pri_id);
break;
case 1:
case 3:
return cfi_intel_write_words(bank, word, wordcount, address);
case 1:
case 3:
return cfi_intel_write_words(bank, word, wordcount, address);
case 2:
return cfi_spansion_write_words(bank, word, wordcount, address);
case 2:
return cfi_spansion_write_words(bank, word, wordcount, address);
default:
LOG_ERROR("cfi primary command set %i unsupported", cfi_info->pri_id);
break;
default:
LOG_ERROR("cfi primary command set %i unsupported", cfi_info->pri_id);
break;
case 1:
case 3:
return cfi_intel_protect_check(bank);
case 1:
case 3:
return cfi_intel_protect_check(bank);
case 2:
return cfi_spansion_protect_check(bank);
case 2:
return cfi_spansion_protect_check(bank);
default:
LOG_ERROR("cfi primary command set %i unsupported", cfi_info->pri_id);
break;
default:
LOG_ERROR("cfi primary command set %i unsupported", cfi_info->pri_id);
break;
switch (protection) {
case PROTECTION_VIRGIN:
return "VIRGIN";
switch (protection) {
case PROTECTION_VIRGIN:
return "VIRGIN";
case PROTECTION_NORMAL:
return "NORMAL";
case PROTECTION_NORMAL:
return "NORMAL";
case PROTECTION_SECURE:
return "SECURE";
case PROTECTION_SECURE:
return "SECURE";
case PROTECTION_DEAD:
return "DEAD";
case PROTECTION_DEAD:
return "DEAD";
case PROTECTION_UNKNOWN:
default:
return "UNKNOWN";
case PROTECTION_UNKNOWN:
default:
return "UNKNOWN";
default:
LOG_ERROR("Unknown flash device ID 0x%X", id);
return ERROR_FAIL;
default:
LOG_ERROR("Unknown flash device ID 0x%X", id);
return ERROR_FAIL;
}
bank->sectors = malloc(bank->num_sectors * sizeof(struct flash_sector));
}
bank->sectors = malloc(bank->num_sectors * sizeof(struct flash_sector));
switch (h->transport) {
case HL_TRANSPORT_SWIM:
return stlink_speed_swim(handle, khz, query);
switch (h->transport) {
case HL_TRANSPORT_SWIM:
return stlink_speed_swim(handle, khz, query);
case HL_TRANSPORT_SWD:
if (h->version.jtag_api == STLINK_JTAG_API_V3)
return stlink_speed_v3(handle, false, khz, query);
case HL_TRANSPORT_SWD:
if (h->version.jtag_api == STLINK_JTAG_API_V3)
return stlink_speed_v3(handle, false, khz, query);
switch (id) {
case CMD_SCAN_IN:
return "CMD_SCAN_IN";
switch (id) {
case CMD_SCAN_IN:
return "CMD_SCAN_IN";
case CMD_SLOW_SCAN_IN:
return "CMD_SLOW_SCAN_IN";
case CMD_SLOW_SCAN_IN:
return "CMD_SLOW_SCAN_IN";
case CMD_SCAN_OUT:
return "CMD_SCAN_OUT";
case CMD_SCAN_OUT:
return "CMD_SCAN_OUT";
case CMD_SLOW_SCAN_OUT:
return "CMD_SLOW_SCAN_OUT";
case CMD_SLOW_SCAN_OUT:
return "CMD_SLOW_SCAN_OUT";
case CMD_SCAN_IO:
return "CMD_SCAN_IO";
case CMD_SCAN_IO:
return "CMD_SCAN_IO";
case CMD_SLOW_SCAN_IO:
return "CMD_SLOW_SCAN_IO";
case CMD_SLOW_SCAN_IO:
return "CMD_SLOW_SCAN_IO";
case CMD_CLOCK_TMS:
return "CMD_CLOCK_TMS";
case CMD_CLOCK_TMS:
return "CMD_CLOCK_TMS";
case CMD_SLOW_CLOCK_TMS:
return "CMD_SLOW_CLOCK_TMS";
case CMD_SLOW_CLOCK_TMS:
return "CMD_SLOW_CLOCK_TMS";
case CMD_CLOCK_TCK:
return "CMD_CLOCK_TCK";
case CMD_CLOCK_TCK:
return "CMD_CLOCK_TCK";
case CMD_SLOW_CLOCK_TCK:
return "CMD_SLOW_CLOCK_TCK";
case CMD_SLOW_CLOCK_TCK:
return "CMD_SLOW_CLOCK_TCK";
case CMD_SLEEP_US:
return "CMD_SLEEP_US";
case CMD_SLEEP_US:
return "CMD_SLEEP_US";
case CMD_SLEEP_MS:
return "CMD_SLEEP_MS";
case CMD_SLEEP_MS:
return "CMD_SLEEP_MS";
case CMD_GET_SIGNALS:
return "CMD_GET_SIGNALS";
case CMD_GET_SIGNALS:
return "CMD_GET_SIGNALS";
case CMD_SET_SIGNALS:
return "CMD_SET_SIGNALS";
case CMD_SET_SIGNALS:
return "CMD_SET_SIGNALS";
case CMD_CONFIGURE_TCK_FREQ:
return "CMD_CONFIGURE_TCK_FREQ";
case CMD_CONFIGURE_TCK_FREQ:
return "CMD_CONFIGURE_TCK_FREQ";
case CMD_SET_LEDS:
return "CMD_SET_LEDS";
case CMD_SET_LEDS:
return "CMD_SET_LEDS";
case CMD_TEST:
return "CMD_TEST";
case CMD_TEST:
return "CMD_TEST";
default:
return "CMD_UNKNOWN";
default:
return "CMD_UNKNOWN";
case PIOMAP:
LOG_ERROR("PIO and PIOMAP are not supported");
return ERROR_FAIL;
case PIOMAP:
LOG_ERROR("PIO and PIOMAP are not supported");
return ERROR_FAIL;
case RUNTEST:
/* RUNTEST [run_state] run_count run_clk [min_time SEC [MAXIMUM max_time
* SEC]] [ENDSTATE end_state] */
case RUNTEST:
/* RUNTEST [run_state] run_count run_clk [min_time SEC [MAXIMUM max_time
* SEC]] [ENDSTATE end_state] */
default:
LOG_ERROR("invalid svf command: %s", argus[0]);
return ERROR_FAIL;
default:
LOG_ERROR("invalid svf command: %s", argus[0]);
return ERROR_FAIL;
address, opcode);
}
return ERROR_OK;
address, opcode);
}
return ERROR_OK;
break;
case ARM_VFP_V3_D0 ... ARM_VFP_V3_D31:
return dpm_read_reg_u64(dpm, r, regnum);
break;
case ARM_VFP_V3_D0 ... ARM_VFP_V3_D31:
return dpm_read_reg_u64(dpm, r, regnum);
case ARM_VFP_V3_FPSCR:
/* "VMRS r0, FPSCR"; then return via DCC */
retval = dpm->instr_read_data_r0(dpm,
case ARM_VFP_V3_FPSCR:
/* "VMRS r0, FPSCR"; then return via DCC */
retval = dpm->instr_read_data_r0(dpm,
break;
case ARM_VFP_V3_D0 ... ARM_VFP_V3_D31:
return dpm_write_reg_u64(dpm, r, regnum);
break;
case ARM_VFP_V3_D0 ... ARM_VFP_V3_D31:
return dpm_write_reg_u64(dpm, r, regnum);
case ARM_VFP_V3_FPSCR:
/* move to r0 from DCC, then "VMSR FPSCR, r0" */
retval = dpm->instr_write_data_r0(dpm,
case ARM_VFP_V3_FPSCR:
/* move to r0 from DCC, then "VMSR FPSCR, r0" */
retval = dpm->instr_write_data_r0(dpm,
(*reg_list)[25] = arm->cpsr;
return ERROR_OK;
(*reg_list)[25] = arm->cpsr;
return ERROR_OK;
case REG_CLASS_ALL:
switch (arm->core_type) {
case REG_CLASS_ALL:
switch (arm->core_type) {
default:
LOG_ERROR("not a valid register class type in query.");
return ERROR_FAIL;
default:
LOG_ERROR("not a valid register class type in query.");
return ERROR_FAIL;
break;
case 1:
return avr32_jtag_read_memory8(&ap7k->jtag, address, count, buffer);
break;
case 1:
return avr32_jtag_read_memory8(&ap7k->jtag, address, count, buffer);
break;
case 1:
return avr32_jtag_write_memory8(&ap7k->jtag, address, count, buffer);
break;
case 1:
return avr32_jtag_write_memory8(&ap7k->jtag, address, count, buffer);
return set_field(0, AC_ACCESS_REGISTER_SIZE, 2);
case 64:
return set_field(0, AC_ACCESS_REGISTER_SIZE, 3);
return set_field(0, AC_ACCESS_REGISTER_SIZE, 2);
case 64:
return set_field(0, AC_ACCESS_REGISTER_SIZE, 3);
case 128:
return set_field(0, AC_ACCESS_REGISTER_SIZE, 4);
case 128:
return set_field(0, AC_ACCESS_REGISTER_SIZE, 4);
default:
LOG_ERROR("Unsupported register width: %d", width);
return 0;
default:
LOG_ERROR("Unsupported register width: %d", width);
return 0;
}
Jim_SetResultString(interp, session->name, -1);
return JIM_OK;
}
Jim_SetResultString(interp, session->name, -1);
return JIM_OK;
case 2: /* assign */
if (session) {
if (!strcmp(session->name, argv[1]->bytes)) {
case 2: /* assign */
if (session) {
if (!strcmp(session->name, argv[1]->bytes)) {
LOG_ERROR("Debug adapter doesn't support '%s' transport", argv[1]->bytes);
return JIM_ERR;
LOG_ERROR("Debug adapter doesn't support '%s' transport", argv[1]->bytes);
return JIM_ERR;
default:
Jim_WrongNumArgs(interp, 1, argv, "[too many parameters]");
return JIM_ERR;
default:
Jim_WrongNumArgs(interp, 1, argv, "[too many parameters]");
return JIM_ERR;
Linking to existing account procedure
If you already have an account and want to add another login method
you
MUST first sign in with your existing account and
then change URL to read
https://review.openocd.org/login/?link
to get to this page again but this time it'll work for linking. Thank you.
SSH host keys fingerprints
1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=.. |
|+o.. . |
|*.o . . |
|+B . . . |
|Bo. = o S |
|Oo.+ + = |
|oB=.* = . o |
| =+=.+ + E |
|. .=o . o |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)