aboutsummaryrefslogtreecommitdiff
path: root/src/jtag/tcl.c
diff options
context:
space:
mode:
authorzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-06-09 10:07:07 +0000
committerzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-06-09 10:07:07 +0000
commite8febc22551f1afe3cfa556f7afb16fd8996b6c8 (patch)
tree602f5c8e4d457cd08c3709ef7756dde4c8c2fbc0 /src/jtag/tcl.c
parent5f4ecc60a9ed083d208c56dd5ff50fac81dbe4d5 (diff)
Encapsulate the core jtag interface pointer:
- Add new jtag_config_khz to increase encapsulation of jtag->khz call. - Add new jtag_get_speed_readable to encapsulate of jtag->speed_div call. - Make definition of jtag static in core.c, remove extern from tcl.c. git-svn-id: svn://svn.berlios.de/openocd/trunk@2171 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/jtag/tcl.c')
-rw-r--r--src/jtag/tcl.c32
1 files changed, 7 insertions, 25 deletions
diff --git a/src/jtag/tcl.c b/src/jtag/tcl.c
index f26e934a..4f2f6b5f 100644
--- a/src/jtag/tcl.c
+++ b/src/jtag/tcl.c
@@ -170,7 +170,6 @@ jtag_interface_t *jtag_interfaces[] = {
NULL,
};
-extern struct jtag_interface_s *jtag;
extern jtag_interface_t *jtag_interface;
/* jtag commands */
@@ -1012,41 +1011,24 @@ static int handle_jtag_khz_command(struct command_context_s *cmd_ctx, char *cmd,
return ERROR_COMMAND_SYNTAX_ERROR;
int retval = ERROR_OK;
- int cur_speed = 0;
if (argc == 1)
{
- LOG_DEBUG("handle jtag khz");
-
- jtag_set_speed_khz(strtoul(args[0], NULL, 0));
- if (jtag != NULL)
- {
- LOG_DEBUG("have interface set up");
- int speed_div1;
- retval = jtag->khz(jtag_get_speed_khz(), &speed_div1);
- if (ERROR_OK != retval)
- {
- jtag_set_speed_khz(0);
- return retval;
- }
- cur_speed = speed_div1;
- }
- retval = jtag_set_speed(cur_speed);
- }
-
- cur_speed = jtag_get_speed_khz();
- if (jtag != NULL)
- {
- retval = jtag->speed_div(jtag_get_speed(), &cur_speed);
+ retval = jtag_config_khz(strtoul(args[0], NULL, 0));
if (ERROR_OK != retval)
return retval;
}
+ int cur_speed;
+ retval = jtag_get_speed_readable(&cur_speed);
+ if (ERROR_OK != retval)
+ return retval;
+
if (cur_speed)
command_print(cmd_ctx, "%d kHz", cur_speed);
else
command_print(cmd_ctx, "RCLK - adaptive");
- return retval;
+ return retval;
}
static int handle_jtag_reset_command(struct command_context_s *cmd_ctx,