diff --git a/src/jtag/core.c b/src/jtag/core.c index 7ed5976cc..0d786e164 100644 --- a/src/jtag/core.c +++ b/src/jtag/core.c @@ -58,9 +58,9 @@ static void jtag_add_scan_check(void (*jtag_add_scan)(int in_num_fields, const s */ static int jtag_error = ERROR_OK; -static char* jtag_event_strings[] = +static const char *jtag_event_strings[] = { - "JTAG controller reset (RESET or TRST)" + [JTAG_TRST_ASSERTED] = "JTAG controller reset (RESET or TRST)", }; static int jtag_trst = 0; diff --git a/src/jtag/jtag.h b/src/jtag/jtag.h index c25243311..9b378a11e 100644 --- a/src/jtag/jtag.h +++ b/src/jtag/jtag.h @@ -175,6 +175,10 @@ struct jtag_tap_s jtag_tap_t* next_tap; }; + +void jtag_tap_init(jtag_tap_t *tap); +void jtag_tap_free(jtag_tap_t *tap); + extern jtag_tap_t* jtag_all_taps(void); extern const char *jtag_tap_name(const jtag_tap_t *tap); extern jtag_tap_t* jtag_tap_by_string(const char* dotted_name); @@ -185,16 +189,16 @@ extern unsigned jtag_tap_count_enabled(void); extern unsigned jtag_tap_count(void); -/* +/* * There are three cases when JTAG_TRST_ASSERTED callback is invoked. The - * event is invoked *after* TRST is asserted(or queued rather). It is illegal - * to communicate with the JTAG interface during the callback(as there is + * event is invoked *after* TRST is asserted(or queued rather). It is illegal + * to communicate with the JTAG interface during the callback(as there is * currently a queue being built). - * + * * - TMS reset * - SRST pulls TRST * - TRST asserted - * + * **/ enum jtag_event { JTAG_TRST_ASSERTED @@ -235,7 +239,7 @@ extern int jtag_call_event_callbacks(enum jtag_event event); int jtag_get_speed(void); /** * Given a @a speed setting, use the interface @c speed_div callback to - * adjust the setting. + * adjust the setting. * @param speed The speed setting to convert back to readable KHz. * @returns ERROR_OK if the interface has not been initialized or on success; * otherwise, the error code produced by the @c speed_div callback. @@ -507,7 +511,7 @@ extern void jtag_add_pathmove(int num_states, const tap_state_t* path); * @param goal_state The final TAP state. * @return ERROR_OK on success, or an error code on failure. * - * Moves from the current state to the goal \a state. + * Moves from the current state to the goal \a state. * * This needs to be handled according to the xsvf spec, see the XSTATE * command description. From the XSVF spec, pertaining to XSTATE: diff --git a/src/jtag/tcl.c b/src/jtag/tcl.c index 3586a2f6c..fc113a398 100644 --- a/src/jtag/tcl.c +++ b/src/jtag/tcl.c @@ -306,9 +306,6 @@ static int is_bad_irval(int ir_length, jim_wide w) return (w & v) != 0; } -extern void jtag_tap_init(jtag_tap_t *tap); -extern void jtag_tap_free(jtag_tap_t *tap); - static int jim_newtap_cmd( Jim_GetOptInfo *goi ) { jtag_tap_t *pTap; @@ -334,12 +331,12 @@ static int jim_newtap_cmd( Jim_GetOptInfo *goi ) { .name = NULL , .value = -1 }, }; - pTap = malloc( sizeof(jtag_tap_t) ); - memset( pTap, 0, sizeof(*pTap) ); - if( !pTap ){ - Jim_SetResult_sprintf( goi->interp, "no memory"); + pTap = calloc(1, sizeof(jtag_tap_t)); + if (!pTap) { + Jim_SetResult_sprintf(goi->interp, "no memory"); return JIM_ERR; } + /* * we expect CHIP + TAP + OPTIONS * */