[linux-dvb] help with HD5000 (noobe)

Mike Krufky mkrufky at linuxtv.org
Tue Sep 27 23:57:54 CEST 2005


Mike Krufky wrote:

> The HD5000 patch WILL NOT work against a vanilla 2.6.13.y kernel.  The 
> reason for this is because Patrick's check-callback patch on lgdt330x 
> hasnt been merged into the mainline kernel yet at that point.  It is, 
> however, included in 2.6.14-rc1.
>
> Instead, I recommend that you should download dvb-kernel cvs, and 
> apply the HD5000 patch against dvb-kernel cvs, then compile THAT 
> against 2.6.13.y ... THAT should work for you.
>
> If you are unable to get that done, then you can try to apply the 
> following patch against your tree... Here is the check-callback patch 
> that I was talking about:

Oops... that probably won't apply... maybe this one is better:

RCS file: /cvs/linuxtv/dvb-kernel/linux/drivers/media/dvb/frontends/lgdt330x.c,v
retrieving revision 1.6
retrieving revision 1.9
diff -u -r1.6 -r1.9
--- dvb-kernel/linux/drivers/media/dvb/frontends/lgdt330x.c	2005/08/09 00:00:40	1.6
+++ dvb-kernel/linux/drivers/media/dvb/frontends/lgdt330x.c	2005/08/14 15:31:24	1.9
@@ -413,18 +377,21 @@
 
 		/* Select the requested mode */
 		i2c_write_demod_bytes(state, top_ctrl_cfg,
-							  sizeof(top_ctrl_cfg));
-		state->config->set_ts_params(fe, 0);
+				      sizeof(top_ctrl_cfg));
+		if (state->config->set_ts_params)
+			state->config->set_ts_params(fe, 0);
 		state->current_modulation = param->u.vsb.modulation;
 	}
 
-	/* Change only if we are actually changing the channel */
-	if (state->current_frequency != param->frequency) {
-		/* Tune to the new frequency */
+	/* Tune to the specified frequency */
+	if (state->config->pll_set)
 		state->config->pll_set(fe, param);
-		/* Keep track of the new frequency */
-		state->current_frequency = param->frequency;
-	}
+
+	/* Keep track of the new frequency */
+	/* FIXME this is the wrong way to do this...           */
+	/* The tuner is shared with the video4linux analog API */
+	state->current_frequency = param->frequency;
+
 	lgdt330x_SwReset(state);
 	return 0;
 }


Good Luck!

-- 
Michael Krufky





More information about the linux-dvb mailing list