aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/frontends/isl6421.c
diff options
context:
space:
mode:
authorPatrick Boettcher <pb@linuxtv.org>2006-05-14 04:01:31 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-06-25 01:00:42 -0400
commitdea74869f3c62b0b7addd67017b22b394e942aac (patch)
treed1a597caea6615c76f34896cc832fd1371f2e776 /drivers/media/dvb/frontends/isl6421.c
parent332bed5fc25ab0eb84215ecd89a4acd48219eee0 (diff)
V4L/DVB (4028): Change dvb_frontend_ops to be a real field instead of a pointer field inside dvb_frontend
The dvb_frontend_ops is a pointer inside dvb_frontend. That's why every demod-driver is having a field of dvb_frontend_ops in its private-state-struct and using the reference for filling the pointer-field in dvb_frontend. - It saves at least two lines of code per demod-driver, - reduces object size (one less dereference per frontend_ops-access), - be coherent with dvb_tuner_ops, - makes it a little bit easier for newbies to understand how it works and - avoids stupid mistakes because you would have to copy the dvb_frontend_ops always, before you could assign the static pointer directly, which was dangerous. Signed-off-by: Patrick Boettcher <pb@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/dvb/frontends/isl6421.c')
-rw-r--r--drivers/media/dvb/frontends/isl6421.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/media/dvb/frontends/isl6421.c b/drivers/media/dvb/frontends/isl6421.c
index 36992077aaf..58c34db3107 100644
--- a/drivers/media/dvb/frontends/isl6421.c
+++ b/drivers/media/dvb/frontends/isl6421.c
@@ -99,11 +99,11 @@ static void isl6421_release(struct dvb_frontend *fe)
99 isl6421_set_voltage(fe, SEC_VOLTAGE_OFF); 99 isl6421_set_voltage(fe, SEC_VOLTAGE_OFF);
100 100
101 /* free data & call next release routine */ 101 /* free data & call next release routine */
102 fe->ops->release = isl6421->release_chain; 102 fe->ops.release = isl6421->release_chain;
103 kfree(fe->misc_priv); 103 kfree(fe->misc_priv);
104 fe->misc_priv = NULL; 104 fe->misc_priv = NULL;
105 if (fe->ops->release) 105 if (fe->ops.release)
106 fe->ops->release(fe); 106 fe->ops.release(fe);
107} 107}
108 108
109int isl6421_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, u8 i2c_addr, 109int isl6421_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, u8 i2c_addr,
@@ -133,12 +133,12 @@ int isl6421_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, u8 i2c_addr
133 } 133 }
134 134
135 /* install release callback */ 135 /* install release callback */
136 isl6421->release_chain = fe->ops->release; 136 isl6421->release_chain = fe->ops.release;
137 fe->ops->release = isl6421_release; 137 fe->ops.release = isl6421_release;
138 138
139 /* override frontend ops */ 139 /* override frontend ops */
140 fe->ops->set_voltage = isl6421_set_voltage; 140 fe->ops.set_voltage = isl6421_set_voltage;
141 fe->ops->enable_high_lnb_voltage = isl6421_enable_high_lnb_voltage; 141 fe->ops.enable_high_lnb_voltage = isl6421_enable_high_lnb_voltage;
142 142
143 return 0; 143 return 0;
144} 144}