Commit a552438f authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

[media] atbm8830: convert set_fontend to new way and fix delivery system

This is one of the cases where the frontend changes is required:
while this device lies to applications that it is a DVB-T, it is,
in fact, a frontend for CTTB delivery system. So, the information
provided for a DVBv3 application should be different than the one
provided to a DVBv5 application.

So, fill delsys with the CTTB delivery system, and use the new
way. there aren't many changes here, as everything on this driver
is on auto mode, probably because of the lack of a proper API
for this delivery system.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent a689e365
...@@ -267,8 +267,7 @@ static void atbm8830_release(struct dvb_frontend *fe) ...@@ -267,8 +267,7 @@ static void atbm8830_release(struct dvb_frontend *fe)
kfree(state); kfree(state);
} }
static int atbm8830_set_fe(struct dvb_frontend *fe, static int atbm8830_set_fe(struct dvb_frontend *fe)
struct dvb_frontend_parameters *fe_params)
{ {
struct atbm_state *priv = fe->demodulator_priv; struct atbm_state *priv = fe->demodulator_priv;
int i; int i;
...@@ -299,30 +298,30 @@ static int atbm8830_set_fe(struct dvb_frontend *fe, ...@@ -299,30 +298,30 @@ static int atbm8830_set_fe(struct dvb_frontend *fe,
} }
static int atbm8830_get_fe(struct dvb_frontend *fe, static int atbm8830_get_fe(struct dvb_frontend *fe,
struct dvb_frontend_parameters *fe_params) struct dtv_frontend_properties *c)
{ {
dprintk("%s\n", __func__); dprintk("%s\n", __func__);
/* TODO: get real readings from device */ /* TODO: get real readings from device */
/* inversion status */ /* inversion status */
fe_params->inversion = INVERSION_OFF; c->inversion = INVERSION_OFF;
/* bandwidth */ /* bandwidth */
fe_params->u.ofdm.bandwidth = BANDWIDTH_8_MHZ; c->bandwidth_hz = 8000000;
fe_params->u.ofdm.code_rate_HP = FEC_AUTO; c->code_rate_HP = FEC_AUTO;
fe_params->u.ofdm.code_rate_LP = FEC_AUTO; c->code_rate_LP = FEC_AUTO;
fe_params->u.ofdm.constellation = QAM_AUTO; c->modulation = QAM_AUTO;
/* transmission mode */ /* transmission mode */
fe_params->u.ofdm.transmission_mode = TRANSMISSION_MODE_AUTO; c->transmission_mode = TRANSMISSION_MODE_AUTO;
/* guard interval */ /* guard interval */
fe_params->u.ofdm.guard_interval = GUARD_INTERVAL_AUTO; c->guard_interval = GUARD_INTERVAL_AUTO;
/* hierarchy */ /* hierarchy */
fe_params->u.ofdm.hierarchy_information = HIERARCHY_NONE; c->hierarchy = HIERARCHY_NONE;
return 0; return 0;
} }
...@@ -429,6 +428,7 @@ static int atbm8830_i2c_gate_ctrl(struct dvb_frontend *fe, int enable) ...@@ -429,6 +428,7 @@ static int atbm8830_i2c_gate_ctrl(struct dvb_frontend *fe, int enable)
} }
static struct dvb_frontend_ops atbm8830_ops = { static struct dvb_frontend_ops atbm8830_ops = {
.delsys = { SYS_DMBTH },
.info = { .info = {
.name = "AltoBeam ATBM8830/8831 DMB-TH", .name = "AltoBeam ATBM8830/8831 DMB-TH",
.type = FE_OFDM, .type = FE_OFDM,
...@@ -449,8 +449,8 @@ static struct dvb_frontend_ops atbm8830_ops = { ...@@ -449,8 +449,8 @@ static struct dvb_frontend_ops atbm8830_ops = {
.write = NULL, .write = NULL,
.i2c_gate_ctrl = atbm8830_i2c_gate_ctrl, .i2c_gate_ctrl = atbm8830_i2c_gate_ctrl,
.set_frontend_legacy = atbm8830_set_fe, .set_frontend = atbm8830_set_fe,
.get_frontend_legacy = atbm8830_get_fe, .get_frontend = atbm8830_get_fe,
.get_tune_settings = atbm8830_get_tune_settings, .get_tune_settings = atbm8830_get_tune_settings,
.read_status = atbm8830_read_status, .read_status = atbm8830_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