From feb865f9eea9a1336bc05332da48c14df5429036 Mon Sep 17 00:00:00 2001 From: zwelch Date: Sun, 7 Jun 2009 05:23:30 +0000 Subject: [PATCH] Factoring of jtag_examine_chain for maintainability: - Factor output of accepted/incorrect/expected TAP IDs into static helper. git-svn-id: svn://svn.berlios.de/openocd/trunk@2085 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/jtag/jtag.c | 45 ++++++++++++++++++++------------------------- 1 file changed, 20 insertions(+), 25 deletions(-) diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c index 03462d6ba..8774bbba0 100644 --- a/src/jtag/jtag.c +++ b/src/jtag/jtag.c @@ -985,6 +985,16 @@ static bool jtag_examine_chain_check(u8 *idcodes, unsigned count) return true; } +static void jtag_examine_chain_display(enum log_levels level, const char *msg, + const char *name, u32 idcode) +{ + log_printf_lf(level, __FILE__, __LINE__, __FUNCTION__, + "JTAG tap: %s %16.16s: 0x%08x " + "(mfg: 0x%3.3x, part: 0x%4.4x, ver: 0x%1.1x)", + name, msg, idcode, + EXTRACT_MFG(idcode), EXTRACT_PART(idcode), EXTRACT_VER(idcode) ); +} + /* Try to examine chain layout according to IEEE 1149.1 §12 */ static int jtag_examine_chain(void) @@ -1019,10 +1029,6 @@ static int jtag_examine_chain(void) } else { - u32 manufacturer; - u32 part; - u32 version; - /* some devices, such as AVR will output all 1's instead of TDI input value at end of chain. */ if ((idcode == 0x000000FF)||(idcode == 0xFFFFFFFF)) @@ -1052,13 +1058,9 @@ static int jtag_examine_chain(void) break; } - manufacturer = EXTRACT_MFG(idcode); - part = EXTRACT_PART(idcode); - version = EXTRACT_VER(idcode); - - LOG_INFO("JTAG tap: %s tap/device found: 0x%8.8x (Manufacturer: 0x%3.3x, Part: 0x%4.4x, Version: 0x%1.1x)", - ((tap != NULL) ? (tap->dotted_name) : "(not-named)"), - idcode, manufacturer, part, version); + jtag_examine_chain_display(LOG_LVL_INFO, "tap/device found", + tap ? tap->dotted_name : "(not-named)", + idcode); bit_count += 32; } @@ -1093,21 +1095,14 @@ static int jtag_examine_chain(void) tap = jtag_tap_next_enabled(tap); continue; } - LOG_ERROR("JTAG tap: %s got: 0x%08x (mfg: 0x%3.3x, part: 0x%4.4x, ver: 0x%1.1x)", - tap->dotted_name, - idcode, - EXTRACT_MFG( tap->idcode ), - EXTRACT_PART( tap->idcode ), - EXTRACT_VER( tap->idcode ) ); + jtag_examine_chain_display(LOG_LVL_ERROR, "got", + tap->dotted_name, tap->idcode); for (ii = 0; ii < tap->expected_ids_cnt; ii++) { - LOG_ERROR("JTAG tap: %s expected %hhu of %hhu: 0x%08x (mfg: 0x%3.3x, part: 0x%4.4x, ver: 0x%1.1x)", - tap->dotted_name, - ii + 1, - tap->expected_ids_cnt, - tap->expected_ids[ii], - EXTRACT_MFG( tap->expected_ids[ii] ), - EXTRACT_PART( tap->expected_ids[ii] ), - EXTRACT_VER( tap->expected_ids[ii] ) ); + char msg[20]; + snprintf(msg, 20, "expected %hhu of %hhu", + ii + 1, tap->expected_ids_cnt); + jtag_examine_chain_display(LOG_LVL_ERROR, msg, + tap->dotted_name, tap->expected_ids[ii]); } return ERROR_JTAG_INIT_FAILED; } -- 2.30.2