jtag API error handling refactoring.
git-svn-id: svn://svn.berlios.de/openocd/trunk@1638 b42882b7-edfa-0310-969c-e2dbd0fdcd60__archive__
parent
146b6462a3
commit
c4ee880715
|
@ -42,7 +42,7 @@
|
|||
#include <strings.h>
|
||||
#endif
|
||||
|
||||
static void jtag_execute_queue_noclear(void);
|
||||
|
||||
|
||||
/* note that this is not marked as static as it must be available from outside jtag.c for those
|
||||
that implement the jtag_xxx() minidriver layer
|
||||
|
@ -1446,7 +1446,7 @@ int MINIDRIVER(interface_jtag_execute_queue)(void)
|
|||
return retval;
|
||||
}
|
||||
|
||||
static void jtag_execute_queue_noclear(void)
|
||||
void jtag_execute_queue_noclear(void)
|
||||
{
|
||||
int retval=interface_jtag_execute_queue();
|
||||
/* we keep the first error */
|
||||
|
|
|
@ -700,6 +700,9 @@ int interface_jtag_add_clocks(int num_cycles);
|
|||
*/
|
||||
extern int jtag_execute_queue(void);
|
||||
|
||||
/* same as jtag_execute_queue() but does not clear the error flag */
|
||||
extern void jtag_execute_queue_noclear(void);
|
||||
|
||||
/* this flag is set when an error occurs while executing the queue. cleared
|
||||
* by jtag_execute_queue()
|
||||
*
|
||||
|
@ -708,6 +711,16 @@ extern int jtag_execute_queue(void);
|
|||
*/
|
||||
extern int jtag_error;
|
||||
|
||||
static __inline__ void jtag_set_error(int error)
|
||||
{
|
||||
if ((error==ERROR_OK)||(jtag_error!=ERROR_OK))
|
||||
{
|
||||
/* keep first error */
|
||||
return;
|
||||
}
|
||||
jtag_error=error;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* can be implemented by hw+sw */
|
||||
|
|
Loading…
Reference in New Issue