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