V4L/DVB (3870): Convert dib3000* to refactored tuner code
authorAndrew de Quincey <adq_dvb@lidskialf.net>
Tue, 18 Apr 2006 20:47:11 +0000 (17:47 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Sun, 25 Jun 2006 04:58:56 +0000 (01:58 -0300)
Convert to tuner_ops calls.
Remove pll function pointers from structure.
Remove unneeded tuner calls.

Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/dvb/frontends/dib3000.h
drivers/media/dvb/frontends/dib3000mb.c
drivers/media/dvb/frontends/dib3000mc.c

index 2d5475b5c0636d5c86df2baf16ac60723e10abd1..ec927628d2734cac2eee5ef633e5eb55de4d680e 100644 (file)
@@ -30,10 +30,6 @@ struct dib3000_config
 {
        /* the demodulator's i2c address */
        u8 demod_address;
-
-       /* PLL maintenance and the i2c address of the PLL */
-       int (*pll_init)(struct dvb_frontend *fe);
-       int (*pll_set)(struct dvb_frontend *fe, struct dvb_frontend_parameters* params);
 };
 
 struct dib_fe_xfer_ops
index ae589adb1c0a47b9960bb9e5a130f47dc1619fe7..f2f8071ad1b0aa4d2c80806b63921c935f1bc471 100644 (file)
@@ -60,8 +60,9 @@ static int dib3000mb_set_frontend(struct dvb_frontend* fe,
        fe_code_rate_t fe_cr = FEC_NONE;
        int search_state, seq;
 
-       if (tuner && state->config.pll_set) {
-               state->config.pll_set(fe, fep);
+       if (tuner && fe->ops->tuner_ops.set_params) {
+               fe->ops->tuner_ops.set_params(fe, fep);
+               if (fe->ops->i2c_gate_ctrl) fe->ops->i2c_gate_ctrl(fe, 0);
 
                deb_setf("bandwidth: ");
                switch (ofdm->bandwidth) {
@@ -386,9 +387,6 @@ static int dib3000mb_fe_init(struct dvb_frontend* fe, int mobile_mode)
 
        wr(DIB3000MB_REG_DATA_IN_DIVERSITY, DIB3000MB_DATA_DIVERSITY_IN_OFF);
 
-       if (state->config.pll_init)
-               state->config.pll_init(fe);
-
        return 0;
 }
 
index 3b303dbb61565db54ed15b4bbab810be2c622860..68a443b3d5045390446d23ce0df0d98b6fb033f7 100644 (file)
@@ -462,8 +462,9 @@ static int dib3000mc_set_frontend(struct dvb_frontend* fe,
        int search_state,auto_val;
        u16 val;
 
-       if (tuner && state->config.pll_set) { /* initial call from dvb */
-               state->config.pll_set(fe,fep);
+       if (tuner && fe->ops->tuner_ops.set_params) { /* initial call from dvb */
+               fe->ops->tuner_ops.set_params(fe, fep);
+               if (fe->ops->i2c_gate_ctrl) fe->ops->i2c_gate_ctrl(fe, 0);
 
                state->last_tuned_freq = fep->frequency;
        //      if (!scanboost) {
@@ -642,9 +643,6 @@ static int dib3000mc_fe_init(struct dvb_frontend* fe, int mobile_mode)
 
        set_or(DIB3000MC_REG_CLK_CFG_7,DIB3000MC_CLK_CFG_7_DIV_IN_OFF);
 
-       if (state->config.pll_init)
-               state->config.pll_init(fe);
-
        deb_info("init end\n");
        return 0;
 }