aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/dvb/dvb-core/dvb_frontend.h1
-rw-r--r--drivers/media/dvb/frontends/drxk_hard.c10
-rw-r--r--drivers/media/dvb/frontends/tda18271c2dd.c4
3 files changed, 12 insertions, 3 deletions
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.h b/drivers/media/dvb/dvb-core/dvb_frontend.h
index 5590eb6eb408..67bbfa728016 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.h
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.h
@@ -209,6 +209,7 @@ struct dvb_tuner_ops {
209 209
210 int (*get_frequency)(struct dvb_frontend *fe, u32 *frequency); 210 int (*get_frequency)(struct dvb_frontend *fe, u32 *frequency);
211 int (*get_bandwidth)(struct dvb_frontend *fe, u32 *bandwidth); 211 int (*get_bandwidth)(struct dvb_frontend *fe, u32 *bandwidth);
212 int (*get_if_frequency)(struct dvb_frontend *fe, u32 *frequency);
212 213
213#define TUNER_STATUS_LOCKED 1 214#define TUNER_STATUS_LOCKED 1
214#define TUNER_STATUS_STEREO 2 215#define TUNER_STATUS_STEREO 2
diff --git a/drivers/media/dvb/frontends/drxk_hard.c b/drivers/media/dvb/frontends/drxk_hard.c
index 41b083820dae..f6431ef827dc 100644
--- a/drivers/media/dvb/frontends/drxk_hard.c
+++ b/drivers/media/dvb/frontends/drxk_hard.c
@@ -6211,6 +6211,14 @@ static int drxk_set_parameters(struct dvb_frontend *fe,
6211 u32 IF; 6211 u32 IF;
6212 6212
6213 dprintk(1, "\n"); 6213 dprintk(1, "\n");
6214
6215 if (!fe->ops.tuner_ops.get_if_frequency) {
6216 printk(KERN_ERR
6217 "drxk: Error: get_if_frequency() not defined at tuner. Can't work without it!\n");
6218 return -EINVAL;
6219 }
6220
6221
6214 if (fe->ops.i2c_gate_ctrl) 6222 if (fe->ops.i2c_gate_ctrl)
6215 fe->ops.i2c_gate_ctrl(fe, 1); 6223 fe->ops.i2c_gate_ctrl(fe, 1);
6216 if (fe->ops.tuner_ops.set_params) 6224 if (fe->ops.tuner_ops.set_params)
@@ -6218,7 +6226,7 @@ static int drxk_set_parameters(struct dvb_frontend *fe,
6218 if (fe->ops.i2c_gate_ctrl) 6226 if (fe->ops.i2c_gate_ctrl)
6219 fe->ops.i2c_gate_ctrl(fe, 0); 6227 fe->ops.i2c_gate_ctrl(fe, 0);
6220 state->param = *p; 6228 state->param = *p;
6221 fe->ops.tuner_ops.get_frequency(fe, &IF); 6229 fe->ops.tuner_ops.get_if_frequency(fe, &IF);
6222 Start(state, 0, IF); 6230 Start(state, 0, IF);
6223 6231
6224 /* printk(KERN_DEBUG "drxk: %s IF=%d done\n", __func__, IF); */ 6232 /* printk(KERN_DEBUG "drxk: %s IF=%d done\n", __func__, IF); */
diff --git a/drivers/media/dvb/frontends/tda18271c2dd.c b/drivers/media/dvb/frontends/tda18271c2dd.c
index 0384e8da4f5e..1b1bf200c55c 100644
--- a/drivers/media/dvb/frontends/tda18271c2dd.c
+++ b/drivers/media/dvb/frontends/tda18271c2dd.c
@@ -1195,7 +1195,7 @@ static int GetSignalStrength(s32 *pSignalStrength, u32 RFAgc, u32 IFAgc)
1195} 1195}
1196#endif 1196#endif
1197 1197
1198static int get_frequency(struct dvb_frontend *fe, u32 *frequency) 1198static int get_if_frequency(struct dvb_frontend *fe, u32 *frequency)
1199{ 1199{
1200 struct tda_state *state = fe->tuner_priv; 1200 struct tda_state *state = fe->tuner_priv;
1201 1201
@@ -1222,7 +1222,7 @@ static struct dvb_tuner_ops tuner_ops = {
1222 .sleep = sleep, 1222 .sleep = sleep,
1223 .set_params = set_params, 1223 .set_params = set_params,
1224 .release = release, 1224 .release = release,
1225 .get_frequency = get_frequency, 1225 .get_if_frequency = get_if_frequency,
1226 .get_bandwidth = get_bandwidth, 1226 .get_bandwidth = get_bandwidth,
1227}; 1227};
1228 1228