aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/jtag/Makefile.am5
-rw-r--r--src/jtag/commands.c12
-rw-r--r--src/jtag/commands.h1
-rw-r--r--src/jtag/drivers/driver.c16
4 files changed, 17 insertions, 17 deletions
diff --git a/src/jtag/Makefile.am b/src/jtag/Makefile.am
index 50ee263..a764863 100644
--- a/src/jtag/Makefile.am
+++ b/src/jtag/Makefile.am
@@ -1,6 +1,6 @@
noinst_LTLIBRARIES += %D%/libjtag.la
-JTAG_SRCS =
+JTAG_SRCS = %D%/commands.c
%C%_libjtag_la_LIBADD =
BUILT_SOURCES += %D%/minidriver_imp.h
@@ -13,7 +13,7 @@ JTAG_SRCS += %D%/zy1000/zy1000.c
JTAG_MINIDRIVER_DIR = %D%/zy1000
endif
if MINIDRIVER_DUMMY
-JTAG_SRCS += %D%/minidummy/minidummy.c %D%/commands.c
+JTAG_SRCS += %D%/minidummy/minidummy.c
JTAG_MINIDRIVER_DIR = %D%/minidummy
endif
@@ -29,7 +29,6 @@ CLEANFILES += %D%/jtag_minidriver.h
else
MINIDRIVER_IMP_DIR = %D%/drivers
-JTAG_SRCS += %D%/commands.c
if HLADAPTER
include %D%/hla/Makefile.am
diff --git a/src/jtag/commands.c b/src/jtag/commands.c
index ed40755..e2d22cc 100644
--- a/src/jtag/commands.c
+++ b/src/jtag/commands.c
@@ -144,6 +144,18 @@ void jtag_command_queue_reset(void)
next_command_pointer = &jtag_command_queue;
}
+/**
+ * Copy a struct scan_field for insertion into the queue.
+ *
+ * This allocates a new copy of out_value using cmd_queue_alloc.
+ */
+void jtag_scan_field_clone(struct scan_field *dst, const struct scan_field *src)
+{
+ dst->num_bits = src->num_bits;
+ dst->out_value = buf_cpy(src->out_value, cmd_queue_alloc(DIV_ROUND_UP(src->num_bits, 8)), src->num_bits);
+ dst->in_value = src->in_value;
+}
+
enum scan_type jtag_scan_type(const struct scan_command *cmd)
{
int i;
diff --git a/src/jtag/commands.h b/src/jtag/commands.h
index 947c947..c037596 100644
--- a/src/jtag/commands.h
+++ b/src/jtag/commands.h
@@ -168,6 +168,7 @@ void *cmd_queue_alloc(size_t size);
void jtag_queue_command(struct jtag_command *cmd);
void jtag_command_queue_reset(void);
+void jtag_scan_field_clone(struct scan_field *dst, const struct scan_field *src);
enum scan_type jtag_scan_type(const struct scan_command *cmd);
int jtag_scan_size(const struct scan_command *cmd);
int jtag_read_buffer(uint8_t *buffer, const struct scan_command *cmd);
diff --git a/src/jtag/drivers/driver.c b/src/jtag/drivers/driver.c
index daf7cd4..4923f96 100644
--- a/src/jtag/drivers/driver.c
+++ b/src/jtag/drivers/driver.c
@@ -56,18 +56,6 @@ static void jtag_callback_queue_reset(void)
}
/**
- * Copy a struct scan_field for insertion into the queue.
- *
- * This allocates a new copy of out_value using cmd_queue_alloc.
- */
-static void cmd_queue_scan_field_clone(struct scan_field *dst, const struct scan_field *src)
-{
- dst->num_bits = src->num_bits;
- dst->out_value = buf_cpy(src->out_value, cmd_queue_alloc(DIV_ROUND_UP(src->num_bits, 8)), src->num_bits);
- dst->in_value = src->in_value;
-}
-
-/**
* see jtag_add_ir_scan()
*
*/
@@ -101,7 +89,7 @@ int interface_jtag_add_ir_scan(struct jtag_tap *active,
/* if TAP is listed in input fields, copy the value */
tap->bypass = 0;
- cmd_queue_scan_field_clone(field, in_fields);
+ jtag_scan_field_clone(field, in_fields);
} else {
/* if a TAP isn't listed in input fields, set it to BYPASS */
@@ -168,7 +156,7 @@ int interface_jtag_add_dr_scan(struct jtag_tap *active, int in_num_fields,
#endif /* NDEBUG */
for (int j = 0; j < in_num_fields; j++) {
- cmd_queue_scan_field_clone(field, in_fields + j);
+ jtag_scan_field_clone(field, in_fields + j);
field++;
}