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
This commit is contained in:
parent
04cb121073
commit
08382e0601
|
@ -202,6 +202,18 @@ jtag_tap_t *jtag_tap_by_position(unsigned n)
|
||||||
return t;
|
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)
|
const char *jtag_tap_name(const jtag_tap_t *tap)
|
||||||
{
|
{
|
||||||
return (tap == NULL) ? "(unknown)" : tap->dotted_name;
|
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_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_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_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_enabled(void);
|
||||||
extern unsigned jtag_tap_count(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 {
|
enum reset_line_mode {
|
||||||
LINE_OPEN_DRAIN = 0x0,
|
LINE_OPEN_DRAIN = 0x0,
|
||||||
|
|
Loading…
Reference in New Issue