You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							100 lines
						
					
					
						
							2.8 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							100 lines
						
					
					
						
							2.8 KiB
						
					
					
				| diff -upr linux/drivers/media/tuners/mxl5007t.h linux.new/drivers/media/tuners/mxl5007t.h | |
| --- linux/drivers/media/tuners/mxl5007t.h	2012-08-14 05:45:22.000000000 +0200 | |
| +++ linux.new/drivers/media/tuners/mxl5007t.h	2013-01-10 19:19:11.204379581 +0100 | |
| @@ -73,8 +73,10 @@ struct mxl5007t_config { | |
|  	enum mxl5007t_xtal_freq xtal_freq_hz; | |
|  	enum mxl5007t_if_freq if_freq_hz; | |
|  	unsigned int invert_if:1; | |
| -	unsigned int loop_thru_enable:1; | |
| +	unsigned int loop_thru_enable:3; | |
|  	unsigned int clk_out_enable:1; | |
| +	unsigned int no_probe:1; | |
| +	unsigned int no_reset:1; | |
|  }; | |
|   | |
|  #if defined(CONFIG_MEDIA_TUNER_MXL5007T) || (defined(CONFIG_MEDIA_TUNER_MXL5007T_MODULE) && defined(MODULE)) | |
| diff -upr linux/drivers/media/usb/dvb-usb-v2/af9035.c linux.new/drivers/media/usb/dvb-usb-v2/af9035.c | |
| --- linux/drivers/media/usb/dvb-usb-v2/af9035.c	2013-01-07 05:45:57.000000000 +0100 | |
| +++ linux.new/drivers/media/usb/dvb-usb-v2/af9035.c	2013-01-12 00:30:57.557310465 +0100 | |
| @@ -886,13 +886,17 @@ static struct mxl5007t_config af9035_mxl | |
|  		.loop_thru_enable = 0, | |
|  		.clk_out_enable = 0, | |
|  		.clk_out_amp = MxL_CLKOUT_AMP_0_94V, | |
| +		.no_probe = 1, | |
| +		.no_reset = 1, | |
|  	}, { | |
|  		.xtal_freq_hz = MxL_XTAL_24_MHZ, | |
|  		.if_freq_hz = MxL_IF_4_57_MHZ, | |
|  		.invert_if = 0, | |
| -		.loop_thru_enable = 1, | |
| +		.loop_thru_enable = 3, | |
|  		.clk_out_enable = 1, | |
|  		.clk_out_amp = MxL_CLKOUT_AMP_0_94V, | |
| +		.no_probe = 1, | |
| +		.no_reset = 1, | |
|  	} | |
|  }; | |
|   | |
| --- linux-3.19.1/drivers/media/tuners/mxl5007t.c.org	2015-03-16 12:21:47.872324952 +0100 | |
| +++ linux-3.19.1/drivers/media/tuners/mxl5007t.c	2015-03-16 12:22:07.208325224 +0100 | |
| @@ -530,6 +530,13 @@ | |
|  	struct reg_pair_t *init_regs; | |
|  	int ret; | |
|   | |
| +	if (!state->config->no_reset) { | |
| +		ret = mxl5007t_soft_reset(state); | |
| +		if (mxl_fail(ret)) | |
| +		goto fail; | |
| +	} | |
| + | |
| + | |
|  	/* calculate initialization reg array */ | |
|  	init_regs = mxl5007t_calc_init_regs(state, mode); | |
|   | |
| @@ -882,7 +889,12 @@ | |
|  		if (fe->ops.i2c_gate_ctrl) | |
|  			fe->ops.i2c_gate_ctrl(fe, 1); | |
|   | |
| -		ret = mxl5007t_get_chip_id(state); | |
| +		if (!state->config->no_probe) | |
| +			ret = mxl5007t_get_chip_id(state); | |
| + | |
| +		ret = mxl5007t_write_reg(state, 0x04, | |
| +			state->config->loop_thru_enable); | |
| + | |
|   | |
|  		if (fe->ops.i2c_gate_ctrl) | |
|  			fe->ops.i2c_gate_ctrl(fe, 0); | |
| @@ -895,32 +907,7 @@ | |
|  		/* existing tuner instance */ | |
|  		break; | |
|  	} | |
| - | |
| -	if (fe->ops.i2c_gate_ctrl) | |
| -		fe->ops.i2c_gate_ctrl(fe, 1); | |
| - | |
| -	ret = mxl5007t_soft_reset(state); | |
| - | |
| -	if (fe->ops.i2c_gate_ctrl) | |
| -		fe->ops.i2c_gate_ctrl(fe, 0); | |
| - | |
| -	if (mxl_fail(ret)) | |
| -		goto fail; | |
| - | |
| -	if (fe->ops.i2c_gate_ctrl) | |
| -		fe->ops.i2c_gate_ctrl(fe, 1); | |
| - | |
| -	ret = mxl5007t_write_reg(state, 0x04, | |
| -		state->config->loop_thru_enable); | |
| - | |
| -	if (fe->ops.i2c_gate_ctrl) | |
| -		fe->ops.i2c_gate_ctrl(fe, 0); | |
| - | |
| -	if (mxl_fail(ret)) | |
| -		goto fail; | |
| - | |
|  	fe->tuner_priv = state; | |
| - | |
|  	mutex_unlock(&mxl5007t_list_mutex); | |
|   | |
|  	memcpy(&fe->ops.tuner_ops, &mxl5007t_tuner_ops,
 | |
| 
 |