-/* JTAG buffers to host, be and le buffers, flipping variants */
-int arm_jtag_buf_to_u32_flip(uint8_t *in_buf, void *priv, struct scan_field_s *field);
-int arm_jtag_buf_to_le32_flip(uint8_t *in_buf, void *priv, struct scan_field_s *field);
-int arm_jtag_buf_to_le16_flip(uint8_t *in_buf, void *priv, struct scan_field_s *field);
-int arm_jtag_buf_to_be32_flip(uint8_t *in_buf, void *priv, struct scan_field_s *field);
-int arm_jtag_buf_to_be16_flip(uint8_t *in_buf, void *priv, struct scan_field_s *field);
-int arm_jtag_buf_to_8_flip(uint8_t *in_buf, void *priv, struct scan_field_s *field);
+static inline int arm_jtag_set_instr(struct jtag_tap *tap,
+ uint32_t new_instr, void *no_verify_capture, tap_state_t end_state)
+{
+ /* inline most common code path */
+ if (buf_get_u32(tap->cur_instr, 0, tap->ir_length) != new_instr)
+ return arm_jtag_set_instr_inner(tap, new_instr, no_verify_capture, end_state);