[06/10] lg2160: update internal api interfaces and enable build
Commit Message
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
---
drivers/media/dvb/frontends/Kconfig | 8 ++++++++
drivers/media/dvb/frontends/lg2160.c | 25 +++++++++----------------
2 files changed, 17 insertions(+), 16 deletions(-)
@@ -531,6 +531,14 @@ config DVB_LGDT3305
An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
to support this frontend.
+config DVB_LG2160
+ tristate "LG Electronics LG216x based"
+ depends on DVB_CORE && I2C
+ default m if DVB_FE_CUSTOMISE
+ help
+ An ATSC/MH demodulator module. Say Y when you want
+ to support this frontend.
+
config DVB_S5H1409
tristate "Samsung S5H1409 based"
depends on DVB_CORE && I2C
@@ -939,17 +939,15 @@ static int lg216x_read_rs_err_count(struct lg216x_state *state, u16 *err)
/* ------------------------------------------------------------------------ */
-static int lg216x_get_frontend(struct dvb_frontend *fe,
- struct dvb_frontend_parameters *param)
+static int lg216x_get_frontend(struct dvb_frontend *fe)
{
struct lg216x_state *state = fe->demodulator_priv;
int ret;
lg_dbg("\n");
- param->u.vsb.modulation = VSB_8; /* FIXME (MH) */
- param->frequency = state->current_frequency;
-
+ fe->dtv_property_cache.modulation = VSB_8;
+ fe->dtv_property_cache.frequency = state->current_frequency;
fe->dtv_property_cache.delivery_system = SYS_ATSCMH;
ret = lg216x_get_fic_version(state,
@@ -1051,28 +1049,25 @@ fail:
static int lg216x_get_property(struct dvb_frontend *fe,
struct dtv_property *tvp)
{
- struct dvb_frontend_parameters param;
-
return (DTV_ATSCMH_FIC_VER == tvp->cmd) ?
- lg216x_get_frontend(fe, ¶m) : 0;
+ lg216x_get_frontend(fe) : 0;
}
-static int lg2160_set_frontend(struct dvb_frontend *fe,
- struct dvb_frontend_parameters *param)
+static int lg2160_set_frontend(struct dvb_frontend *fe)
{
struct lg216x_state *state = fe->demodulator_priv;
int ret;
- lg_dbg("(%d, %d)\n", param->frequency, param->u.vsb.modulation);
+ lg_dbg("(%d)\n", fe->dtv_property_cache.frequency);
if (fe->ops.tuner_ops.set_params) {
- ret = fe->ops.tuner_ops.set_params(fe, param);
+ ret = fe->ops.tuner_ops.set_params(fe);
if (fe->ops.i2c_gate_ctrl)
fe->ops.i2c_gate_ctrl(fe, 0);
if (lg_fail(ret))
goto fail;
- state->current_frequency = param->frequency;
+ state->current_frequency = fe->dtv_property_cache.frequency;
}
ret = lg2160_agc_fix(state, 0, 0);
@@ -1129,7 +1124,7 @@ static int lg2160_set_frontend(struct dvb_frontend *fe,
ret = lg216x_enable_fic(state, 1);
lg_fail(ret);
- lg216x_get_frontend(fe, param);
+ lg216x_get_frontend(fe);
fail:
return ret;
}
@@ -1359,7 +1354,6 @@ static struct dvb_frontend_ops lg2160_ops = {
.frequency_min = 54000000,
.frequency_max = 858000000,
.frequency_stepsize = 62500,
- .caps = FE_CAN_8VSB | FE_HAS_EXTENDED_CAPS /* FIXME (MH) */
},
.i2c_gate_ctrl = lg216x_i2c_gate_ctrl,
#if 0
@@ -1389,7 +1383,6 @@ static struct dvb_frontend_ops lg2161_ops = {
.frequency_min = 54000000,
.frequency_max = 858000000,
.frequency_stepsize = 62500,
- .caps = FE_CAN_8VSB | FE_HAS_EXTENDED_CAPS /* FIXME (MH) */
},
.i2c_gate_ctrl = lg216x_i2c_gate_ctrl,
#if 0