diff --git a/src/flash/str9xpec.c b/src/flash/str9xpec.c
index c0c6dfffbefb054c03d4d94e35c888519b49f01b..c5e50bd8bbfdc03d68d904625483b317730c6aa2 100644
--- a/src/flash/str9xpec.c
+++ b/src/flash/str9xpec.c
@@ -127,10 +127,10 @@ int str9xpec_set_instr(jtag_tap_t *tap, u32 new_instr, tap_state_t end_state)
 		buf_set_u32(field.out_value, 0, field.num_bits, new_instr);
 		
 		field.in_value = NULL;
-		field.in_check_value = NULL;
-		field.in_check_mask = NULL;
+		
+		
 		field.in_handler = NULL;
-		field.in_handler_priv = NULL;
+		
 
 		jtag_add_ir_scan(1, &field, end_state);
 
@@ -153,10 +153,10 @@ static u8 str9xpec_isc_status(jtag_tap_t *tap)
 	field.out_value = NULL;
 	
 	field.in_value = &status;
-	field.in_check_value = NULL;
-	field.in_check_mask = NULL;
+	
+	
 	field.in_handler = NULL;
-	field.in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(1, &field, TAP_IDLE);
 	jtag_execute_queue();
@@ -245,10 +245,10 @@ static int str9xpec_read_config(struct flash_bank_s *bank)
 	field.out_value = NULL;
 	
 	field.in_value = str9xpec_info->options;
-	field.in_check_value = NULL;
-	field.in_check_mask = NULL;
+	
+	
 	field.in_handler = NULL;
-	field.in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(1, &field, TAP_IDLE);
 	jtag_execute_queue();
@@ -397,10 +397,10 @@ static int str9xpec_blank_check(struct flash_bank_s *bank, int first, int last)
 	field.out_value = buffer;
 	
 	field.in_value = NULL;
-	field.in_check_value = NULL;
-	field.in_check_mask = NULL;
+	
+	
 	field.in_handler = NULL;
-	field.in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(1, &field, TAP_IDLE);
 	jtag_add_sleep(40000);
@@ -411,10 +411,10 @@ static int str9xpec_blank_check(struct flash_bank_s *bank, int first, int last)
 	field.out_value = NULL;
 	
 	field.in_value = buffer;
-	field.in_check_value = NULL;
-	field.in_check_mask = NULL;
+	
+	
 	field.in_handler = NULL;
-	field.in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(1, &field, TAP_IRPAUSE);
 	jtag_execute_queue();
@@ -513,10 +513,10 @@ static int str9xpec_erase_area(struct flash_bank_s *bank, int first, int last)
 	field.out_value = buffer;
 	
 	field.in_value = NULL;
-	field.in_check_value = NULL;
-	field.in_check_mask = NULL;
+	
+	
 	field.in_handler = NULL;
-	field.in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(1, &field, TAP_IDLE);
 	jtag_execute_queue();
@@ -579,10 +579,10 @@ static int str9xpec_lock_device(struct flash_bank_s *bank)
 		field.out_value = NULL;
 		
 		field.in_value = &status;
-		field.in_check_value = NULL;
-		field.in_check_mask = NULL;
+		
+		
 		field.in_handler = NULL;
-		field.in_handler_priv = NULL;
+		
 
 		jtag_add_dr_scan(1, &field, -1);
 		jtag_execute_queue();
@@ -665,10 +665,10 @@ static int str9xpec_set_address(struct flash_bank_s *bank, u8 sector)
 	field.out_value = &sector;
 	
 	field.in_value = NULL;
-	field.in_check_value = NULL;
-	field.in_check_mask = NULL;
+	
+	
 	field.in_handler = NULL;
-	field.in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(1, &field, -1);
 
@@ -754,10 +754,10 @@ static int str9xpec_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32
 			field.out_value = (buffer + bytes_written);
 			
 			field.in_value = NULL;
-			field.in_check_value = NULL;
-			field.in_check_mask = NULL;
+			
+			
 			field.in_handler = NULL;
-			field.in_handler_priv = NULL;
+			
 
 			jtag_add_dr_scan(1, &field, TAP_IDLE);
 
@@ -772,10 +772,10 @@ static int str9xpec_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32
 				field.out_value = NULL;
 				
 				field.in_value = scanbuf;
-				field.in_check_value = NULL;
-				field.in_check_mask = NULL;
+				
+				
 				field.in_handler = NULL;
-				field.in_handler_priv = NULL;
+				
 
 				jtag_add_dr_scan(1, &field, -1);
 				jtag_execute_queue();
@@ -814,10 +814,10 @@ static int str9xpec_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32
 		field.out_value = last_dword;
 		
 		field.in_value = NULL;
-		field.in_check_value = NULL;
-		field.in_check_mask = NULL;
+		
+		
 		field.in_handler = NULL;
-		field.in_handler_priv = NULL;
+		
 
 		jtag_add_dr_scan(1, &field, TAP_IDLE);
 
@@ -832,10 +832,10 @@ static int str9xpec_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32
 			field.out_value = NULL;
 			
 			field.in_value = scanbuf;
-			field.in_check_value = NULL;
-			field.in_check_mask = NULL;
+			
+			
 			field.in_handler = NULL;
-			field.in_handler_priv = NULL;
+			
 
 			jtag_add_dr_scan(1, &field, -1);
 			jtag_execute_queue();
