diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2010-02-21 14:54:54 -0800 |
---|---|---|
committer | David Brownell <dbrownell@users.sourceforge.net> | 2010-02-21 14:54:54 -0800 |
commit | ecff73043c1ddcc97d4d1ea1c87f251a850b22d4 (patch) | |
tree | a742cc39ff121545b9d79a7776c3b25a6d9effd1 | |
parent | 39cfe6279616a69b858ddd3493d61ed7133ff081 (diff) | |
download | openocd_libswd-ecff73043c1ddcc97d4d1ea1c87f251a850b22d4.tar.gz openocd_libswd-ecff73043c1ddcc97d4d1ea1c87f251a850b22d4.tar.bz2 openocd_libswd-ecff73043c1ddcc97d4d1ea1c87f251a850b22d4.tar.xz openocd_libswd-ecff73043c1ddcc97d4d1ea1c87f251a850b22d4.zip |
ARM: ADIv5, deadcode cleanup
I have no idea what the scan_inout_check() was *expecting* to achieve by
issuing a read of the DP_RDBUFF register. But in any case, that code was
clearly never being called ("invalue" always NULL) ... so remove it, and
the associated comment.
Also rename it as ap_write_check(), facilitating a cleanup of its single
call site by removing constant parameters.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
-rw-r--r-- | src/target/arm_adi_v5.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/src/target/arm_adi_v5.c b/src/target/arm_adi_v5.c index d7afb585..66b947e7 100644 --- a/src/target/arm_adi_v5.c +++ b/src/target/arm_adi_v5.c @@ -188,23 +188,24 @@ static int adi_jtag_dp_scan_u32(struct swjdp_common *swjdp, return retval; } -/* scan_inout_check adds one extra inscan for DPAP_READ commands to read variables */ -static int scan_inout_check(struct swjdp_common *swjdp, - uint8_t instr, uint8_t reg_addr, uint8_t RnW, - uint8_t *outvalue, uint8_t *invalue) +/** + * Utility to write AP registers. + */ +static int ap_write_check(struct swjdp_common *dap, + uint8_t reg_addr, uint8_t *outvalue) { - adi_jtag_dp_scan(swjdp, instr, reg_addr, RnW, outvalue, NULL, NULL); + adi_jtag_dp_scan(dap, JTAG_DP_APACC, reg_addr, DPAP_WRITE, + outvalue, NULL, NULL); - if ((RnW == DPAP_READ) && (invalue != NULL)) - adi_jtag_dp_scan(swjdp, JTAG_DP_DPACC, - DP_RDBUFF, DPAP_READ, 0, invalue, &swjdp->ack); + /* REVISIT except in dap_setup_accessport() almost all call paths + * set up COMPOSITE. Probably worth just inlining the scan... + */ /* In TRANS_MODE_ATOMIC all JTAG_DP_APACC transactions wait for * ack = OK/FAULT and the check CTRL_STAT */ - if ((instr == JTAG_DP_APACC) - && (swjdp->trans_mode == TRANS_MODE_ATOMIC)) - return jtagdp_transaction_endcheck(swjdp); + if (dap->trans_mode == TRANS_MODE_ATOMIC) + return jtagdp_transaction_endcheck(dap); return ERROR_OK; } @@ -432,8 +433,7 @@ static int dap_ap_write_reg(struct swjdp_common *swjdp, if (retval != ERROR_OK) return retval; - return scan_inout_check(swjdp, JTAG_DP_APACC, reg_addr, - DPAP_WRITE, out_value_buf, NULL); + return ap_write_check(swjdp, reg_addr, out_value_buf); } /** |