summaryrefslogtreecommitdiff
path: root/src/jtag/jtag.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/jtag/jtag.h')
-rw-r--r--src/jtag/jtag.h22
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