Commit 5dd83a35 authored by Manu Abraham's avatar Manu Abraham Committed by Mauro Carvalho Chehab

V4L/DVB (13801): [MB86A16] Use the search callback

Signed-off-by: default avatarManu Abraham <manu@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 28185917
...@@ -1487,16 +1487,19 @@ static int mb86a16_set_fe(struct mb86a16_state *state) ...@@ -1487,16 +1487,19 @@ static int mb86a16_set_fe(struct mb86a16_state *state)
} else { } else {
dprintk(verbose, MB86A16_INFO, 1, "NO -- SYNC"); dprintk(verbose, MB86A16_INFO, 1, "NO -- SYNC");
SEQ_set(state, 1); SEQ_set(state, 1);
ret = -1;
} }
} }
} else { } else {
dprintk (verbose, MB86A16_INFO, 1, "NO -- SIGNAL"); dprintk (verbose, MB86A16_INFO, 1, "NO -- SIGNAL");
ret = -1;
} }
sync = sync_chk(state, &junk); sync = sync_chk(state, &junk);
if (sync) { if (sync) {
dprintk(verbose, MB86A16_INFO, 1, "******* SYNC *******"); dprintk(verbose, MB86A16_INFO, 1, "******* SYNC *******");
freqerr_chk(state, state->frequency, state->srate, 1); freqerr_chk(state, state->frequency, state->srate, 1);
ret = 0;
break; break;
} }
} }
...@@ -1610,33 +1613,21 @@ static int mb86a16_set_tone(struct dvb_frontend *fe, fe_sec_tone_mode_t tone) ...@@ -1610,33 +1613,21 @@ static int mb86a16_set_tone(struct dvb_frontend *fe, fe_sec_tone_mode_t tone)
return -EREMOTEIO; return -EREMOTEIO;
} }
#define MB86A16_FE_ALGO 1 static enum dvbfe_search mb86a16_search(struct dvb_frontend *fe,
struct dvb_frontend_parameters *p)
static int mb86a16_frontend_algo(struct dvb_frontend *fe)
{
return MB86A16_FE_ALGO;
}
static int mb86a16_set_frontend(struct dvb_frontend *fe,
struct dvb_frontend_parameters *p,
unsigned int mode_flags,
int *delay,
fe_status_t *status)
{ {
int ret = 0;
struct mb86a16_state *state = fe->demodulator_priv; struct mb86a16_state *state = fe->demodulator_priv;
if (p != NULL) { state->frequency = p->frequency / 1000;
state->frequency = p->frequency / 1000; state->srate = p->u.qpsk.symbol_rate / 1000;
state->srate = p->u.qpsk.symbol_rate / 1000;
ret = mb86a16_set_fe(state);
}
if (!(mode_flags & FE_TUNE_MODE_ONESHOT))
mb86a16_read_status(fe, status);
*delay = HZ/3000; if (!mb86a16_set_fe(state)) {
dprintk(verbose, MB86A16_ERROR, 1, "Succesfully acquired LOCK");
return DVBFE_ALGO_SEARCH_SUCCESS;
}
return ret; dprintk(verbose, MB86A16_ERROR, 1, "Lock acquisition failed!");
return DVBFE_ALGO_SEARCH_FAILED;
} }
static void mb86a16_release(struct dvb_frontend *fe) static void mb86a16_release(struct dvb_frontend *fe)
...@@ -1809,6 +1800,11 @@ static int mb86a16_read_ucblocks(struct dvb_frontend *fe, u32 *ucblocks) ...@@ -1809,6 +1800,11 @@ static int mb86a16_read_ucblocks(struct dvb_frontend *fe, u32 *ucblocks)
return 0; return 0;
} }
static enum dvbfe_algo mb86a16_frontend_algo(struct dvb_frontend *fe)
{
return DVBFE_ALGO_CUSTOM;
}
static struct dvb_frontend_ops mb86a16_ops = { static struct dvb_frontend_ops mb86a16_ops = {
.info = { .info = {
.name = "Fujitsu MB86A16 DVB-S", .name = "Fujitsu MB86A16 DVB-S",
...@@ -1826,9 +1822,10 @@ static struct dvb_frontend_ops mb86a16_ops = { ...@@ -1826,9 +1822,10 @@ static struct dvb_frontend_ops mb86a16_ops = {
FE_CAN_FEC_AUTO FE_CAN_FEC_AUTO
}, },
.release = mb86a16_release, .release = mb86a16_release,
.tune = mb86a16_set_frontend,
.read_status = mb86a16_read_status,
.get_frontend_algo = mb86a16_frontend_algo, .get_frontend_algo = mb86a16_frontend_algo,
.search = mb86a16_search,
.read_status = mb86a16_read_status,
.init = mb86a16_init, .init = mb86a16_init,
.sleep = mb86a16_sleep, .sleep = mb86a16_sleep,
.read_status = mb86a16_read_status, .read_status = mb86a16_read_status,
......
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