jtag/hla, jtag/stlink: switch to command 'adapter serial'
[fw/openocd] / src / jtag / drivers / driver.c
index daf7cd4266ed6733969eb972fbb92b263f5e4876..dbe3b0819b538f2645eed717a40eb793503b1e79 100644 (file)
@@ -55,18 +55,6 @@ static void jtag_callback_queue_reset(void)
        jtag_callback_queue_tail = NULL;
 }
 
-/**
- * Copy a struct scan_field for insertion into the queue.
- *
- * This allocates a new copy of out_value using cmd_queue_alloc.
- */
-static void cmd_queue_scan_field_clone(struct scan_field *dst, const struct scan_field *src)
-{
-       dst->num_bits   = src->num_bits;
-       dst->out_value  = buf_cpy(src->out_value, cmd_queue_alloc(DIV_ROUND_UP(src->num_bits, 8)), src->num_bits);
-       dst->in_value   = src->in_value;
-}
-
 /**
  * see jtag_add_ir_scan()
  *
@@ -94,14 +82,14 @@ int interface_jtag_add_ir_scan(struct jtag_tap *active,
 
        /* loop over all enabled TAPs */
 
-       for (struct jtag_tap *tap = jtag_tap_next_enabled(NULL); tap != NULL; tap = jtag_tap_next_enabled(tap)) {
+       for (struct jtag_tap *tap = jtag_tap_next_enabled(NULL); tap; tap = jtag_tap_next_enabled(tap)) {
                /* search the input field list for fields for the current TAP */
 
                if (tap == active) {
                        /* if TAP is listed in input fields, copy the value */
                        tap->bypass = 0;
 
-                       cmd_queue_scan_field_clone(field, in_fields);
+                       jtag_scan_field_clone(field, in_fields);
                } else {
                        /* if a TAP isn't listed in input fields, set it to BYPASS */
 
@@ -134,7 +122,7 @@ int interface_jtag_add_dr_scan(struct jtag_tap *active, int in_num_fields,
 
        size_t bypass_devices = 0;
 
-       for (struct jtag_tap *tap = jtag_tap_next_enabled(NULL); tap != NULL; tap = jtag_tap_next_enabled(tap)) {
+       for (struct jtag_tap *tap = jtag_tap_next_enabled(NULL); tap; tap = jtag_tap_next_enabled(tap)) {
                if (tap->bypass)
                        bypass_devices++;
        }
@@ -157,7 +145,7 @@ int interface_jtag_add_dr_scan(struct jtag_tap *active, int in_num_fields,
 
        /* loop over all enabled TAPs */
 
-       for (struct jtag_tap *tap = jtag_tap_next_enabled(NULL); tap != NULL; tap = jtag_tap_next_enabled(tap)) {
+       for (struct jtag_tap *tap = jtag_tap_next_enabled(NULL); tap; tap = jtag_tap_next_enabled(tap)) {
                /* if TAP is not bypassed insert matching input fields */
 
                if (!tap->bypass) {
@@ -168,7 +156,7 @@ int interface_jtag_add_dr_scan(struct jtag_tap *active, int in_num_fields,
 #endif /* NDEBUG */
 
                        for (int j = 0; j < in_num_fields; j++) {
-                               cmd_queue_scan_field_clone(field, in_fields + j);
+                               jtag_scan_field_clone(field, in_fields + j);
 
                                field++;
                        }
@@ -247,7 +235,7 @@ int interface_add_tms_seq(unsigned num_bits, const uint8_t *seq, enum tap_state
        struct jtag_command *cmd;
 
        cmd = cmd_queue_alloc(sizeof(struct jtag_command));
-       if (cmd == NULL)
+       if (!cmd)
                return ERROR_FAIL;
 
        cmd->type = JTAG_TMS;
@@ -362,7 +350,7 @@ void interface_jtag_add_callback4(jtag_callback_t callback,
        entry->data2 = data2;
        entry->data3 = data3;
 
-       if (jtag_callback_queue_head == NULL) {
+       if (!jtag_callback_queue_head) {
                jtag_callback_queue_head = entry;
                jtag_callback_queue_tail = entry;
        } else {
@@ -381,7 +369,7 @@ int interface_jtag_execute_queue(void)
        int retval = default_interface_jtag_execute_queue();
        if (retval == ERROR_OK) {
                struct jtag_callback_entry *entry;
-               for (entry = jtag_callback_queue_head; entry != NULL; entry = entry->next) {
+               for (entry = jtag_callback_queue_head; entry; entry = entry->next) {
                        retval = entry->callback(entry->data0, entry->data1, entry->data2, entry->data3);
                        if (retval != ERROR_OK)
                                break;