From e399a7896080183132d875aa5d4faac647688134 Mon Sep 17 00:00:00 2001 From: Manu Abraham Date: Sat, 8 Mar 2008 20:28:09 -0300 Subject: V4L/DVB (9463): 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. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab --- drivers/media/dvb/frontends/stb0899_drv.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'drivers/media/dvb/frontends') diff --git a/drivers/media/dvb/frontends/stb0899_drv.c b/drivers/media/dvb/frontends/stb0899_drv.c index 38d9fa9c0ac..e2509bf4a66 100644 --- a/drivers/media/dvb/frontends/stb0899_drv.c +++ b/drivers/media/dvb/frontends/stb0899_drv.c @@ -1374,7 +1374,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"); @@ -1404,7 +1403,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]; @@ -1563,7 +1562,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) @@ -1934,6 +1933,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 = { @@ -1948,6 +1955,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, -- cgit v1.2.3