aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/frontends/tda8083.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/dvb/frontends/tda8083.c')
-rw-r--r--drivers/media/dvb/frontends/tda8083.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/drivers/media/dvb/frontends/tda8083.c b/drivers/media/dvb/frontends/tda8083.c
index 9369f7442f27..15912c96926a 100644
--- a/drivers/media/dvb/frontends/tda8083.c
+++ b/drivers/media/dvb/frontends/tda8083.c
@@ -315,18 +315,19 @@ static int tda8083_read_ucblocks(struct dvb_frontend* fe, u32* ucblocks)
315 return 0; 315 return 0;
316} 316}
317 317
318static int tda8083_set_frontend(struct dvb_frontend* fe, struct dvb_frontend_parameters *p) 318static int tda8083_set_frontend(struct dvb_frontend *fe)
319{ 319{
320 struct dtv_frontend_properties *p = &fe->dtv_property_cache;
320 struct tda8083_state* state = fe->demodulator_priv; 321 struct tda8083_state* state = fe->demodulator_priv;
321 322
322 if (fe->ops.tuner_ops.set_params) { 323 if (fe->ops.tuner_ops.set_params) {
323 fe->ops.tuner_ops.set_params(fe, p); 324 fe->ops.tuner_ops.set_params(fe);
324 if (fe->ops.i2c_gate_ctrl) fe->ops.i2c_gate_ctrl(fe, 0); 325 if (fe->ops.i2c_gate_ctrl) fe->ops.i2c_gate_ctrl(fe, 0);
325 } 326 }
326 327
327 tda8083_set_inversion (state, p->inversion); 328 tda8083_set_inversion (state, p->inversion);
328 tda8083_set_fec (state, p->u.qpsk.fec_inner); 329 tda8083_set_fec(state, p->fec_inner);
329 tda8083_set_symbolrate (state, p->u.qpsk.symbol_rate); 330 tda8083_set_symbolrate(state, p->symbol_rate);
330 331
331 tda8083_writereg (state, 0x00, 0x3c); 332 tda8083_writereg (state, 0x00, 0x3c);
332 tda8083_writereg (state, 0x00, 0x04); 333 tda8083_writereg (state, 0x00, 0x04);
@@ -334,16 +335,17 @@ static int tda8083_set_frontend(struct dvb_frontend* fe, struct dvb_frontend_par
334 return 0; 335 return 0;
335} 336}
336 337
337static int tda8083_get_frontend(struct dvb_frontend* fe, struct dvb_frontend_parameters *p) 338static int tda8083_get_frontend(struct dvb_frontend *fe)
338{ 339{
340 struct dtv_frontend_properties *p = &fe->dtv_property_cache;
339 struct tda8083_state* state = fe->demodulator_priv; 341 struct tda8083_state* state = fe->demodulator_priv;
340 342
341 /* FIXME: get symbolrate & frequency offset...*/ 343 /* FIXME: get symbolrate & frequency offset...*/
342 /*p->frequency = ???;*/ 344 /*p->frequency = ???;*/
343 p->inversion = (tda8083_readreg (state, 0x0e) & 0x80) ? 345 p->inversion = (tda8083_readreg (state, 0x0e) & 0x80) ?
344 INVERSION_ON : INVERSION_OFF; 346 INVERSION_ON : INVERSION_OFF;
345 p->u.qpsk.fec_inner = tda8083_get_fec (state); 347 p->fec_inner = tda8083_get_fec(state);
346 /*p->u.qpsk.symbol_rate = tda8083_get_symbolrate (state);*/ 348 /*p->symbol_rate = tda8083_get_symbolrate (state);*/
347 349
348 return 0; 350 return 0;
349} 351}
@@ -438,10 +440,9 @@ error:
438} 440}
439 441
440static struct dvb_frontend_ops tda8083_ops = { 442static struct dvb_frontend_ops tda8083_ops = {
441 443 .delsys = { SYS_DVBS },
442 .info = { 444 .info = {
443 .name = "Philips TDA8083 DVB-S", 445 .name = "Philips TDA8083 DVB-S",
444 .type = FE_QPSK,
445 .frequency_min = 920000, /* TDA8060 */ 446 .frequency_min = 920000, /* TDA8060 */
446 .frequency_max = 2200000, /* TDA8060 */ 447 .frequency_max = 2200000, /* TDA8060 */
447 .frequency_stepsize = 125, /* kHz for QPSK frontends */ 448 .frequency_stepsize = 125, /* kHz for QPSK frontends */