Commit 08382e06 authored by zwelch's avatar zwelch
Browse files

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
parent 04cb1210
......@@ -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,
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment