aboutsummaryrefslogtreecommitdiff
path: root/src/jtag/jtag.c
diff options
context:
space:
mode:
authorzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-05-30 22:23:12 +0000
committerzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-05-30 22:23:12 +0000
commit335fee3f36bd491197f8bd987baa6a7390f1750d (patch)
tree8efc24cf843d20c90ba35e720693feb9e147deb5 /src/jtag/jtag.c
parent77015d5ae35cebea28b7f6be80e3ea83f4a07f06 (diff)
Encapsulate the global "jtag" jtag_interface pointer:
- Add jtag_interface_quit, factored from exit_handler() in openocd.c. - Remove its extern declaration. - Add static keyword to its definition. git-svn-id: svn://svn.berlios.de/openocd/trunk@1952 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/jtag/jtag.c')
-rw-r--r--src/jtag/jtag.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c
index ecd4931a..c9167f41 100644
--- a/src/jtag/jtag.c
+++ b/src/jtag/jtag.c
@@ -227,7 +227,7 @@ jtag_interface_t *jtag_interfaces[] = {
NULL,
};
-jtag_interface_t *jtag = NULL;
+static jtag_interface_t *jtag = NULL;
/* configuration */
static jtag_interface_t *jtag_interface = NULL;
@@ -2407,6 +2407,20 @@ static int jtag_init_inner(struct command_context_s *cmd_ctx)
return ERROR_OK;
}
+int jtag_interface_quit(void)
+{
+ if (!jtag || !jtag->quit)
+ return ERROR_OK;
+
+ // close the JTAG interface
+ int result = jtag->quit();
+ if (ERROR_OK != result)
+ LOG_ERROR("failed: %d", result);
+
+ return ERROR_OK;
+}
+
+
int jtag_init_reset(struct command_context_s *cmd_ctx)
{
int retval;