mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
[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: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
7e0722215a
commit
41da5320df
7 changed files with 14 additions and 16 deletions
|
@ -628,7 +628,7 @@ restart:
|
||||||
*/
|
*/
|
||||||
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 {
|
||||||
/* 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,
|
||||||
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 @@ err:
|
||||||
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)
|
||||||
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
|
||||||
|
|
||||||
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,
|
||||||
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 @@ err:
|
||||||
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;
|
||||||
|
|
Loading…
Reference in a new issue