Out-of-line jtag_tap_next_enabled and simplify its logic.
git-svn-id: svn://svn.berlios.de/openocd/trunk@2185 b42882b7-edfa-0310-969c-e2dbd0fdcd60__archive__
parent
04cb121073
commit
08382e0601
|
@ -202,6 +202,18 @@ jtag_tap_t *jtag_tap_by_position(unsigned n)
|
|||
return t;
|
||||
}
|
||||
|
||||
jtag_tap_t* jtag_tap_next_enabled(jtag_tap_t* p)
|
||||
{
|
||||
p = p ? p->next_tap : jtag_all_taps();
|
||||
while (p)
|
||||
{
|
||||
if (p->enabled)
|
||||
return p;
|
||||
p = p->next_tap;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const char *jtag_tap_name(const jtag_tap_t *tap)
|
||||
{
|
||||
return (tap == NULL) ? "(unknown)" : tap->dotted_name;
|
||||
|
|
|
@ -180,36 +180,10 @@ extern const char *jtag_tap_name(const jtag_tap_t *tap);
|
|||
extern jtag_tap_t* jtag_tap_by_string(const char* dotted_name);
|
||||
extern jtag_tap_t* jtag_tap_by_jim_obj(Jim_Interp* interp, Jim_Obj* obj);
|
||||
extern jtag_tap_t* jtag_tap_by_position(unsigned abs_position);
|
||||
extern jtag_tap_t* jtag_tap_next_enabled(jtag_tap_t* p);
|
||||
extern unsigned jtag_tap_count_enabled(void);
|
||||
extern unsigned jtag_tap_count(void);
|
||||
|
||||
static __inline__ jtag_tap_t* jtag_tap_next_enabled(jtag_tap_t* p)
|
||||
{
|
||||
if (p == NULL)
|
||||
{
|
||||
/* start at the head of list */
|
||||
p = jtag_all_taps();
|
||||
}
|
||||
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 {
|
||||
LINE_OPEN_DRAIN = 0x0,
|
||||
|
|
Loading…
Reference in New Issue