diff options
Diffstat (limited to 'src/jtag/jtag.h')
-rw-r--r-- | src/jtag/jtag.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/jtag/jtag.h b/src/jtag/jtag.h index cff2a662..bf04e41c 100644 --- a/src/jtag/jtag.h +++ b/src/jtag/jtag.h @@ -186,7 +186,6 @@ struct jtag_tap_s }; extern jtag_tap_t *jtag_AllTaps(void); extern jtag_tap_t *jtag_TapByPosition(int n); -extern jtag_tap_t *jtag_NextEnabledTap( jtag_tap_t * ); extern jtag_tap_t *jtag_TapByPosition( int n ); extern jtag_tap_t *jtag_TapByString( const char *dotted_name ); extern jtag_tap_t *jtag_TapByJimObj( Jim_Interp *interp, Jim_Obj *obj ); @@ -195,6 +194,27 @@ extern int jtag_NumEnabledTaps(void); extern int jtag_NumTotalTaps(void); +static __inline__ jtag_tap_t * +jtag_NextEnabledTap( jtag_tap_t *p ) +{ + if( p == NULL ){ + // start at the head of list + p = jtag_AllTaps(); + } else { + // start *after* this one + p = p->next_tap; + } + while( p ){ + if( p->enabled ){ + break; + } else { + p = p->next_tap; + } + } + return p; +} + + enum reset_line_mode |