static int write_sock(char *buf, size_t len)
{
- if (buf == NULL) {
+ if (!buf) {
LOG_ERROR("%s: NULL 'buf' argument, file %s, line %d",
__func__, __FILE__, __LINE__);
return ERROR_FAIL;
static int read_sock(char *buf, size_t len)
{
- if (buf == NULL) {
+ if (!buf) {
LOG_ERROR("%s: NULL 'buf' argument, file %s, line %d",
__func__, __FILE__, __LINE__);
return ERROR_FAIL;
/**
* jtag_dpi_reset - ask to reset the JTAG device
- * @trst: 1 if TRST is to be asserted
- * @srst: 1 if SRST is to be asserted
+ * @param trst 1 if TRST is to be asserted
+ * @param srst 1 if SRST is to be asserted
*/
static int jtag_dpi_reset(int trst, int srst)
{
/**
* jtag_dpi_scan - launches a DR-scan or IR-scan
- * @cmd: the command to launch
+ * @param cmd the command to launch
*
* Launch a JTAG IR-scan or DR-scan
*
- * Returns ERROR_OK if OK, ERROR_xxx if a read/write error occured.
+ * Returns ERROR_OK if OK, ERROR_xxx if a read/write error occurred.
*/
static int jtag_dpi_scan(struct scan_command *cmd)
{
int ret = ERROR_OK;
num_bits = jtag_build_buffer(cmd, &data_buf);
- if (data_buf == NULL) {
+ if (!data_buf) {
LOG_ERROR("jtag_build_buffer call failed, data_buf == NULL, "
"file %s, line %d", __FILE__, __LINE__);
return ERROR_FAIL;
if (cmd->ir_scan) {
free(last_ir_buf);
last_ir_buf = (uint8_t *)malloc(bytes * sizeof(uint8_t));
- if (last_ir_buf == NULL) {
+ if (!last_ir_buf) {
LOG_ERROR("%s: malloc fail, file %s, line %d",
__func__, __FILE__, __LINE__);
ret = ERROR_FAIL;
int num_bits = last_ir_num_bits, bytes;
int ret = ERROR_OK;
- if (data_buf == NULL) {
+ if (!data_buf) {
LOG_ERROR("%s: NULL 'data_buf' argument, file %s, line %d",
__func__, __FILE__, __LINE__);
return ERROR_FAIL;
bytes = DIV_ROUND_UP(num_bits, 8);
read_scan = (uint8_t *)malloc(bytes * sizeof(uint8_t));
- if (read_scan == NULL) {
+ if (!read_scan) {
LOG_ERROR("%s: malloc fail, file %s, line %d",
__func__, __FILE__, __LINE__);
return ERROR_FAIL;
struct jtag_command *cmd;
int ret = ERROR_OK;
- for (cmd = jtag_command_queue; ret == ERROR_OK && cmd != NULL;
+ for (cmd = jtag_command_queue; ret == ERROR_OK && cmd;
cmd = cmd->next) {
switch (cmd->type) {
case JTAG_RUNTEST:
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(server_port);
- if (server_address == NULL) {
+ if (!server_address) {
server_address = strdup(SERVER_ADDRESS);
- if (server_address == NULL) {
+ if (!server_address) {
LOG_ERROR("%s: strdup fail, file %s, line %d",
__func__, __FILE__, __LINE__);
return ERROR_FAIL;
serv_addr.sin_addr.s_addr = inet_addr(server_address);
if (serv_addr.sin_addr.s_addr == INADDR_NONE) {
- LOG_ERROR("inet_addr error occured");
+ LOG_ERROR("inet_addr error occurred");
return ERROR_FAIL;
}
if (CMD_ARGC > 1)
return ERROR_COMMAND_SYNTAX_ERROR;
else if (CMD_ARGC == 0) {
- if (server_address == NULL) {
+ if (!server_address) {
server_address = strdup(SERVER_ADDRESS);
- if (server_address == NULL) {
+ if (!server_address) {
LOG_ERROR("%s: strdup fail, file %s, line %d",
__func__, __FILE__, __LINE__);
return ERROR_FAIL;
} else {
free(server_address);
server_address = strdup(CMD_ARGV[0]);
- if (server_address == NULL) {
+ if (!server_address) {
LOG_ERROR("%s: strdup fail, file %s, line %d",
__func__, __FILE__, __LINE__);
return ERROR_FAIL;
return ERROR_OK;
}
-static const struct command_registration jtag_dpi_command_handlers[] = {
+static const struct command_registration jtag_dpi_subcommand_handlers[] = {
{
- .name = "jtag_dpi_set_port",
+ .name = "set_port",
.handler = &jtag_dpi_set_port,
.mode = COMMAND_CONFIG,
.help = "set the port of the DPI server",
.usage = "[port]",
},
{
- .name = "jtag_dpi_set_address",
+ .name = "set_address",
.handler = &jtag_dpi_set_address,
.mode = COMMAND_CONFIG,
.help = "set the address of the DPI server",
COMMAND_REGISTRATION_DONE
};
+static const struct command_registration jtag_dpi_command_handlers[] = {
+ {
+ .name = "jtag_dpi",
+ .mode = COMMAND_ANY,
+ .help = "perform jtag_dpi management",
+ .chain = jtag_dpi_subcommand_handlers,
+ .usage = "",
+ },
+ COMMAND_REGISTRATION_DONE
+};
+
static struct jtag_interface jtag_dpi_interface = {
.supported = DEBUG_CAP_TMS_SEQ,
.execute_queue = jtag_dpi_execute_queue,