Commit 41da5320 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

[media] dvb: don't pass a DVBv3 parameter for search() fops

Just like the other DVB algorithms, drivers should use the DVBv5
way to retrieve parameters: via the cache struct.

Actually, several drivers were partially using the DVBv3 struct
and partially using the DVBv5 way, with is confusing and may
lead into troubles.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 7e072221
...@@ -628,7 +628,7 @@ static int dvb_frontend_thread(void *data) ...@@ -628,7 +628,7 @@ static int dvb_frontend_thread(void *data)
*/ */
if (fepriv->algo_status & DVBFE_ALGO_SEARCH_AGAIN) { if (fepriv->algo_status & DVBFE_ALGO_SEARCH_AGAIN) {
if (fe->ops.search) { if (fe->ops.search) {
fepriv->algo_status = fe->ops.search(fe, &fepriv->parameters_in); fepriv->algo_status = fe->ops.search(fe);
/* We did do a search as was requested, the flags are /* We did do a search as was requested, the flags are
* now unset as well and has the flags wrt to search. * now unset as well and has the flags wrt to search.
*/ */
......
...@@ -306,7 +306,7 @@ struct dvb_frontend_ops { ...@@ -306,7 +306,7 @@ struct dvb_frontend_ops {
/* These callbacks are for devices that implement their own /* These callbacks are for devices that implement their own
* tuning algorithms, rather than a simple swzigzag * tuning algorithms, rather than a simple swzigzag
*/ */
enum dvbfe_search (*search)(struct dvb_frontend *fe, struct dvb_frontend_parameters *p); enum dvbfe_search (*search)(struct dvb_frontend *fe);
int (*track)(struct dvb_frontend *fe, struct dvb_frontend_parameters *p); int (*track)(struct dvb_frontend *fe, struct dvb_frontend_parameters *p);
struct dvb_tuner_ops tuner_ops; struct dvb_tuner_ops tuner_ops;
......
...@@ -468,8 +468,7 @@ static int cxd2820r_get_tune_settings(struct dvb_frontend *fe, ...@@ -468,8 +468,7 @@ static int cxd2820r_get_tune_settings(struct dvb_frontend *fe,
return ret; return ret;
} }
static enum dvbfe_search cxd2820r_search(struct dvb_frontend *fe, static enum dvbfe_search cxd2820r_search(struct dvb_frontend *fe)
struct dvb_frontend_parameters *p)
{ {
struct cxd2820r_priv *priv = fe->demodulator_priv; struct cxd2820r_priv *priv = fe->demodulator_priv;
struct dtv_frontend_properties *c = &fe->dtv_property_cache; struct dtv_frontend_properties *c = &fe->dtv_property_cache;
......
...@@ -1621,13 +1621,13 @@ static int mb86a16_set_tone(struct dvb_frontend *fe, fe_sec_tone_mode_t tone) ...@@ -1621,13 +1621,13 @@ static int mb86a16_set_tone(struct dvb_frontend *fe, fe_sec_tone_mode_t tone)
return -EREMOTEIO; return -EREMOTEIO;
} }
static enum dvbfe_search mb86a16_search(struct dvb_frontend *fe, static enum dvbfe_search mb86a16_search(struct dvb_frontend *fe)
struct dvb_frontend_parameters *p)
{ {
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
struct mb86a16_state *state = fe->demodulator_priv; struct mb86a16_state *state = fe->demodulator_priv;
state->frequency = p->frequency / 1000; state->frequency = p->frequency / 1000;
state->srate = p->u.qpsk.symbol_rate / 1000; state->srate = p->symbol_rate / 1000;
if (!mb86a16_set_fe(state)) { if (!mb86a16_set_fe(state)) {
dprintk(verbose, MB86A16_ERROR, 1, "Successfully acquired LOCK"); dprintk(verbose, MB86A16_ERROR, 1, "Successfully acquired LOCK");
......
...@@ -1431,7 +1431,7 @@ static void stb0899_set_iterations(struct stb0899_state *state) ...@@ -1431,7 +1431,7 @@ static void stb0899_set_iterations(struct stb0899_state *state)
stb0899_write_s2reg(state, STB0899_S2FEC, STB0899_BASE_MAX_ITER, STB0899_OFF0_MAX_ITER, reg); stb0899_write_s2reg(state, STB0899_S2FEC, STB0899_BASE_MAX_ITER, STB0899_OFF0_MAX_ITER, reg);
} }
static enum dvbfe_search stb0899_search(struct dvb_frontend *fe, struct dvb_frontend_parameters *p) static enum dvbfe_search stb0899_search(struct dvb_frontend *fe)
{ {
struct stb0899_state *state = fe->demodulator_priv; struct stb0899_state *state = fe->demodulator_priv;
struct stb0899_params *i_params = &state->params; struct stb0899_params *i_params = &state->params;
...@@ -1441,8 +1441,8 @@ static enum dvbfe_search stb0899_search(struct dvb_frontend *fe, struct dvb_fron ...@@ -1441,8 +1441,8 @@ static enum dvbfe_search stb0899_search(struct dvb_frontend *fe, struct dvb_fron
u32 SearchRange, gain; u32 SearchRange, gain;
i_params->freq = p->frequency; i_params->freq = props->frequency;
i_params->srate = p->u.qpsk.symbol_rate; i_params->srate = props->symbol_rate;
state->delsys = props->delivery_system; state->delsys = props->delivery_system;
dprintk(state->verbose, FE_DEBUG, 1, "delivery system=%d", state->delsys); dprintk(state->verbose, FE_DEBUG, 1, "delivery system=%d", state->delsys);
......
...@@ -1558,8 +1558,7 @@ static int stv0900_status(struct stv0900_internal *intp, ...@@ -1558,8 +1558,7 @@ static int stv0900_status(struct stv0900_internal *intp,
return locked; return locked;
} }
static enum dvbfe_search stv0900_search(struct dvb_frontend *fe, static enum dvbfe_search stv0900_search(struct dvb_frontend *fe)
struct dvb_frontend_parameters *params)
{ {
struct stv0900_state *state = fe->demodulator_priv; struct stv0900_state *state = fe->demodulator_priv;
struct stv0900_internal *intp = state->internal; struct stv0900_internal *intp = state->internal;
......
...@@ -3427,17 +3427,17 @@ static enum stv090x_signal_state stv090x_algo(struct stv090x_state *state) ...@@ -3427,17 +3427,17 @@ static enum stv090x_signal_state stv090x_algo(struct stv090x_state *state)
return -1; return -1;
} }
static enum dvbfe_search stv090x_search(struct dvb_frontend *fe, struct dvb_frontend_parameters *p) static enum dvbfe_search stv090x_search(struct dvb_frontend *fe)
{ {
struct stv090x_state *state = fe->demodulator_priv; struct stv090x_state *state = fe->demodulator_priv;
struct dtv_frontend_properties *props = &fe->dtv_property_cache; struct dtv_frontend_properties *props = &fe->dtv_property_cache;
if (p->frequency == 0) if (props->frequency == 0)
return DVBFE_ALGO_SEARCH_INVALID; return DVBFE_ALGO_SEARCH_INVALID;
state->delsys = props->delivery_system; state->delsys = props->delivery_system;
state->frequency = p->frequency; state->frequency = props->frequency;
state->srate = p->u.qpsk.symbol_rate; state->srate = props->symbol_rate;
state->search_mode = STV090x_SEARCH_AUTO; state->search_mode = STV090x_SEARCH_AUTO;
state->algo = STV090x_COLD_SEARCH; state->algo = STV090x_COLD_SEARCH;
state->fec = STV090x_PRERR; state->fec = STV090x_PRERR;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment