diff options
author | kc8apf <kc8apf@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2009-05-20 04:55:01 +0000 |
---|---|---|
committer | kc8apf <kc8apf@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2009-05-20 04:55:01 +0000 |
commit | b7b04525179001cd564117c5b0a38900d9f27cee (patch) | |
tree | e2389375e340e6b7db18d43d892839096f3c292c /src | |
parent | 1ed16c57bc8963ebc6f9ace4692d2126a504dd51 (diff) | |
download | riscv-openocd-b7b04525179001cd564117c5b0a38900d9f27cee.zip riscv-openocd-b7b04525179001cd564117c5b0a38900d9f27cee.tar.gz riscv-openocd-b7b04525179001cd564117c5b0a38900d9f27cee.tar.bz2 |
Author: Michael Bruck <mbruck@digenius.de>
- simplify code in interface_jtag_add_plain_dr_scan() by adding a local variable 'scan' to hold the scan_command_t
git-svn-id: svn://svn.berlios.de/openocd/trunk@1849 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src')
-rw-r--r-- | src/jtag/jtag.c | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c index baff66c..e912401 100644 --- a/src/jtag/jtag.c +++ b/src/jtag/jtag.c @@ -977,28 +977,27 @@ void jtag_add_plain_dr_scan(int in_num_fields, scan_field_t *in_fields, tap_stat int MINIDRIVER(interface_jtag_add_plain_dr_scan)(int in_num_fields, scan_field_t *in_fields, tap_state_t state) { - /* allocate memory for a new list member */ - jtag_command_t * cmd = cmd_queue_alloc(sizeof(jtag_command_t)); + jtag_command_t * cmd = cmd_queue_alloc(sizeof(jtag_command_t)); + scan_command_t * scan = cmd_queue_alloc(sizeof(scan_command_t)); jtag_queue_command(cmd); - cmd->type = JTAG_SCAN; + cmd->type = JTAG_SCAN; + cmd->cmd.scan = scan; - /* allocate memory for scan command */ - cmd->cmd.scan = cmd_queue_alloc(sizeof(scan_command_t)); - cmd->cmd.scan->ir_scan = false; - cmd->cmd.scan->num_fields = in_num_fields; - cmd->cmd.scan->fields = cmd_queue_alloc(in_num_fields * sizeof(scan_field_t)); - cmd->cmd.scan->end_state = state; + scan->ir_scan = false; + scan->num_fields = in_num_fields; + scan->fields = cmd_queue_alloc(in_num_fields * sizeof(scan_field_t)); + scan->end_state = state; for (int i = 0; i < in_num_fields; i++) { int num_bits = in_fields[i].num_bits; int num_bytes = CEIL(in_fields[i].num_bits, 8); - cmd->cmd.scan->fields[i].tap = in_fields[i].tap; - cmd->cmd.scan->fields[i].num_bits = num_bits; - cmd->cmd.scan->fields[i].out_value = buf_cpy(in_fields[i].out_value, cmd_queue_alloc(num_bytes), num_bits); - cmd->cmd.scan->fields[i].in_value = in_fields[i].in_value; + scan->fields[i].tap = in_fields[i].tap; + scan->fields[i].num_bits = num_bits; + scan->fields[i].out_value = buf_cpy(in_fields[i].out_value, cmd_queue_alloc(num_bytes), num_bits); + scan->fields[i].in_value = in_fields[i].in_value; } return ERROR_OK; |