aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2007-12-21 09:18:32 -0500
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-01-25 16:04:11 -0500
commitbc3e5c7fc20d3c09667067878fb7a55dd9fc041d (patch)
tree81d83ec2aa0b21f8b594d45a398bdefe206ad3e3 /drivers/media/dvb
parent9ad89f0104314786138d580ab2c1119e7e470f56 (diff)
V4L/DVB (6881): include struct analog_demod_ops directly inside struct dvb_frontend
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> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/dvb')
-rw-r--r--drivers/media/dvb/dvb-core/dvb_frontend.h4
-rw-r--r--drivers/media/dvb/frontends/tda18271-fe.c5
2 files changed, 4 insertions, 5 deletions
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.h b/drivers/media/dvb/dvb-core/dvb_frontend.h
index 417802f83f7e..aa4133f0bd19 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.h
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.h
@@ -105,7 +105,7 @@ struct analog_demod_info {
105 char *name; 105 char *name;
106}; 106};
107 107
108struct analog_tuner_ops { 108struct analog_demod_ops {
109 109
110 struct analog_demod_info info; 110 struct analog_demod_info info;
111 111
@@ -168,7 +168,7 @@ struct dvb_frontend_ops {
168 int (*ts_bus_ctrl)(struct dvb_frontend* fe, int acquire); 168 int (*ts_bus_ctrl)(struct dvb_frontend* fe, int acquire);
169 169
170 struct dvb_tuner_ops tuner_ops; 170 struct dvb_tuner_ops tuner_ops;
171 struct analog_tuner_ops *analog_demod_ops; 171 struct analog_demod_ops analog_ops;
172}; 172};
173 173
174#define MAX_EVENT 8 174#define MAX_EVENT 8
diff --git a/drivers/media/dvb/frontends/tda18271-fe.c b/drivers/media/dvb/frontends/tda18271-fe.c
index 406520f6310c..3c0f06e1f47d 100644
--- a/drivers/media/dvb/frontends/tda18271-fe.c
+++ b/drivers/media/dvb/frontends/tda18271-fe.c
@@ -50,7 +50,6 @@ struct tda18271_priv {
50static int tda18271_i2c_gate_ctrl(struct dvb_frontend *fe, int enable) 50static int tda18271_i2c_gate_ctrl(struct dvb_frontend *fe, int enable)
51{ 51{
52 struct tda18271_priv *priv = fe->tuner_priv; 52 struct tda18271_priv *priv = fe->tuner_priv;
53 struct analog_tuner_ops *ops = fe->ops.analog_demod_ops;
54 enum tda18271_i2c_gate gate; 53 enum tda18271_i2c_gate gate;
55 int ret = 0; 54 int ret = 0;
56 55
@@ -74,8 +73,8 @@ static int tda18271_i2c_gate_ctrl(struct dvb_frontend *fe, int enable)
74 73
75 switch (gate) { 74 switch (gate) {
76 case TDA18271_GATE_ANALOG: 75 case TDA18271_GATE_ANALOG:
77 if (ops && ops->i2c_gate_ctrl) 76 if (fe->ops.analog_ops.i2c_gate_ctrl)
78 ret = ops->i2c_gate_ctrl(fe, enable); 77 ret = fe->ops.analog_ops.i2c_gate_ctrl(fe, enable);
79 break; 78 break;
80 case TDA18271_GATE_DIGITAL: 79 case TDA18271_GATE_DIGITAL:
81 if (fe->ops.i2c_gate_ctrl) 80 if (fe->ops.i2c_gate_ctrl)