summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2007-12-21 09:18:32 -0500
committerMichael Krufky <mkrufky@linuxtv.org>2007-12-21 09:18:32 -0500
commitf01ebb1a2e7941c78d70b25337f17029e4a1078a (patch)
treec9ee94a5ce7d16cec6ca6fbc8990e55dfda67ea5 /linux/drivers/media/dvb
parent519f4cd6a982745152ab63f44945d12df2748659 (diff)
downloadmediapointer-dvb-s2-f01ebb1a2e7941c78d70b25337f17029e4a1078a.tar.gz
mediapointer-dvb-s2-f01ebb1a2e7941c78d70b25337f17029e4a1078a.tar.bz2
include struct analog_demod_ops directly inside struct dvb_frontend
From: Michael Krufky <mkrufky@linuxtv.org> Rather than using a pointer, include struct analog_demod_ops directly inside struct dvb_frontend. This will allow us to use dvb_attach in the future, along with removing the need to check the ops structure before having to check the pointer to the method being called. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Diffstat (limited to 'linux/drivers/media/dvb')
-rw-r--r--linux/drivers/media/dvb/dvb-core/dvb_frontend.h4
-rw-r--r--linux/drivers/media/dvb/frontends/tda18271-fe.c5
2 files changed, 4 insertions, 5 deletions
diff --git a/linux/drivers/media/dvb/dvb-core/dvb_frontend.h b/linux/drivers/media/dvb/dvb-core/dvb_frontend.h
index 092d53779..fc3213fec 100644
--- a/linux/drivers/media/dvb/dvb-core/dvb_frontend.h
+++ b/linux/drivers/media/dvb/dvb-core/dvb_frontend.h
@@ -107,7 +107,7 @@ struct analog_demod_info {
char *name;
};
-struct analog_tuner_ops {
+struct analog_demod_ops {
struct analog_demod_info info;
@@ -170,7 +170,7 @@ struct dvb_frontend_ops {
int (*ts_bus_ctrl)(struct dvb_frontend* fe, int acquire);
struct dvb_tuner_ops tuner_ops;
- struct analog_tuner_ops *analog_demod_ops;
+ struct analog_demod_ops analog_ops;
};
#define MAX_EVENT 8
diff --git a/linux/drivers/media/dvb/frontends/tda18271-fe.c b/linux/drivers/media/dvb/frontends/tda18271-fe.c
index 73b1ba434..73d1023ee 100644
--- a/linux/drivers/media/dvb/frontends/tda18271-fe.c
+++ b/linux/drivers/media/dvb/frontends/tda18271-fe.c
@@ -51,7 +51,6 @@ struct tda18271_priv {
static int tda18271_i2c_gate_ctrl(struct dvb_frontend *fe, int enable)
{
struct tda18271_priv *priv = fe->tuner_priv;
- struct analog_tuner_ops *ops = fe->ops.analog_demod_ops;
enum tda18271_i2c_gate gate;
int ret = 0;
@@ -75,8 +74,8 @@ static int tda18271_i2c_gate_ctrl(struct dvb_frontend *fe, int enable)
switch (gate) {
case TDA18271_GATE_ANALOG:
- if (ops && ops->i2c_gate_ctrl)
- ret = ops->i2c_gate_ctrl(fe, enable);
+ if (fe->ops.analog_ops.i2c_gate_ctrl)
+ ret = fe->ops.analog_ops.i2c_gate_ctrl(fe, enable);
break;
case TDA18271_GATE_DIGITAL:
if (fe->ops.i2c_gate_ctrl)