Commit 2d76e22b authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

[media] mb86a20s: convert set_fontend to use DVBv5 parameters

Instead of using dvb_frontend_parameters struct, that were
designed for a subset of the supported standards, use the DVBv5
cache information.

Actually, this driver needs to fill/use the ISDB-T proprieties.

Also, fill the supported delivery systems at dvb_frontend_ops
struct.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 5226bb87
...@@ -485,11 +485,16 @@ static int mb86a20s_read_status(struct dvb_frontend *fe, fe_status_t *status) ...@@ -485,11 +485,16 @@ static int mb86a20s_read_status(struct dvb_frontend *fe, fe_status_t *status)
return 0; return 0;
} }
static int mb86a20s_set_frontend(struct dvb_frontend *fe, static int mb86a20s_set_frontend(struct dvb_frontend *fe)
struct dvb_frontend_parameters *p)
{ {
struct mb86a20s_state *state = fe->demodulator_priv; struct mb86a20s_state *state = fe->demodulator_priv;
int rc; int rc;
#if 0
/*
* FIXME: Properly implement the set frontend properties
*/
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
#endif
dprintk("\n"); dprintk("\n");
...@@ -521,15 +526,15 @@ static int mb86a20s_set_frontend(struct dvb_frontend *fe, ...@@ -521,15 +526,15 @@ static int mb86a20s_set_frontend(struct dvb_frontend *fe,
} }
static int mb86a20s_get_frontend(struct dvb_frontend *fe, static int mb86a20s_get_frontend(struct dvb_frontend *fe,
struct dvb_frontend_parameters *p) struct dtv_frontend_properties *p)
{ {
/* FIXME: For now, it does nothing */ /* FIXME: For now, it does nothing */
fe->dtv_property_cache.bandwidth_hz = 6000000; p->bandwidth_hz = 6000000;
fe->dtv_property_cache.transmission_mode = TRANSMISSION_MODE_AUTO; p->transmission_mode = TRANSMISSION_MODE_AUTO;
fe->dtv_property_cache.guard_interval = GUARD_INTERVAL_AUTO; p->guard_interval = GUARD_INTERVAL_AUTO;
fe->dtv_property_cache.isdbt_partial_reception = 0; p->isdbt_partial_reception = 0;
return 0; return 0;
} }
...@@ -545,7 +550,7 @@ static int mb86a20s_tune(struct dvb_frontend *fe, ...@@ -545,7 +550,7 @@ static int mb86a20s_tune(struct dvb_frontend *fe,
dprintk("\n"); dprintk("\n");
if (params != NULL) if (params != NULL)
rc = mb86a20s_set_frontend(fe, params); rc = mb86a20s_set_frontend(fe);
if (!(mode_flags & FE_TUNE_MODE_ONESHOT)) if (!(mode_flags & FE_TUNE_MODE_ONESHOT))
mb86a20s_read_status(fe, status); mb86a20s_read_status(fe, status);
...@@ -608,6 +613,7 @@ struct dvb_frontend *mb86a20s_attach(const struct mb86a20s_config *config, ...@@ -608,6 +613,7 @@ struct dvb_frontend *mb86a20s_attach(const struct mb86a20s_config *config,
EXPORT_SYMBOL(mb86a20s_attach); EXPORT_SYMBOL(mb86a20s_attach);
static struct dvb_frontend_ops mb86a20s_ops = { static struct dvb_frontend_ops mb86a20s_ops = {
.delsys = { SYS_ISDBT },
/* Use dib8000 values per default */ /* Use dib8000 values per default */
.info = { .info = {
.name = "Fujitsu mb86A20s", .name = "Fujitsu mb86A20s",
...@@ -627,8 +633,8 @@ static struct dvb_frontend_ops mb86a20s_ops = { ...@@ -627,8 +633,8 @@ static struct dvb_frontend_ops mb86a20s_ops = {
.release = mb86a20s_release, .release = mb86a20s_release,
.init = mb86a20s_initfe, .init = mb86a20s_initfe,
.set_frontend_legacy = mb86a20s_set_frontend, .set_frontend = mb86a20s_set_frontend,
.get_frontend_legacy = mb86a20s_get_frontend, .get_frontend = mb86a20s_get_frontend,
.read_status = mb86a20s_read_status, .read_status = mb86a20s_read_status,
.read_signal_strength = mb86a20s_read_signal_strength, .read_signal_strength = mb86a20s_read_signal_strength,
.tune = mb86a20s_tune, .tune = mb86a20s_tune,
......
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