Author: Michael Bruck <mbruck@digenius.de>
- jtag.c: Use single 'for' statement to iterate over list of TAPs in scan functions git-svn-id: svn://svn.berlios.de/openocd/trunk@1862 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
parent
3bc0997e28
commit
8cb3e95b39
|
@ -604,7 +604,6 @@ void jtag_add_ir_scan(int in_num_fields, scan_field_t *in_fields, tap_state_t st
|
||||||
*/
|
*/
|
||||||
int MINIDRIVER(interface_jtag_add_ir_scan)(int in_num_fields, const scan_field_t *in_fields, tap_state_t state)
|
int MINIDRIVER(interface_jtag_add_ir_scan)(int in_num_fields, const scan_field_t *in_fields, tap_state_t state)
|
||||||
{
|
{
|
||||||
jtag_tap_t *tap;
|
|
||||||
int nth_tap;
|
int nth_tap;
|
||||||
|
|
||||||
int num_taps = jtag_NumEnabledTaps();
|
int num_taps = jtag_NumEnabledTaps();
|
||||||
|
@ -624,15 +623,11 @@ int MINIDRIVER(interface_jtag_add_ir_scan)(int in_num_fields, const scan_field_t
|
||||||
scan->end_state = state;
|
scan->end_state = state;
|
||||||
|
|
||||||
nth_tap = -1;
|
nth_tap = -1;
|
||||||
tap = NULL;
|
|
||||||
for(;;){
|
for (jtag_tap_t * tap = jtag_NextEnabledTap(NULL); tap != NULL; tap = jtag_NextEnabledTap(tap))
|
||||||
|
{
|
||||||
int found = 0;
|
int found = 0;
|
||||||
|
|
||||||
/* do this here so it is not forgotten */
|
|
||||||
tap = jtag_NextEnabledTap(tap);
|
|
||||||
if( tap == NULL ){
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
nth_tap++;
|
nth_tap++;
|
||||||
|
|
||||||
assert(nth_tap < num_taps);
|
assert(nth_tap < num_taps);
|
||||||
|
@ -824,22 +819,16 @@ int MINIDRIVER(interface_jtag_add_dr_scan)(int in_num_fields, const scan_field_t
|
||||||
{
|
{
|
||||||
int j;
|
int j;
|
||||||
int nth_tap;
|
int nth_tap;
|
||||||
int bypass_devices = 0;
|
|
||||||
int field_count = 0;
|
int field_count = 0;
|
||||||
|
|
||||||
jtag_tap_t *tap;
|
|
||||||
|
|
||||||
/* count devices in bypass */
|
/* count devices in bypass */
|
||||||
tap = NULL;
|
|
||||||
bypass_devices = 0;
|
size_t bypass_devices = 0;
|
||||||
for(;;){
|
|
||||||
tap = jtag_NextEnabledTap(tap);
|
for (jtag_tap_t * tap = jtag_NextEnabledTap(NULL); tap != NULL; tap = jtag_NextEnabledTap(tap))
|
||||||
if( tap == NULL ){
|
{
|
||||||
break;
|
if (tap->bypass)
|
||||||
}
|
|
||||||
if( tap->bypass ){
|
|
||||||
bypass_devices++;
|
bypass_devices++;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
jtag_command_t * cmd = cmd_queue_alloc(sizeof(jtag_command_t));
|
jtag_command_t * cmd = cmd_queue_alloc(sizeof(jtag_command_t));
|
||||||
|
@ -856,14 +845,12 @@ int MINIDRIVER(interface_jtag_add_dr_scan)(int in_num_fields, const scan_field_t
|
||||||
scan->fields = out_fields;
|
scan->fields = out_fields;
|
||||||
scan->end_state = state;
|
scan->end_state = state;
|
||||||
|
|
||||||
tap = NULL;
|
|
||||||
nth_tap = -1;
|
nth_tap = -1;
|
||||||
for(;;){
|
|
||||||
|
for (jtag_tap_t * tap = jtag_NextEnabledTap(NULL); tap != NULL; tap = jtag_NextEnabledTap(tap))
|
||||||
|
{
|
||||||
nth_tap++;
|
nth_tap++;
|
||||||
tap = jtag_NextEnabledTap(tap);
|
|
||||||
if( tap == NULL ){
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
int found = 0;
|
int found = 0;
|
||||||
scan->fields[field_count].tap = tap;
|
scan->fields[field_count].tap = tap;
|
||||||
|
|
||||||
|
@ -937,23 +924,18 @@ void MINIDRIVER(interface_jtag_add_dr_out)(jtag_tap_t *target_tap,
|
||||||
{
|
{
|
||||||
int nth_tap;
|
int nth_tap;
|
||||||
int field_count = 0;
|
int field_count = 0;
|
||||||
int bypass_devices = 0;
|
|
||||||
|
|
||||||
jtag_tap_t *tap;
|
|
||||||
|
|
||||||
/* count devices in bypass */
|
/* count devices in bypass */
|
||||||
tap = NULL;
|
|
||||||
bypass_devices = 0;
|
size_t bypass_devices = 0;
|
||||||
for(;;){
|
|
||||||
tap = jtag_NextEnabledTap(tap);
|
for (jtag_tap_t * tap = jtag_NextEnabledTap(NULL); tap != NULL; tap = jtag_NextEnabledTap(tap))
|
||||||
if( tap == NULL ){
|
{
|
||||||
break;
|
if (tap->bypass)
|
||||||
}
|
|
||||||
if( tap->bypass ){
|
|
||||||
bypass_devices++;
|
bypass_devices++;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
jtag_command_t * cmd = cmd_queue_alloc(sizeof(jtag_command_t));
|
jtag_command_t * cmd = cmd_queue_alloc(sizeof(jtag_command_t));
|
||||||
scan_command_t * scan = cmd_queue_alloc(sizeof(scan_command_t));
|
scan_command_t * scan = cmd_queue_alloc(sizeof(scan_command_t));
|
||||||
scan_field_t * out_fields = cmd_queue_alloc((in_num_fields + bypass_devices) * sizeof(scan_field_t));
|
scan_field_t * out_fields = cmd_queue_alloc((in_num_fields + bypass_devices) * sizeof(scan_field_t));
|
||||||
|
@ -968,13 +950,10 @@ void MINIDRIVER(interface_jtag_add_dr_out)(jtag_tap_t *target_tap,
|
||||||
scan->fields = out_fields;
|
scan->fields = out_fields;
|
||||||
scan->end_state = end_state;
|
scan->end_state = end_state;
|
||||||
|
|
||||||
tap = NULL;
|
|
||||||
nth_tap = -1;
|
nth_tap = -1;
|
||||||
for(;;){
|
|
||||||
tap = jtag_NextEnabledTap(tap);
|
for (jtag_tap_t * tap = jtag_NextEnabledTap(NULL); tap != NULL; tap = jtag_NextEnabledTap(tap))
|
||||||
if( tap == NULL ){
|
{
|
||||||
break;
|
|
||||||
}
|
|
||||||
nth_tap++;
|
nth_tap++;
|
||||||
scan->fields[field_count].tap = tap;
|
scan->fields[field_count].tap = tap;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue