From: kc8apf at B. <kc...@ma...> - 2009-05-21 06:43:16
|
Author: kc8apf Date: 2009-05-21 06:43:01 +0200 (Thu, 21 May 2009) New Revision: 1862 Modified: trunk/src/jtag/jtag.c Log: Author: Michael Bruck <mb...@di...> - jtag.c: Use single 'for' statement to iterate over list of TAPs in scan functions Modified: trunk/src/jtag/jtag.c =================================================================== --- trunk/src/jtag/jtag.c 2009-05-21 04:41:50 UTC (rev 1861) +++ trunk/src/jtag/jtag.c 2009-05-21 04:43:01 UTC (rev 1862) @@ -604,7 +604,6 @@ */ 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 num_taps = jtag_NumEnabledTaps(); @@ -624,15 +623,11 @@ scan->end_state = state; nth_tap = -1; - tap = NULL; - for(;;){ + + for (jtag_tap_t * tap = jtag_NextEnabledTap(NULL); tap != NULL; tap = jtag_NextEnabledTap(tap)) + { int found = 0; - /* do this here so it is not forgotten */ - tap = jtag_NextEnabledTap(tap); - if( tap == NULL ){ - break; - } nth_tap++; assert(nth_tap < num_taps); @@ -824,22 +819,16 @@ { int j; int nth_tap; - int bypass_devices = 0; int field_count = 0; - jtag_tap_t *tap; - /* count devices in bypass */ - tap = NULL; - bypass_devices = 0; - for(;;){ - tap = jtag_NextEnabledTap(tap); - if( tap == NULL ){ - break; - } - if( tap->bypass ){ + + size_t bypass_devices = 0; + + for (jtag_tap_t * tap = jtag_NextEnabledTap(NULL); tap != NULL; tap = jtag_NextEnabledTap(tap)) + { + if (tap->bypass) bypass_devices++; - } } jtag_command_t * cmd = cmd_queue_alloc(sizeof(jtag_command_t)); @@ -856,14 +845,12 @@ scan->fields = out_fields; scan->end_state = state; - tap = NULL; nth_tap = -1; - for(;;){ + + for (jtag_tap_t * tap = jtag_NextEnabledTap(NULL); tap != NULL; tap = jtag_NextEnabledTap(tap)) + { nth_tap++; - tap = jtag_NextEnabledTap(tap); - if( tap == NULL ){ - break; - } + int found = 0; scan->fields[field_count].tap = tap; @@ -937,23 +924,18 @@ { int nth_tap; int field_count = 0; - int bypass_devices = 0; - jtag_tap_t *tap; - /* count devices in bypass */ - tap = NULL; - bypass_devices = 0; - for(;;){ - tap = jtag_NextEnabledTap(tap); - if( tap == NULL ){ - break; - } - if( tap->bypass ){ + + size_t bypass_devices = 0; + + for (jtag_tap_t * tap = jtag_NextEnabledTap(NULL); tap != NULL; tap = jtag_NextEnabledTap(tap)) + { + if (tap->bypass) bypass_devices++; - } } + jtag_command_t * cmd = cmd_queue_alloc(sizeof(jtag_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)); @@ -968,13 +950,10 @@ scan->fields = out_fields; scan->end_state = end_state; - tap = NULL; nth_tap = -1; - for(;;){ - tap = jtag_NextEnabledTap(tap); - if( tap == NULL ){ - break; - } + + for (jtag_tap_t * tap = jtag_NextEnabledTap(NULL); tap != NULL; tap = jtag_NextEnabledTap(tap)) + { nth_tap++; scan->fields[field_count].tap = tap; |