Author: Michael Bruck <mbruck@digenius.de>

-jtag.c, interface_jtag_add_ir_scan() [1/2]:
    	- remove temporary scan_size and use tap->ir_length instead
    	- slight loop restructuring to reduce indentation level




git-svn-id: svn://svn.berlios.de/openocd/trunk@1868 b42882b7-edfa-0310-969c-e2dbd0fdcd60
__archive__
kc8apf 2009-05-21 04:54:38 +00:00
parent 73e31653fc
commit 788cad7244
1 changed files with 12 additions and 15 deletions

View File

@ -643,23 +643,20 @@ int MINIDRIVER(interface_jtag_add_ir_scan)(int in_num_fields, const scan_field_t
{ {
int found = 0; int found = 0;
size_t scan_size = tap->ir_length;
/* search the list */
for (int j = 0; j < in_num_fields; j++) for (int j = 0; j < in_num_fields; j++)
{ {
if (tap == in_fields[j].tap) if (tap != in_fields[j].tap)
{ continue;
found = 1;
tap->bypass = 0; found = 1;
assert(in_fields[j].num_bits == tap->ir_length); /* input fields must have the same length as the TAP's IR */
cmd_queue_scan_field_clone(field, in_fields + j); tap->bypass = 0;
break; assert(in_fields[j].num_bits == tap->ir_length); /* input fields must have the same length as the TAP's IR */
}
cmd_queue_scan_field_clone(field, in_fields + j);
break;
} }
if (!found) if (!found)
@ -668,13 +665,13 @@ int MINIDRIVER(interface_jtag_add_ir_scan)(int in_num_fields, const scan_field_t
tap->bypass = 1; tap->bypass = 1;
field->tap = tap; field->tap = tap;
field->num_bits = scan_size; field->num_bits = tap->ir_length;
field->out_value = buf_set_ones(cmd_queue_alloc(CEIL(scan_size, 8)), scan_size); field->out_value = buf_set_ones(cmd_queue_alloc(CEIL(tap->ir_length, 8)), tap->ir_length);
field->in_value = NULL; /* do not collect input for tap's in bypass */ field->in_value = NULL; /* do not collect input for tap's in bypass */
} }
/* update device information */ /* update device information */
buf_cpy(field->out_value, tap->cur_instr, scan_size); buf_cpy(field->out_value, tap->cur_instr, tap->ir_length);
field++; field++;
} }