From 4fc61dc59a31125d65db760bf843484cba5ddcab Mon Sep 17 00:00:00 2001 From: Andrew de Quincey Date: Tue, 16 May 2006 17:22:02 -0300 Subject: [PATCH] --- yaml --- r: 29971 b: refs/heads/master c: 0463f12c5cdc3d5577002826c302471b95b2532c h: refs/heads/master i: 29969: 1038cc80b44e3ccd63a6276268acb0ffec974022 29967: 9a0322119ca110ce35f5aaa7d5e7bdf2b35ad9ee v: v3 --- [refs] | 2 +- trunk/drivers/media/dvb/frontends/mt352.c | 28 +++++++------------ .../drivers/media/video/saa7134/saa7134-dvb.c | 18 +++--------- 3 files changed, 15 insertions(+), 33 deletions(-) diff --git a/[refs] b/[refs] index 601193206ce4..df08f6fbd698 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 976e3483799ce5f718753d67454378d46500f0da +refs/heads/master: 0463f12c5cdc3d5577002826c302471b95b2532c diff --git a/trunk/drivers/media/dvb/frontends/mt352.c b/trunk/drivers/media/dvb/frontends/mt352.c index ed3bede029eb..8601a3f43074 100644 --- a/trunk/drivers/media/dvb/frontends/mt352.c +++ b/trunk/drivers/media/dvb/frontends/mt352.c @@ -287,30 +287,22 @@ static int mt352_set_parameters(struct dvb_frontend* fe, mt352_calc_nominal_rate(state, op->bandwidth, buf+4); mt352_calc_input_freq(state, buf+6); - // if there is no secondary tuner, call set_params to set up a potential - // tuner attached elsewhere if (state->config.no_tuner) { if (fe->ops->tuner_ops.set_params) { fe->ops->tuner_ops.set_params(fe, param); - if (fe->ops->i2c_gate_ctrl) fe->ops->i2c_gate_ctrl(fe, 0); + if (fe->ops->i2c_gate_ctrl) + fe->ops->i2c_gate_ctrl(fe, 0); } - /* start decoding only */ + mt352_write(fe, buf, 8); mt352_write(fe, fsm_go, 2); - } - - // retrieve the pllbuf - we do this even if there is no - // secondary tuner simply so we have a record of what was sent for - // debugging. - if (fe->ops->tuner_ops.calc_regs) { - fe->ops->tuner_ops.calc_regs(fe, param, buf+8, 5); - buf[8] <<= 1; - mt352_write(fe, buf, sizeof(buf)); - } - - // send PLL and start tuning and then decoding - if (!state->config.no_tuner) { - mt352_write(fe, tuner_go, 2); + } else { + if (fe->ops->tuner_ops.calc_regs) { + fe->ops->tuner_ops.calc_regs(fe, param, buf+8, 5); + buf[8] <<= 1; + mt352_write(fe, buf, sizeof(buf)); + mt352_write(fe, tuner_go, 2); + } } return 0; diff --git a/trunk/drivers/media/video/saa7134/saa7134-dvb.c b/trunk/drivers/media/video/saa7134/saa7134-dvb.c index f2b155a2299d..716b829c460f 100644 --- a/trunk/drivers/media/video/saa7134/saa7134-dvb.c +++ b/trunk/drivers/media/video/saa7134/saa7134-dvb.c @@ -132,9 +132,8 @@ static int mt352_aver777_init(struct dvb_frontend* fe) return 0; } -static int mt352_pinnacle_tuner_calc_regs(struct dvb_frontend* fe, - struct dvb_frontend_parameters* params, - u8* pllbuf, int buf_len) +static int mt352_pinnacle_tuner_set_params(struct dvb_frontend* fe, + struct dvb_frontend_parameters* params) { u8 off[] = { 0x00, 0xf1}; u8 on[] = { 0x00, 0x71}; @@ -143,9 +142,6 @@ static int mt352_pinnacle_tuner_calc_regs(struct dvb_frontend* fe, struct saa7134_dev *dev = fe->dvb->priv; struct v4l2_frequency f; - if (buf_len < 5) - return -EINVAL; - /* set frequency (mt2050) */ f.tuner = 0; f.type = V4L2_TUNER_DIGITAL_TV; @@ -162,13 +158,7 @@ static int mt352_pinnacle_tuner_calc_regs(struct dvb_frontend* fe, pinnacle_antenna_pwr(dev, antenna_pwr); /* mt352 setup */ - mt352_pinnacle_init(fe); - pllbuf[0] = 0x61; - pllbuf[1] = 0x00; - pllbuf[2] = 0x00; - pllbuf[3] = 0x80; - pllbuf[4] = 0x00; - return 5; + return mt352_pinnacle_init(fe); } static int mt352_aver777_tuner_calc_regs(struct dvb_frontend *fe, struct dvb_frontend_parameters *params, u8* pllbuf, int buf_len) @@ -1025,7 +1015,7 @@ static int dvb_init(struct saa7134_dev *dev) dev->dvb.frontend = mt352_attach(&pinnacle_300i, &dev->i2c_adap); if (dev->dvb.frontend) { - dev->dvb.frontend->ops->tuner_ops.calc_regs = mt352_pinnacle_tuner_calc_regs; + dev->dvb.frontend->ops->tuner_ops.set_params = mt352_pinnacle_tuner_set_params; } break;