diff options
author | kc8apf <kc8apf@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2009-05-21 04:43:01 +0000 |
---|---|---|
committer | kc8apf <kc8apf@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2009-05-21 04:43:01 +0000 |
commit | 8cb3e95b39e78bf6e41b31c383b7a364fd0bc45f (patch) | |
tree | 5fbc7a2f90ab8ab66dc9e8b15623b748fd86b92e /src/jtag/jtag.c | |
parent | 3bc0997e285fae0bc7f7ead752590dded7eaaec5 (diff) | |
download | riscv-openocd-8cb3e95b39e78bf6e41b31c383b7a364fd0bc45f.zip riscv-openocd-8cb3e95b39e78bf6e41b31c383b7a364fd0bc45f.tar.gz riscv-openocd-8cb3e95b39e78bf6e41b31c383b7a364fd0bc45f.tar.bz2 |
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
Diffstat (limited to 'src/jtag/jtag.c')
-rw-r--r-- | src/jtag/jtag.c | 67 |
1 files changed, 23 insertions, 44 deletions
diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c index df06299..f5428aa 100644 --- a/src/jtag/jtag.c +++ b/src/jtag/jtag.c @@ -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) { - jtag_tap_t *tap; int nth_tap; 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; 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 MINIDRIVER(interface_jtag_add_dr_scan)(int in_num_fields, const scan_field_t { 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 @@ int MINIDRIVER(interface_jtag_add_dr_scan)(int in_num_fields, const scan_field_t 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 @@ void MINIDRIVER(interface_jtag_add_dr_out)(jtag_tap_t *target_tap, { 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 @@ void MINIDRIVER(interface_jtag_add_dr_out)(jtag_tap_t *target_tap, 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; |