diff --git a/src/jtag/core.c b/src/jtag/core.c
index ad6375353c242f621b53355f2c992b094706304b..3090dddd2aaebf96764e08b3dcaaab9027e05a34 100644
--- a/src/jtag/core.c
+++ b/src/jtag/core.c
@@ -355,11 +355,6 @@ static void jtag_prelude(tap_state_t state)
 	cmd_queue_cur_state = state;
 }
 
-void jtag_alloc_in_value32(struct scan_field *field)
-{
-	interface_jtag_alloc_in_value32(field);
-}
-
 void jtag_add_ir_scan_noverify(struct jtag_tap *active, const struct scan_field *in_fields,
 		tap_state_t state)
 {
diff --git a/src/jtag/drivers/minidriver_imp.h b/src/jtag/drivers/minidriver_imp.h
index 76cf9dd56846ea02493d3b861a6e203b6cf95fd8..66833000915069f19a987110f42d1b0268c6974e 100644
--- a/src/jtag/drivers/minidriver_imp.h
+++ b/src/jtag/drivers/minidriver_imp.h
@@ -23,11 +23,6 @@
 
 #include <jtag/commands.h>
 
-static inline void interface_jtag_alloc_in_value32(struct scan_field *field)
-{
-	field->in_value = (uint8_t *)cmd_queue_alloc(4);
-}
-
 static inline void interface_jtag_add_scan_check_alloc(struct scan_field *field)
 {
 	unsigned num_bytes = DIV_ROUND_UP(field->num_bits, 8);
diff --git a/src/jtag/jtag.h b/src/jtag/jtag.h
index a3ce3711694d3442b5a2356faef022ac42d6e2ed..1476150366099491e510571746334c5073b11f51 100644
--- a/src/jtag/jtag.h
+++ b/src/jtag/jtag.h
@@ -371,17 +371,6 @@ void jtag_add_plain_ir_scan(int num_bits, const uint8_t *out_bits, uint8_t *in_b
 		tap_state_t endstate);
 
 
-/**
- * Set in_value to point to 32 bits of memory to scan into. This
- * function is a way to handle the case of synchronous and asynchronous
- * JTAG queues.
- *
- * In the event of an asynchronous queue execution the queue buffer
- * allocation method is used, for the synchronous case the temporary 32
- * bits come from the input field itself.
- */
-void jtag_alloc_in_value32(struct scan_field *field);
-
 /**
  * Generate a DR SCAN using the fields passed to the function.
  * For connected TAPs, the function checks in_fields and uses fields