summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/frontends/stb0899_drv.c
diff options
context:
space:
mode:
authorManu Abraham <manu@linuxtv.org>2008-03-09 03:28:09 +0400
committerManu Abraham <manu@linuxtv.org>2008-03-09 03:28:09 +0400
commitb3b114fdfb64434656d39cd6ad440349d84cffe2 (patch)
tree9e1502dc944bbdedc2e5636c7b082c3902028452 /linux/drivers/media/dvb/frontends/stb0899_drv.c
parent01fac3d72ef1952f2a05ea1064b9fb0f95123a81 (diff)
downloadmediapointer-dvb-s2-b3b114fdfb64434656d39cd6ad440349d84cffe2.tar.gz
mediapointer-dvb-s2-b3b114fdfb64434656d39cd6ad440349d84cffe2.tar.bz2
Make delivery system standalone.
Eventhough the delivery system is made standalone, DVBFE_SET_DELSYS needs to be set as the very first operation, for a multistandard frontend Splitting delivery system out as a new ioctl, makes things a bit more easier to understand. From: Manu Abraham <abraham.manu@gmail.com> Signed-off-by: Manu Abraham <manu@linuxtv.org>
Diffstat (limited to 'linux/drivers/media/dvb/frontends/stb0899_drv.c')
-rw-r--r--linux/drivers/media/dvb/frontends/stb0899_drv.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/linux/drivers/media/dvb/frontends/stb0899_drv.c b/linux/drivers/media/dvb/frontends/stb0899_drv.c
index 121f224a8..5915780c8 100644
--- a/linux/drivers/media/dvb/frontends/stb0899_drv.c
+++ b/linux/drivers/media/dvb/frontends/stb0899_drv.c
@@ -1415,7 +1415,6 @@ static int stb0899_get_info(struct dvb_frontend *fe, struct dvbfe_info *fe_info)
dprintk(verbose, FE_DEBUG, 1, "Get Info");
- state->delsys = fe_info->delivery;
switch (state->delsys) {
case DVBFE_DELSYS_DVBS:
dprintk(verbose, FE_ERROR, 1, "Querying DVB-S info");
@@ -1445,7 +1444,7 @@ static int stb0899_get_delsys(struct dvb_frontend *fe, enum dvbfe_delsys *fe_del
return 0;
}
-void stb0899_set_delsys(struct stb0899_state *state)
+static void stb0899_set_delivery(struct stb0899_state *state)
{
u8 reg;
u8 stop_clk[2];
@@ -1604,7 +1603,7 @@ static enum dvbfe_search stb0899_search(struct dvb_frontend *fe, struct dvbfe_pa
/* checking Search Range is meaningless for a fixed 3 Mhz */
if (INRANGE(i_params->srate, 1000000, 45000000)) {
dprintk(verbose, FE_DEBUG, 1, "Parameters IN RANGE");
- stb0899_set_delsys(state);
+ stb0899_set_delivery(state);
if (state->config->tuner_set_rfsiggain) {
if (internal->srate > 15000000)
@@ -2028,6 +2027,14 @@ static enum dvbfe_algo stb0899_frontend_algo(struct dvb_frontend *fe)
return DVBFE_ALGO_CUSTOM;
}
+static int stb0899_set_delsys(struct dvb_frontend *fe, enum dvbfe_delsys delsys)
+{
+ struct stb0899_state *state = fe->demodulator_priv;
+
+ state->delsys = delsys;
+ return 0;
+}
+
static struct dvb_frontend_ops stb0899_ops = {
.info = {
@@ -2042,6 +2049,7 @@ static struct dvb_frontend_ops stb0899_ops = {
.i2c_gate_ctrl = stb0899_i2c_gate_ctrl,
.get_info = stb0899_get_info,
.get_delsys = stb0899_get_delsys,
+ .set_delsys = stb0899_set_delsys,
.get_frontend_algo = stb0899_frontend_algo,
.search = stb0899_search,