@@ -896,10 +896,10 @@ static int str9xpec_handle_part_id_command(struct command_context_s *cmd_ctx, ch
 	field.out_value = NULL;
 	
 	field.in_value = buffer;
-	field.in_check_value = NULL;
-	field.in_check_mask = NULL;
+	
+	
 	field.in_handler = NULL;
-	field.in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(1, &field, TAP_IDLE);
 	jtag_execute_queue();
@@ -1021,10 +1021,10 @@ static int str9xpec_write_options(struct flash_bank_s *bank)
 	field.out_value = str9xpec_info->options;
 	
 	field.in_value = NULL;
-	field.in_check_value = NULL;
-	field.in_check_mask = NULL;
+	
+	
 	field.in_handler = NULL;
-	field.in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(1, &field, TAP_IDLE);
 
@@ -1039,10 +1039,10 @@ static int str9xpec_write_options(struct flash_bank_s *bank)
 		field.out_value = NULL;
 		
 		field.in_value = &status;
-		field.in_check_value = NULL;
-		field.in_check_mask = NULL;
+		
+		
 		field.in_handler = NULL;
-		field.in_handler_priv = NULL;
+		
 
 		jtag_add_dr_scan(1, &field, -1);
 		jtag_execute_queue();
diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c
index c665ba206f517eab63aac7f9a40fcfad033e586c..52882100264a5508078960525514b9ab43eea961 100644
--- a/src/jtag/jtag.c
+++ b/src/jtag/jtag.c
@@ -1486,10 +1486,10 @@ int jtag_examine_chain(void)
 	field.out_value = idcode_buffer;
 	
 	field.in_value = idcode_buffer;
-	field.in_check_value = NULL;
-	field.in_check_mask = NULL;
+	
+	
 	field.in_handler = NULL;
-	field.in_handler_priv = NULL;
+	
 
 	for (i = 0; i < JTAG_MAX_CHAIN_SIZE; i++)
 	{
@@ -1664,10 +1664,10 @@ int jtag_validate_chain(void)
 	field.out_value = ir_test;
 	
 	field.in_value = ir_test;
-	field.in_check_value = NULL;
-	field.in_check_mask = NULL;
+	
+	
 	field.in_handler = NULL;
-	field.in_handler_priv = NULL;
+	
 
 	jtag_add_plain_ir_scan(1, &field, TAP_RESET);
 	jtag_execute_queue();
diff --git a/src/jtag/jtag.h b/src/jtag/jtag.h
index 9bc3fe82027f848e3e71d519ab07749ea133410f..604692cddd0ed84f7d714e68b61e84403c8606dc 100644
--- a/src/jtag/jtag.h
+++ b/src/jtag/jtag.h
@@ -275,8 +275,8 @@ typedef struct scan_field_s
 	/* in_check_value/mask, in_handler_error_handler, in_handler_priv can be used by the in handler, otherwise they contain garbage  */
 	u8*          in_check_value;    /* deprecated! only used from jtag_set_check_value. used to validate scan results */
 	u8*          in_check_mask;     /* deprecated! only used from jtag_set_check_value.  check specified bits against check_value */
-	in_handler_t in_handler;        /* deprecated! DO NOT USE! process received buffer using this handler */
-	void*        in_handler_priv;   /* additional information for the in_handler */
+	in_handler_t in_handler;        /* deprecated! SET TO NULL. DO NOT USE! process received buffer using this handler */
+	void*        in_handler_priv;   /* deprecated! only used by obsolete in_handler implementations */
 } scan_field_t;
 
 enum scan_type {
diff --git a/src/pld/virtex2.c b/src/pld/virtex2.c
index cec4fe9d12342a931a17a50b648fa4faeb2c24b0..f9043217ba679a336f758a667a356034ebc53adb 100644
--- a/src/pld/virtex2.c
+++ b/src/pld/virtex2.c
@@ -56,12 +56,12 @@ int virtex2_set_instr(jtag_tap_t *tap, u32 new_instr)
 		field.num_bits = tap->ir_length;
 		field.out_value = calloc(CEIL(field.num_bits, 8), 1);
 		buf_set_u32(field.out_value, 0, field.num_bits, new_instr);
-		
+
 		field.in_value = NULL;
-		field.in_check_value = NULL;
-		field.in_check_mask = NULL;
+
+
 		field.in_handler = NULL;
-		field.in_handler_priv = NULL;
+
 
 		jtag_add_ir_scan(1, &field, TAP_IDLE);
 
@@ -84,10 +84,7 @@ int virtex2_send_32(struct pld_device_s *pld_device, int num_words, u32 *words)
 	scan_field.num_bits = num_words * 32;
 	scan_field.out_value = values;
 	scan_field.in_value = NULL;
-	scan_field.in_check_value = NULL;
-	scan_field.in_check_mask = NULL;
 	scan_field.in_handler = NULL;
-	scan_field.in_handler_priv = NULL;
 
 	for (i = 0; i < num_words; i++)
 		buf_set_u32(values + 4 * i, 0, 32, flip_u32(*words++, 32));
@@ -117,8 +114,6 @@ int virtex2_receive_32(struct pld_device_s *pld_device, int num_words, u32 *word
 	scan_field.num_bits = 32;
 	scan_field.out_value = NULL;
 	scan_field.in_value = NULL;
-	scan_field.in_check_value = NULL;
-	scan_field.in_check_mask = NULL;
 	scan_field.in_handler = virtex2_jtag_buf_to_u32; /* deprecated! invoke this from user code! */
 
 	virtex2_set_instr(virtex2_info->tap, 0x4); /* CFG_OUT */
@@ -164,12 +159,12 @@ int virtex2_load(struct pld_device_s *pld_device, char *filename)
 	scan_field_t field;
 
 	field.tap = virtex2_info->tap;
-	
+
 	field.in_value = NULL;
-	field.in_check_value = NULL;
-	field.in_check_mask = NULL;
+
+
 	field.in_handler = NULL;
-	field.in_handler_priv = NULL;
+
 
 	if ((retval = xilinx_read_bit_file(&bit_file, filename)) != ERROR_OK)
 		return retval;
diff --git a/src/svf/svf.c b/src/svf/svf.c
index 6c92c1e15b7e119b0a38e8b8b6ab7240ce13348d..00e88361e8999b2def75e5fc07e31d8a89b07ae2 100644
--- a/src/svf/svf.c
+++ b/src/svf/svf.c
@@ -977,10 +977,10 @@ static int svf_run_command(struct command_context_s *cmd_ctx, char *cmd_str)
 			field.out_value = &svf_tdi_buffer[svf_buffer_index];
 			
 			field.in_value = &svf_tdi_buffer[svf_buffer_index];
-			field.in_check_value = NULL;
-			field.in_check_mask = NULL;
+			
+			
 			field.in_handler = NULL;
-			field.in_handler_priv = NULL;
+			
 			jtag_add_plain_dr_scan(1, &field, svf_para.dr_end_state);
 
 			svf_buffer_index += (i + 7) >> 3;
@@ -1078,10 +1078,10 @@ static int svf_run_command(struct command_context_s *cmd_ctx, char *cmd_str)
 			field.out_value = &svf_tdi_buffer[svf_buffer_index];
 			
 			field.in_value = &svf_tdi_buffer[svf_buffer_index];
-			field.in_check_value = NULL;
-			field.in_check_mask = NULL;
+			
+			
 			field.in_handler = NULL;
-			field.in_handler_priv = NULL;
+			
 			jtag_add_plain_ir_scan(1, &field, svf_para.ir_end_state);
 
 			svf_buffer_index += (i + 7) >> 3;
diff --git a/src/target/arm720t.c b/src/target/arm720t.c
index 60c4dec79191a1053afa68921fe22c56183910b4..3cbb653ffa003e939f0dcd777a2a7768ca3d6611 100644
--- a/src/target/arm720t.c
+++ b/src/target/arm720t.c
@@ -114,10 +114,10 @@ int arm720t_scan_cp15(target_t *target, u32 out, u32 *in, int instruction, int c
 	fields[0].out_value = &instruction_buf;
 	
 	fields[0].in_value = NULL;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = jtag_info->tap;
 	fields[1].num_bits = 32;
@@ -131,10 +131,10 @@ int arm720t_scan_cp15(target_t *target, u32 out, u32 *in, int instruction, int c
 	} else
 	{
 		fields[1].in_handler = NULL;
-		fields[1].in_handler_priv = NULL;
+		
 	}
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 
 	jtag_add_dr_scan(2, fields, TAP_INVALID);
 
diff --git a/src/target/arm7tdmi.c b/src/target/arm7tdmi.c
index b0d9e85e4cc4c18b420f3e6bdc04efe8e3ed792d..c9deb0ee1c17b7a75e0166f1c41de660857bb2b3 100644
--- a/src/target/arm7tdmi.c
+++ b/src/target/arm7tdmi.c
@@ -113,20 +113,20 @@ int arm7tdmi_examine_debug_reason(target_t *target)
 		fields[0].out_value = NULL;
 		
 		fields[0].in_value = &breakpoint;
-		fields[0].in_check_value = NULL;
-		fields[0].in_check_mask = NULL;
+		
+		
 		fields[0].in_handler = NULL;
-		fields[0].in_handler_priv = NULL;
+		
 
 		fields[1].tap = arm7_9->jtag_info.tap;
 		fields[1].num_bits = 32;
 		fields[1].out_value = NULL;
 		
 		fields[1].in_value = databus;
-		fields[1].in_check_value = NULL;
-		fields[1].in_check_mask = NULL;
+		
+		
 		fields[1].in_handler = NULL;
-		fields[1].in_handler_priv = NULL;
+		
 
 		if((retval = arm_jtag_scann(&arm7_9->jtag_info, 0x1)) != ERROR_OK)
 		{
@@ -200,10 +200,10 @@ int arm7tdmi_clock_data_in(arm_jtag_t *jtag_info, u32 *in)
 	fields[0].out_value = NULL;
 	
 	fields[0].in_value = NULL;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = jtag_info->tap;
 	fields[1].num_bits = 32;
@@ -212,8 +212,8 @@ int arm7tdmi_clock_data_in(arm_jtag_t *jtag_info, u32 *in)
 	fields[1].in_value = NULL;
 	fields[1].in_handler = arm_jtag_buf_to_u32_flip; /* deprecated! invoke this from user code! */
 	fields[1].in_handler_priv = in;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 
 	jtag_add_dr_scan(2, fields, TAP_INVALID);
 
@@ -261,10 +261,10 @@ int arm7tdmi_clock_data_in_endianness(arm_jtag_t *jtag_info, void *in, int size,
 	fields[0].out_value = NULL;
 	
 	fields[0].in_value = NULL;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = jtag_info->tap;
 	fields[1].num_bits = 32;
@@ -284,8 +284,8 @@ int arm7tdmi_clock_data_in_endianness(arm_jtag_t *jtag_info, void *in, int size,
 			break;
 	}
 	fields[1].in_handler_priv = in;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 
 	jtag_add_dr_scan(2, fields, TAP_INVALID);
 
diff --git a/src/target/arm920t.c b/src/target/arm920t.c
index f07cee8d9d1a42b551fe6241c329ec2c10e91c1e..455ee8c500d2c94cd0fd920b080bc1f7658e1a70 100644
--- a/src/target/arm920t.c
+++ b/src/target/arm920t.c
@@ -115,40 +115,40 @@ int arm920t_read_cp15_physical(target_t *target, int reg_addr, u32 *value)
 	fields[0].out_value = &access_type_buf;
 	
 	fields[0].in_value = NULL;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = jtag_info->tap;
 	fields[1].num_bits = 32;
 	fields[1].out_value = NULL;
 	
 	fields[1].in_value = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
+	
 
 	fields[2].tap = jtag_info->tap;
 	fields[2].num_bits = 6;
 	fields[2].out_value = &reg_addr_buf;
 	
 	fields[2].in_value = NULL;
-	fields[2].in_check_value = NULL;
-	fields[2].in_check_mask = NULL;
+	
+	
 	fields[2].in_handler = NULL;
-	fields[2].in_handler_priv = NULL;
+	
 
 	fields[3].tap = jtag_info->tap;
 	fields[3].num_bits = 1;
 	fields[3].out_value = &nr_w_buf;
 	
 	fields[3].in_value = NULL;
-	fields[3].in_check_value = NULL;
-	fields[3].in_check_mask = NULL;
+	
+	
 	fields[3].in_handler = NULL;
-	fields[3].in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(4, fields, TAP_INVALID);
 
@@ -187,40 +187,40 @@ int arm920t_write_cp15_physical(target_t *target, int reg_addr, u32 value)
 	fields[0].out_value = &access_type_buf;
 	
 	fields[0].in_value = NULL;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = jtag_info->tap;
 	fields[1].num_bits = 32;
 	fields[1].out_value = value_buf;
 	
 	fields[1].in_value = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
+	
 
 	fields[2].tap = jtag_info->tap;
 	fields[2].num_bits = 6;
 	fields[2].out_value = &reg_addr_buf;
 	
 	fields[2].in_value = NULL;
-	fields[2].in_check_value = NULL;
-	fields[2].in_check_mask = NULL;
+	
+	
 	fields[2].in_handler = NULL;
-	fields[2].in_handler_priv = NULL;
+	
 
 	fields[3].tap = jtag_info->tap;
 	fields[3].num_bits = 1;
 	fields[3].out_value = &nr_w_buf;
 	
 	fields[3].in_value = NULL;
-	fields[3].in_check_value = NULL;
-	fields[3].in_check_mask = NULL;
+	
+	
 	fields[3].in_handler = NULL;
-	fields[3].in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(4, fields, TAP_INVALID);
 
@@ -254,40 +254,40 @@ int arm920t_execute_cp15(target_t *target, u32 cp15_opcode, u32 arm_opcode)
 	fields[0].out_value = &access_type_buf;
 	
 	fields[0].in_value = NULL;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = jtag_info->tap;
 	fields[1].num_bits = 32;
 	fields[1].out_value = cp15_opcode_buf;
 	
 	fields[1].in_value = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
+	
 
 	fields[2].tap = jtag_info->tap;
 	fields[2].num_bits = 6;
 	fields[2].out_value = &reg_addr_buf;
 	
 	fields[2].in_value = NULL;
-	fields[2].in_check_value = NULL;
-	fields[2].in_check_mask = NULL;
+	
+	
 	fields[2].in_handler = NULL;
-	fields[2].in_handler_priv = NULL;
+	
 
 	fields[3].tap = jtag_info->tap;
 	fields[3].num_bits = 1;
 	fields[3].out_value = &nr_w_buf;
 	
 	fields[3].in_value = NULL;
-	fields[3].in_check_value = NULL;
-	fields[3].in_check_mask = NULL;
+	
+	
 	fields[3].in_handler = NULL;
-	fields[3].in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(4, fields, TAP_INVALID);
 
diff --git a/src/target/arm926ejs.c b/src/target/arm926ejs.c
index fb0584b21da237656f4a50c2e538374ac8099df9..f26d2b9b1cb9ee56e8bb1c8b2cba41b38dc2d80b 100644
--- a/src/target/arm926ejs.c
+++ b/src/target/arm926ejs.c
@@ -139,40 +139,40 @@ int arm926ejs_cp15_read(target_t *target, u32 op1, u32 op2, u32 CRn, u32 CRm, u3
 	fields[0].out_value = NULL;
 	
 	fields[0].in_value = NULL;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = jtag_info->tap;
 	fields[1].num_bits = 1;
 	fields[1].out_value = &access;
 	
 	fields[1].in_value = &access;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
+	
 
 	fields[2].tap = jtag_info->tap;
 	fields[2].num_bits = 14;
 	fields[2].out_value = address_buf;
 	
 	fields[2].in_value = NULL;
-	fields[2].in_check_value = NULL;
-	fields[2].in_check_mask = NULL;
+	
+	
 	fields[2].in_handler = NULL;
-	fields[2].in_handler_priv = NULL;
+	
 
 	fields[3].tap = jtag_info->tap;
 	fields[3].num_bits = 1;
 	fields[3].out_value = &nr_w_buf;
 	
 	fields[3].in_value = NULL;
-	fields[3].in_check_value = NULL;
-	fields[3].in_check_mask = NULL;
+	
+	
 	fields[3].in_handler = NULL;
-	fields[3].in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(4, fields, TAP_INVALID);
 
@@ -229,40 +229,40 @@ int arm926ejs_cp15_write(target_t *target, u32 op1, u32 op2, u32 CRn, u32 CRm, u
 	fields[0].out_value = value_buf;
 	
 	fields[0].in_value = NULL;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = jtag_info->tap;
 	fields[1].num_bits = 1;
 	fields[1].out_value = &access;
 	
 	fields[1].in_value = &access;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
+	
 
 	fields[2].tap = jtag_info->tap;
 	fields[2].num_bits = 14;
 	fields[2].out_value = address_buf;
 	
 	fields[2].in_value = NULL;
-	fields[2].in_check_value = NULL;
-	fields[2].in_check_mask = NULL;
+	
+	
 	fields[2].in_handler = NULL;
-	fields[2].in_handler_priv = NULL;
+	
 
 	fields[3].tap = jtag_info->tap;
 	fields[3].num_bits = 1;
 	fields[3].out_value = &nr_w_buf;
 	
 	fields[3].in_value = NULL;
-	fields[3].in_check_value = NULL;
-	fields[3].in_check_mask = NULL;
+	
+	
 	fields[3].in_handler = NULL;
-	fields[3].in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(4, fields, TAP_INVALID);
 	/*TODO: add timeout*/
diff --git a/src/target/arm966e.c b/src/target/arm966e.c
index 31211031f03002dceb689ed29b17b27321b14dfe..926aef68f4a4cfbf9554dd4d10d13bca39bc1d8c 100644
--- a/src/target/arm966e.c
+++ b/src/target/arm966e.c
@@ -189,30 +189,30 @@ int arm966e_read_cp15(target_t *target, int reg_addr, u32 *value)
 	fields[0].out_value = NULL;
 	
 	fields[0].in_value = NULL;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = jtag_info->tap;
 	fields[1].num_bits = 6;
 	fields[1].out_value = &reg_addr_buf;
 	
 	fields[1].in_value = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
+	
 
 	fields[2].tap = jtag_info->tap;
 	fields[2].num_bits = 1;
 	fields[2].out_value = &nr_w_buf;
 	
 	fields[2].in_value = NULL;
-	fields[2].in_check_value = NULL;
-	fields[2].in_check_mask = NULL;
+	
+	
 	fields[2].in_handler = NULL;
-	fields[2].in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(3, fields, TAP_INVALID);
 
@@ -257,30 +257,30 @@ int arm966e_write_cp15(target_t *target, int reg_addr, u32 value)
 	fields[0].out_value = value_buf;
 	
 	fields[0].in_value = NULL;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = jtag_info->tap;
 	fields[1].num_bits = 6;
 	fields[1].out_value = &reg_addr_buf;
 	
 	fields[1].in_value = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
+	
 
 	fields[2].tap = jtag_info->tap;
 	fields[2].num_bits = 1;
 	fields[2].out_value = &nr_w_buf;
 	
 	fields[2].in_value = NULL;
-	fields[2].in_check_value = NULL;
-	fields[2].in_check_mask = NULL;
+	
+	
 	fields[2].in_handler = NULL;
-	fields[2].in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(3, fields, TAP_INVALID);
 
diff --git a/src/target/arm9tdmi.c b/src/target/arm9tdmi.c
index 7e30bc0821ed7a410e40e2cdf463dace899ea729..e8e1991c6ad2e5ad854342c25f3504401731578a 100644
--- a/src/target/arm9tdmi.c
+++ b/src/target/arm9tdmi.c
@@ -130,30 +130,30 @@ int arm9tdmi_examine_debug_reason(target_t *target)
 		fields[0].out_value = NULL;
 		
 		fields[0].in_value = databus;
-		fields[0].in_check_value = NULL;
-		fields[0].in_check_mask = NULL;
+		
+		
 		fields[0].in_handler = NULL;
-		fields[0].in_handler_priv = NULL;
+		
 
 		fields[1].tap = arm7_9->jtag_info.tap;
 		fields[1].num_bits = 3;
 		fields[1].out_value = NULL;
 		
 		fields[1].in_value = &debug_reason;
-		fields[1].in_check_value = NULL;
-		fields[1].in_check_mask = NULL;
+		
+		
 		fields[1].in_handler = NULL;
-		fields[1].in_handler_priv = NULL;
+		
 
 		fields[2].tap = arm7_9->jtag_info.tap;
 		fields[2].num_bits = 32;
 		fields[2].out_value = NULL;
 		
 		fields[2].in_value = instructionbus;
-		fields[2].in_check_value = NULL;
-		fields[2].in_check_mask = NULL;
+		
+		
 		fields[2].in_handler = NULL;
-		fields[2].in_handler_priv = NULL;
+		
 
 		if((retval = arm_jtag_scann(&arm7_9->jtag_info, 0x1)) != ERROR_OK)
 		{
@@ -226,30 +226,30 @@ int arm9tdmi_clock_out(arm_jtag_t *jtag_info, u32 instr, u32 out, u32 *in, int s
 	else
 	{
 		fields[0].in_handler = NULL;
-		fields[0].in_handler_priv = NULL;
+		
 	}
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 
 	fields[1].tap = jtag_info->tap;
 	fields[1].num_bits = 3;
 	fields[1].out_value = &sysspeed_buf;
 	
 	fields[1].in_value = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
+	
 
 	fields[2].tap = jtag_info->tap;
 	fields[2].num_bits = 32;
 	fields[2].out_value = instr_buf;
 	
 	fields[2].in_value = NULL;
-	fields[2].in_check_value = NULL;
-	fields[2].in_check_mask = NULL;
+	
+	
 	fields[2].in_handler = NULL;
-	fields[2].in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(3, fields, TAP_INVALID);
 
@@ -295,8 +295,8 @@ int arm9tdmi_clock_data_in(arm_jtag_t *jtag_info, u32 *in)
 	fields[0].in_value = NULL;
 	fields[0].in_handler = arm_jtag_buf_to_u32; /* deprecated! invoke this from user code! */
 	fields[0].in_handler_priv = in;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 
 	fields[1].tap = jtag_info->tap;
 	fields[1].num_bits = 3;
@@ -304,19 +304,19 @@ int arm9tdmi_clock_data_in(arm_jtag_t *jtag_info, u32 *in)
 	
 	fields[1].in_value = NULL;
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
+	
 
 	fields[2].tap = jtag_info->tap;
 	fields[2].num_bits = 32;
 	fields[2].out_value = NULL;
 	
 	fields[2].in_value = NULL;
-	fields[2].in_check_value = NULL;
-	fields[2].in_check_mask = NULL;
+	
+	
 	fields[2].in_handler = NULL;
-	fields[2].in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(3, fields, TAP_INVALID);
 
@@ -378,8 +378,8 @@ int arm9tdmi_clock_data_in_endianness(arm_jtag_t *jtag_info, void *in, int size,
 			break;
 	}
 	fields[0].in_handler_priv = in;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 
 	fields[1].tap = jtag_info->tap;
 	fields[1].num_bits = 3;
@@ -387,19 +387,19 @@ int arm9tdmi_clock_data_in_endianness(arm_jtag_t *jtag_info, void *in, int size,
 	
 	fields[1].in_value = NULL;
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
+	
 
 	fields[2].tap = jtag_info->tap;
 	fields[2].num_bits = 32;
 	fields[2].out_value = NULL;
 	
 	fields[2].in_value = NULL;
-	fields[2].in_check_value = NULL;
-	fields[2].in_check_mask = NULL;
+	
+	
 	fields[2].in_handler = NULL;
-	fields[2].in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(3, fields, TAP_INVALID);
 
diff --git a/src/target/arm_adi_v5.c b/src/target/arm_adi_v5.c
index db6b60d89d36c9a41eae1b0db8dd9db03af77f16..e905699376b07cfc6e2e428c4c147c1d0705f5aa 100644
--- a/src/target/arm_adi_v5.c
+++ b/src/target/arm_adi_v5.c
@@ -78,10 +78,10 @@ int adi_jtag_dp_scan(arm_jtag_t *jtag_info, u8 instr, u8 reg_addr, u8 RnW, u8 *o
 	fields[0].out_value = &out_addr_buf;
 	
 	fields[0].in_value = ack;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = jtag_info->tap;
 	fields[1].num_bits = 32;
@@ -89,9 +89,9 @@ int adi_jtag_dp_scan(arm_jtag_t *jtag_info, u8 instr, u8 reg_addr, u8 RnW, u8 *o
 	
 	fields[1].in_value = invalue;
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
+	
 
 	jtag_add_dr_scan(2, fields, TAP_INVALID);
 
@@ -114,10 +114,10 @@ int adi_jtag_dp_scan_u32(arm_jtag_t *jtag_info, u8 instr, u8 reg_addr, u8 RnW, u
 	fields[0].out_value = &out_addr_buf;
 	
 	fields[0].in_value = ack;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = jtag_info->tap;
 	fields[1].num_bits = 32;
@@ -133,10 +133,10 @@ int adi_jtag_dp_scan_u32(arm_jtag_t *jtag_info, u8 instr, u8 reg_addr, u8 RnW, u
 	else
 	{
 		fields[1].in_handler = NULL;
-		fields[1].in_handler_priv = NULL;
+		
 	}
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 
 	jtag_add_dr_scan(2, fields, TAP_INVALID);
 
diff --git a/src/target/arm_jtag.c b/src/target/arm_jtag.c
index c1dcd6fa0974e517e49775181ff9bb5492cd7dff..9911f4463ccb2a2e624f7e9d5cf51ce5e1a136c4 100644
--- a/src/target/arm_jtag.c
+++ b/src/target/arm_jtag.c
@@ -54,10 +54,10 @@ int arm_jtag_set_instr(arm_jtag_t *jtag_info, u32 new_instr,  in_handler_t handl
 		buf_set_u32(field.out_value, 0, field.num_bits, new_instr);
 		
 		field.in_value = NULL;
-		field.in_check_value = NULL;
-		field.in_check_mask = NULL;
+		
+		
 		field.in_handler = handler;
-		field.in_handler_priv = NULL;
+		
 		jtag_add_ir_scan(1, &field, TAP_INVALID);
 	}
 
diff --git a/src/target/embeddedice.c b/src/target/embeddedice.c
index c59a2ede41f0944984b57bfc0e82916efd94d74d..cfe4ed7c8a74194bd806264935d5dc1acc123084 100644
--- a/src/target/embeddedice.c
+++ b/src/target/embeddedice.c
@@ -253,10 +253,10 @@ int embeddedice_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
 	fields[0].out_value = reg->value;
 	
 	fields[0].in_value = NULL;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = ice_reg->jtag_info->tap;
 	fields[1].num_bits = 5;
@@ -264,10 +264,10 @@ int embeddedice_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
 	buf_set_u32(fields[1].out_value, 0, 5, reg_addr);
 	
 	fields[1].in_value = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
+	
 
 	fields[2].tap = ice_reg->jtag_info->tap;
 	fields[2].num_bits = 1;
@@ -275,10 +275,10 @@ int embeddedice_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
 	buf_set_u32(fields[2].out_value, 0, 1, 0);
 	
 	fields[2].in_value = NULL;
-	fields[2].in_check_value = NULL;
-	fields[2].in_check_mask = NULL;
+	
+	
 	fields[2].in_handler = NULL;
-	fields[2].in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(3, fields, TAP_INVALID);
 
@@ -315,10 +315,10 @@ int embeddedice_receive(arm_jtag_t *jtag_info, u32 *data, u32 size)
 	fields[0].out_value = NULL;
 	
 	fields[0].in_value = NULL;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = jtag_info->tap;
 	fields[1].num_bits = 5;
@@ -326,10 +326,10 @@ int embeddedice_receive(arm_jtag_t *jtag_info, u32 *data, u32 size)
 	buf_set_u32(fields[1].out_value, 0, 5, embeddedice_reg_arch_info[EICE_COMMS_DATA]);
 	
 	fields[1].in_value = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
+	
 
 	fields[2].tap = jtag_info->tap;
 	fields[2].num_bits = 1;
@@ -337,10 +337,10 @@ int embeddedice_receive(arm_jtag_t *jtag_info, u32 *data, u32 size)
 	buf_set_u32(fields[2].out_value, 0, 1, 0);
 	
 	fields[2].in_value = NULL;
-	fields[2].in_check_value = NULL;
-	fields[2].in_check_mask = NULL;
+	
+	
 	fields[2].in_handler = NULL;
-	fields[2].in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(3, fields, TAP_INVALID);
 
@@ -432,10 +432,10 @@ int embeddedice_send(arm_jtag_t *jtag_info, u32 *data, u32 size)
 	fields[0].out_value = field0_out;
 	
 	fields[0].in_value = NULL;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = jtag_info->tap;
 	fields[1].num_bits = 5;
@@ -443,10 +443,10 @@ int embeddedice_send(arm_jtag_t *jtag_info, u32 *data, u32 size)
 	buf_set_u32(fields[1].out_value, 0, 5, embeddedice_reg_arch_info[EICE_COMMS_DATA]);
 	
 	fields[1].in_value = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
+	
 
 	fields[2].tap = jtag_info->tap;
 	fields[2].num_bits = 1;
@@ -454,10 +454,10 @@ int embeddedice_send(arm_jtag_t *jtag_info, u32 *data, u32 size)
 	buf_set_u32(fields[2].out_value, 0, 1, 1);
 	
 	fields[2].in_value = NULL;
-	fields[2].in_check_value = NULL;
-	fields[2].in_check_mask = NULL;
+	
+	
 	fields[2].in_handler = NULL;
-	fields[2].in_handler_priv = NULL;
+	
 
 	while (size > 0)
 	{
@@ -501,10 +501,10 @@ int embeddedice_handshake(arm_jtag_t *jtag_info, int hsbit, u32 timeout)
 	fields[0].out_value = NULL;
 	
 	fields[0].in_value = field0_in;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = jtag_info->tap;
 	fields[1].num_bits = 5;
@@ -512,10 +512,10 @@ int embeddedice_handshake(arm_jtag_t *jtag_info, int hsbit, u32 timeout)
 	buf_set_u32(fields[1].out_value, 0, 5, embeddedice_reg_arch_info[EICE_COMMS_CTRL]);
 	
 	fields[1].in_value = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
+	
 
 	fields[2].tap = jtag_info->tap;
 	fields[2].num_bits = 1;
@@ -523,10 +523,10 @@ int embeddedice_handshake(arm_jtag_t *jtag_info, int hsbit, u32 timeout)
 	buf_set_u32(fields[2].out_value, 0, 1, 0);
 	
 	fields[2].in_value = NULL;
-	fields[2].in_check_value = NULL;
-	fields[2].in_check_mask = NULL;
+	
+	
 	fields[2].in_handler = NULL;
-	fields[2].in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(3, fields, TAP_INVALID);
 	gettimeofday(&lap, NULL);
diff --git a/src/target/etb.c b/src/target/etb.c
index deecf14102a7e1da6a56d17e3161466d76fb56a4..f533bb6efd2087a17202b973214705bb4952a98a 100644
--- a/src/target/etb.c
+++ b/src/target/etb.c
@@ -72,10 +72,10 @@ static int etb_set_instr(etb_t *etb, u32 new_instr)
 		buf_set_u32(field.out_value, 0, field.num_bits, new_instr);
 		
 		field.in_value = NULL;
-		field.in_check_value = NULL;
-		field.in_check_mask = NULL;
+		
+		
 		field.in_handler = NULL;
-		field.in_handler_priv = NULL;
+		
 
 		jtag_add_ir_scan(1, &field, TAP_INVALID);
 
@@ -97,10 +97,10 @@ static int etb_scann(etb_t *etb, u32 new_scan_chain)
 		buf_set_u32(field.out_value, 0, field.num_bits, new_scan_chain);
 		
 		field.in_value = NULL;
-		field.in_check_value = NULL;
-		field.in_check_mask = NULL;
+		
+		
 		field.in_handler = NULL;
-		field.in_handler_priv = NULL;
+		
 
 		/* select INTEST instruction */
 		etb_set_instr(etb, 0x2);
@@ -188,10 +188,10 @@ static int etb_read_ram(etb_t *etb, u32 *data, int num_frames)
 	fields[0].out_value = NULL;
 	
 	fields[0].in_value = NULL;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = etb->tap;
 	fields[1].num_bits = 7;
@@ -199,10 +199,10 @@ static int etb_read_ram(etb_t *etb, u32 *data, int num_frames)
 	buf_set_u32(fields[1].out_value, 0, 7, 4);
 	
 	fields[1].in_value = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
+	
 
 	fields[2].tap = etb->tap;
 	fields[2].num_bits = 1;
@@ -210,10 +210,10 @@ static int etb_read_ram(etb_t *etb, u32 *data, int num_frames)
 	buf_set_u32(fields[2].out_value, 0, 1, 0);
 	
 	fields[2].in_value = NULL;
-	fields[2].in_check_value = NULL;
-	fields[2].in_check_mask = NULL;
+	
+	
 	fields[2].in_handler = NULL;
-	fields[2].in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(3, fields, TAP_INVALID);
 
@@ -259,10 +259,10 @@ int etb_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
 	fields[0].out_value = reg->value;
 	
 	fields[0].in_value = NULL;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = etb_reg->etb->tap;
 	fields[1].num_bits = 7;
@@ -270,10 +270,10 @@ int etb_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
 	buf_set_u32(fields[1].out_value, 0, 7, reg_addr);
 	
 	fields[1].in_value = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
+	
 
 	fields[2].tap = etb_reg->etb->tap;
 	fields[2].num_bits = 1;
@@ -281,10 +281,10 @@ int etb_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
 	buf_set_u32(fields[2].out_value, 0, 1, 0);
 	
 	fields[2].in_value = NULL;
-	fields[2].in_check_value = NULL;
-	fields[2].in_check_mask = NULL;
+	
+	
 	fields[2].in_handler = NULL;
-	fields[2].in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(3, fields, TAP_INVALID);
 
@@ -356,10 +356,10 @@ int etb_write_reg(reg_t *reg, u32 value)
 	buf_set_u32(fields[0].out_value, 0, 32, value);
 	
 	fields[0].in_value = NULL;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = etb_reg->etb->tap;
 	fields[1].num_bits = 7;
@@ -367,10 +367,10 @@ int etb_write_reg(reg_t *reg, u32 value)
 	buf_set_u32(fields[1].out_value, 0, 7, reg_addr);
 	
 	fields[1].in_value = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
+	
 
 	fields[2].tap = etb_reg->etb->tap;
 	fields[2].num_bits = 1;
@@ -378,10 +378,10 @@ int etb_write_reg(reg_t *reg, u32 value)
 	buf_set_u32(fields[2].out_value, 0, 1, 1);
 	
 	fields[2].in_value = NULL;
-	fields[2].in_check_value = NULL;
-	fields[2].in_check_mask = NULL;
+	
+	
 	fields[2].in_handler = NULL;
-	fields[2].in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(3, fields, TAP_INVALID);
 
diff --git a/src/target/etm.c b/src/target/etm.c
index ab368781eee1793c2095d2566efa5bbe107133fe..4acc041f396769348dbd236e582d517c43938043 100644
--- a/src/target/etm.c
+++ b/src/target/etm.c
@@ -341,10 +341,10 @@ int etm_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
 	fields[0].out_value = reg->value;
 	
 	fields[0].in_value = NULL;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = etm_reg->jtag_info->tap;
 	fields[1].num_bits = 7;
@@ -352,10 +352,10 @@ int etm_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
 	buf_set_u32(fields[1].out_value, 0, 7, reg_addr);
 	
 	fields[1].in_value = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
+	
 
 	fields[2].tap = etm_reg->jtag_info->tap;
 	fields[2].num_bits = 1;
@@ -363,10 +363,10 @@ int etm_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
 	buf_set_u32(fields[2].out_value, 0, 1, 0);
 	
 	fields[2].in_value = NULL;
-	fields[2].in_check_value = NULL;
-	fields[2].in_check_mask = NULL;
+	
+	
 	fields[2].in_handler = NULL;
-	fields[2].in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(3, fields, TAP_INVALID);
 
@@ -433,10 +433,10 @@ int etm_write_reg(reg_t *reg, u32 value)
 	buf_set_u32(fields[0].out_value, 0, 32, value);
 	
 	fields[0].in_value = NULL;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = etm_reg->jtag_info->tap;
 	fields[1].num_bits = 7;
@@ -444,10 +444,10 @@ int etm_write_reg(reg_t *reg, u32 value)
 	buf_set_u32(fields[1].out_value, 0, 7, reg_addr);
 	
 	fields[1].in_value = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
+	
 
 	fields[2].tap = etm_reg->jtag_info->tap;
 	fields[2].num_bits = 1;
@@ -455,10 +455,10 @@ int etm_write_reg(reg_t *reg, u32 value)
 	buf_set_u32(fields[2].out_value, 0, 1, 1);
 	
 	fields[2].in_value = NULL;
-	fields[2].in_check_value = NULL;
-	fields[2].in_check_mask = NULL;
+	
+	
 	fields[2].in_handler = NULL;
-	fields[2].in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(3, fields, TAP_INVALID);
 
diff --git a/src/target/feroceon.c b/src/target/feroceon.c
index 507bd695b610e161c4058a654c3db717e3286fe7..abc44f5e560bfef51c8e40b484aee478734f2d25 100644
--- a/src/target/feroceon.c
+++ b/src/target/feroceon.c
@@ -138,29 +138,29 @@ int feroceon_dummy_clock_out(arm_jtag_t *jtag_info, u32 instr)
 	
 	fields[0].in_value = NULL;
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
+	
 
 	fields[1].tap = jtag_info->tap;
 	fields[1].num_bits = 3;
 	fields[1].out_value = &sysspeed_buf;
 	
 	fields[1].in_value = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
+	
 
 	fields[2].tap = jtag_info->tap;
 	fields[2].num_bits = 32;
 	fields[2].out_value = instr_buf;
 	
 	fields[2].in_value = NULL;
-	fields[2].in_check_value = NULL;
-	fields[2].in_check_mask = NULL;
+	
+	
 	fields[2].in_handler = NULL;
-	fields[2].in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(3, fields, TAP_INVALID);
 
diff --git a/src/target/mips_ejtag.c b/src/target/mips_ejtag.c
index 5cd82abf64e458c2222ac781f70a4a6054bf2601..424105ee83b16bfed974dff8736e0c5df3f1997d 100644
--- a/src/target/mips_ejtag.c
+++ b/src/target/mips_ejtag.c
@@ -51,10 +51,10 @@ int mips_ejtag_set_instr(mips_ejtag_t *ejtag_info, int new_instr, void *delete_m
 		buf_set_u32(field.out_value, 0, field.num_bits, new_instr);
 
 		field.in_value = NULL;
-		field.in_check_value = NULL;
-		field.in_check_mask = NULL;
+		
+		
 		field.in_handler = NULL;
-		field.in_handler_priv = NULL;
+		
 		jtag_add_ir_scan(1, &field, TAP_INVALID);
 	}
 
@@ -74,10 +74,10 @@ int mips_ejtag_get_idcode(mips_ejtag_t *ejtag_info, u32 *idcode, in_handler_t ha
 	field.out_value = NULL;
 
 	field.in_value = (void*)idcode;
-	field.in_check_value = NULL;
-	field.in_check_mask = NULL;
+	
+	
 	field.in_handler = NULL;
-	field.in_handler_priv = NULL;
+	
 	jtag_add_dr_scan(1, &field, TAP_INVALID);
 
 	if (jtag_execute_queue() != ERROR_OK)
@@ -101,10 +101,10 @@ int mips_ejtag_get_impcode(mips_ejtag_t *ejtag_info, u32 *impcode, in_handler_t
 	field.out_value = NULL;
 
 	field.in_value = (void*)impcode;
-	field.in_check_value = NULL;
-	field.in_check_mask = NULL;
+	
+	
 	field.in_handler = NULL;
-	field.in_handler_priv = NULL;
+	
 	jtag_add_dr_scan(1, &field, TAP_INVALID);
 
 	if (jtag_execute_queue() != ERROR_OK)
@@ -132,10 +132,10 @@ int mips_ejtag_drscan_32(mips_ejtag_t *ejtag_info, u32 *data)
 	buf_set_u32(field.out_value, 0, field.num_bits, *data);
 
 	field.in_value = (u8*)data;
-	field.in_check_value = NULL;
-	field.in_check_mask = NULL;
+	
+	
 	field.in_handler = NULL;
-	field.in_handler_priv = NULL;
+	
 	jtag_add_dr_scan(1, &field, TAP_INVALID);
 
 	if ((retval = jtag_execute_queue()) != ERROR_OK)
diff --git a/src/target/xscale.c b/src/target/xscale.c
index 3ec84373922c56f53be459181f44c16363934a60..1b44b9d90bbe0542c1d02e9db7f9ba3a9d41e8f5 100644
--- a/src/target/xscale.c
+++ b/src/target/xscale.c
@@ -271,9 +271,9 @@ int xscale_read_dcsr(target_t *target)
 	
 	fields[1].in_value = xscale->reg_cache->reg_list[XSCALE_DCSR].value;
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
+	
 
 	fields[2].tap = xscale->jtag_info.tap;
 	fields[2].num_bits = 1;
@@ -349,9 +349,9 @@ int xscale_receive(target_t *target, u32 *buffer, int num_words)
 	
 	fields[1].in_value = NULL;
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
+	
 
 	fields[2].tap = xscale->jtag_info.tap;
 	fields[2].num_bits = 1;
@@ -468,9 +468,9 @@ int xscale_read_tx(target_t *target, int consume)
 	
 	fields[1].in_value = xscale->reg_cache->reg_list[XSCALE_TX].value;
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
+	
 
 	fields[2].tap = xscale->jtag_info.tap;
 	fields[2].num_bits = 1;
@@ -564,9 +564,9 @@ int xscale_write_rx(target_t *target)
 	
 	fields[1].in_value = NULL;
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
+	
 
 	fields[2].tap = xscale->jtag_info.tap;
 	fields[2].num_bits = 1;
@@ -739,9 +739,9 @@ int xscale_write_dcsr(target_t *target, int hold_rst, int ext_dbg_brk)
 	
 	fields[1].in_value = NULL;
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
+	
 
 	fields[2].tap = xscale->jtag_info.tap;
 	fields[2].num_bits = 1;
@@ -807,20 +807,20 @@ int xscale_load_ic(target_t *target, int mini, u32 va, u32 buffer[8])
 	fields[0].out_value = &cmd;
 	
 	fields[0].in_value = NULL;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = xscale->jtag_info.tap;
 	fields[1].num_bits = 27;
 	fields[1].out_value = packet;
 	
 	fields[1].in_value = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(2, fields, TAP_INVALID);
 
@@ -865,20 +865,20 @@ int xscale_invalidate_ic_line(target_t *target, u32 va)
 	fields[0].out_value = &cmd;
 	
 	fields[0].in_value = NULL;
-	fields[0].in_check_value = NULL;
-	fields[0].in_check_mask = NULL;
+	
+	
 	fields[0].in_handler = NULL;
-	fields[0].in_handler_priv = NULL;
+	
 
 	fields[1].tap = xscale->jtag_info.tap;
 	fields[1].num_bits = 27;
 	fields[1].out_value = packet;
 	
 	fields[1].in_value = NULL;
-	fields[1].in_check_value = NULL;
-	fields[1].in_check_mask = NULL;
+	
+	
 	fields[1].in_handler = NULL;
-	fields[1].in_handler_priv = NULL;
+	
 
 	jtag_add_dr_scan(2, fields, TAP_INVALID);
 
diff --git a/src/xsvf/xsvf.c b/src/xsvf/xsvf.c
index 1baa1263c6a05e35c8ab858d3a0aed8232cdfeba..0e19b65c749766d4b70b67faa93bb083ace816be 100644
--- a/src/xsvf/xsvf.c
+++ b/src/xsvf/xsvf.c
@@ -707,10 +707,10 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
 					field.out_value = ir_buf;
 					
 					field.in_value = NULL;
-					field.in_check_value = NULL;
-					field.in_check_mask = NULL;
+					
+					
 					field.in_handler = NULL;
-					field.in_handler_priv = NULL;
+					
 
 					if (tap == NULL)
 						jtag_add_plain_ir_scan(1, &field, my_end_state);