From bb1a1ddb541808ef404473a22721231cdfe96929 Mon Sep 17 00:00:00 2001 From: oharboe Date: Thu, 4 Jun 2009 07:05:22 +0000 Subject: [PATCH] jtag_add_end_state() now returns the value of the global variable and does not modify the global variable if passed TAP_INVALID. This patch has no effect on the current code and is just to prepare upcoming patches. git-svn-id: svn://svn.berlios.de/openocd/trunk@2041 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/jtag/jtag.c | 9 ++++++--- src/jtag/jtag.h | 11 ++++++++++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c index 0733789f1b..2c53f9f4fe 100644 --- a/src/jtag/jtag.c +++ b/src/jtag/jtag.c @@ -773,13 +773,16 @@ void jtag_add_reset(int req_tlr_or_trst, int req_srst) } } -void jtag_add_end_state(tap_state_t state) +tap_state_t jtag_add_end_state(tap_state_t state) { - cmd_queue_end_state = state; - if ((cmd_queue_end_state == TAP_DRSHIFT)||(cmd_queue_end_state == TAP_IRSHIFT)) + if ((state == TAP_DRSHIFT)||(state == TAP_IRSHIFT)) { LOG_ERROR("BUG: TAP_DRSHIFT/IRSHIFT can't be end state. Calling code should use a larger scan field"); } + + if (state!=TAP_INVALID) + cmd_queue_end_state = state; + return cmd_queue_end_state; } void jtag_add_sleep(u32 us) diff --git a/src/jtag/jtag.h b/src/jtag/jtag.h index 5fbe7dc103..0d7d15e9a5 100644 --- a/src/jtag/jtag.h +++ b/src/jtag/jtag.h @@ -488,7 +488,16 @@ extern void jtag_add_runtest(int num_cycles, tap_state_t endstate); */ extern void jtag_add_reset(int req_tlr_or_trst, int srst); -extern void jtag_add_end_state(tap_state_t endstate); + +/** + * Function jtag_add_stable_clocks + * + * Set a global variable to \a state if \a state != TAP_INVALID. + * + * Return the value of the global variable. + * + **/ +extern tap_state_t jtag_add_end_state(tap_state_t state); extern void jtag_add_sleep(u32 us); -- 2.30.2