aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/common/tuners/qt1010.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/common/tuners/qt1010.c')
-rw-r--r--drivers/media/common/tuners/qt1010.c21
1 files changed, 9 insertions, 12 deletions
diff --git a/drivers/media/common/tuners/qt1010.c b/drivers/media/common/tuners/qt1010.c
index 9f5dba244cb8..2d79b1f5d5eb 100644
--- a/drivers/media/common/tuners/qt1010.c
+++ b/drivers/media/common/tuners/qt1010.c
@@ -82,9 +82,9 @@ static void qt1010_dump_regs(struct qt1010_priv *priv)
82 printk(KERN_CONT "\n"); 82 printk(KERN_CONT "\n");
83} 83}
84 84
85static int qt1010_set_params(struct dvb_frontend *fe, 85static int qt1010_set_params(struct dvb_frontend *fe)
86 struct dvb_frontend_parameters *params)
87{ 86{
87 struct dtv_frontend_properties *c = &fe->dtv_property_cache;
88 struct qt1010_priv *priv; 88 struct qt1010_priv *priv;
89 int err; 89 int err;
90 u32 freq, div, mod1, mod2; 90 u32 freq, div, mod1, mod2;
@@ -144,13 +144,11 @@ static int qt1010_set_params(struct dvb_frontend *fe,
144#define FREQ2 4000000 /* 4 MHz Quartz oscillator in the stick? */ 144#define FREQ2 4000000 /* 4 MHz Quartz oscillator in the stick? */
145 145
146 priv = fe->tuner_priv; 146 priv = fe->tuner_priv;
147 freq = params->frequency; 147 freq = c->frequency;
148 div = (freq + QT1010_OFFSET) / QT1010_STEP; 148 div = (freq + QT1010_OFFSET) / QT1010_STEP;
149 freq = (div * QT1010_STEP) - QT1010_OFFSET; 149 freq = (div * QT1010_STEP) - QT1010_OFFSET;
150 mod1 = (freq + QT1010_OFFSET) % FREQ1; 150 mod1 = (freq + QT1010_OFFSET) % FREQ1;
151 mod2 = (freq + QT1010_OFFSET) % FREQ2; 151 mod2 = (freq + QT1010_OFFSET) % FREQ2;
152 priv->bandwidth =
153 (fe->ops.info.type == FE_OFDM) ? params->u.ofdm.bandwidth : 0;
154 priv->frequency = freq; 152 priv->frequency = freq;
155 153
156 if (fe->ops.i2c_gate_ctrl) 154 if (fe->ops.i2c_gate_ctrl)
@@ -320,7 +318,7 @@ static u8 qt1010_init_meas2(struct qt1010_priv *priv,
320static int qt1010_init(struct dvb_frontend *fe) 318static int qt1010_init(struct dvb_frontend *fe)
321{ 319{
322 struct qt1010_priv *priv = fe->tuner_priv; 320 struct qt1010_priv *priv = fe->tuner_priv;
323 struct dvb_frontend_parameters params; 321 struct dtv_frontend_properties *c = &fe->dtv_property_cache;
324 int err = 0; 322 int err = 0;
325 u8 i, tmpval, *valptr = NULL; 323 u8 i, tmpval, *valptr = NULL;
326 324
@@ -397,9 +395,9 @@ static int qt1010_init(struct dvb_frontend *fe)
397 if ((err = qt1010_init_meas2(priv, i, &tmpval))) 395 if ((err = qt1010_init_meas2(priv, i, &tmpval)))
398 return err; 396 return err;
399 397
400 params.frequency = 545000000; /* Sigmatek DVB-110 545000000 */ 398 c->frequency = 545000000; /* Sigmatek DVB-110 545000000 */
401 /* MSI Megasky 580 GL861 533000000 */ 399 /* MSI Megasky 580 GL861 533000000 */
402 return qt1010_set_params(fe, &params); 400 return qt1010_set_params(fe);
403} 401}
404 402
405static int qt1010_release(struct dvb_frontend *fe) 403static int qt1010_release(struct dvb_frontend *fe)
@@ -416,10 +414,9 @@ static int qt1010_get_frequency(struct dvb_frontend *fe, u32 *frequency)
416 return 0; 414 return 0;
417} 415}
418 416
419static int qt1010_get_bandwidth(struct dvb_frontend *fe, u32 *bandwidth) 417static int qt1010_get_if_frequency(struct dvb_frontend *fe, u32 *frequency)
420{ 418{
421 struct qt1010_priv *priv = fe->tuner_priv; 419 *frequency = 36125000;
422 *bandwidth = priv->bandwidth;
423 return 0; 420 return 0;
424} 421}
425 422
@@ -437,7 +434,7 @@ static const struct dvb_tuner_ops qt1010_tuner_ops = {
437 434
438 .set_params = qt1010_set_params, 435 .set_params = qt1010_set_params,
439 .get_frequency = qt1010_get_frequency, 436 .get_frequency = qt1010_get_frequency,
440 .get_bandwidth = qt1010_get_bandwidth 437 .get_if_frequency = qt1010_get_if_frequency,
441}; 438};
442 439
443struct dvb_frontend * qt1010_attach(struct dvb_frontend *fe, 440struct dvb_frontend * qt1010_attach(struct dvb_frontend *fe,