From 9eefd4d7e57f757f74c9164f71b36b74db42020b Mon Sep 17 00:00:00 2001 From: zwelch Date: Sun, 7 Jun 2009 05:23:50 +0000 Subject: [PATCH] Factoring of jtag_examine_chain for maintainability: - Add helper to check for the terminating ID during jtag_examine_chain. git-svn-id: svn://svn.berlios.de/openocd/trunk@2087 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/jtag/jtag.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c index 0bc1c4ffb..1456a5b54 100644 --- a/src/jtag/jtag.c +++ b/src/jtag/jtag.c @@ -995,6 +995,11 @@ static void jtag_examine_chain_display(enum log_levels level, const char *msg, EXTRACT_MFG(idcode), EXTRACT_PART(idcode), EXTRACT_VER(idcode) ); } +static bool jtag_idcode_is_final(u32 idcode) +{ + return idcode == 0x000000FF || idcode == 0xFFFFFFFF; +} + /** * This helper checks that remaining bits in the examined chain data are * all as expected, but a single JTAG device requires only 64 bits to be @@ -1008,7 +1013,7 @@ static void jtag_examine_chain_end(u8 *idcodes, unsigned count, unsigned max) { u32 idcode = buf_get_u32(idcodes, count, 32); // do not trigger the warning if the data looks good - if (!triggered && (idcode == 0x000000FF || idcode == 0xFFFFFFFF)) + if (!triggered && jtag_idcode_is_final(idcode)) continue; LOG_WARNING("Unexpected idcode after end of chain: %d 0x%08x", count, idcode); @@ -1055,7 +1060,7 @@ static int jtag_examine_chain(void) * as AVR will output all 1's instead of TDI input value at * end of chain. */ - if ((idcode == 0x000000FF)||(idcode == 0xFFFFFFFF)) + if (jtag_idcode_is_final(idcode)) { jtag_examine_chain_end(idcode_buffer, bit_count + 32, JTAG_MAX_CHAIN_SIZE * 32);