.init = dst_init,
.tune = dst_tune_frontend,
.set_frontend_legacy = dst_set_frontend,
- .get_frontend = dst_get_frontend,
+ .get_frontend_legacy = dst_get_frontend,
.get_frontend_algo = dst_get_tuning_algo,
.read_status = dst_read_status,
.read_signal_strength = dst_read_signal_strength,
.init = dst_init,
.tune = dst_tune_frontend,
.set_frontend_legacy = dst_set_frontend,
- .get_frontend = dst_get_frontend,
+ .get_frontend_legacy = dst_get_frontend,
.get_frontend_algo = dst_get_tuning_algo,
.read_status = dst_read_status,
.read_signal_strength = dst_read_signal_strength,
.init = dst_init,
.tune = dst_tune_frontend,
.set_frontend_legacy = dst_set_frontend,
- .get_frontend = dst_get_frontend,
+ .get_frontend_legacy = dst_get_frontend,
.get_frontend_algo = dst_get_tuning_algo,
.read_status = dst_read_status,
.read_signal_strength = dst_read_signal_strength,
.init = dst_init,
.tune = dst_tune_frontend,
.set_frontend_legacy = dst_set_frontend,
- .get_frontend = dst_get_frontend,
+ .get_frontend_legacy = dst_get_frontend,
.get_frontend_algo = dst_get_tuning_algo,
.read_status = dst_read_status,
.read_signal_strength = dst_read_signal_strength,
};
static void dvb_frontend_wakeup(struct dvb_frontend *fe);
+static int dtv_get_frontend(struct dvb_frontend *fe,
+ struct dtv_frontend_properties *c,
+ struct dvb_frontend_parameters *p_out);
+
+static bool has_get_frontend(struct dvb_frontend *fe)
+{
+ return fe->ops.get_frontend || fe->ops.get_frontend_legacy;
+}
static void dvb_frontend_add_event(struct dvb_frontend *fe, fe_status_t status)
{
dprintk ("%s\n", __func__);
- if ((status & FE_HAS_LOCK) && fe->ops.get_frontend)
- fe->ops.get_frontend(fe, &fepriv->parameters_out);
+ if ((status & FE_HAS_LOCK) && has_get_frontend(fe))
+ dtv_get_frontend(fe, NULL, &fepriv->parameters_out);
mutex_lock(&events->mtx);
/* Ensure the cached values are set correctly in the frontend
* legacy tuning structures, for the advanced tuning API.
*/
-static void dtv_property_legacy_params_sync(struct dvb_frontend *fe)
+static void dtv_property_legacy_params_sync(struct dvb_frontend *fe,
+ struct dvb_frontend_parameters *p)
{
const struct dtv_frontend_properties *c = &fe->dtv_property_cache;
- struct dvb_frontend_private *fepriv = fe->frontend_priv;
- struct dvb_frontend_parameters *p = &fepriv->parameters_in;
p->frequency = c->frequency;
p->inversion = c->inversion;
static void dtv_property_cache_submit(struct dvb_frontend *fe)
{
const struct dtv_frontend_properties *c = &fe->dtv_property_cache;
+ struct dvb_frontend_private *fepriv = fe->frontend_priv;
/* For legacy delivery systems we don't need the delivery_system to
* be specified, but we populate the older structures from the cache
if(is_legacy_delivery_system(c->delivery_system)) {
dprintk("%s() legacy, modulation = %d\n", __func__, c->modulation);
- dtv_property_legacy_params_sync(fe);
+ dtv_property_legacy_params_sync(fe, &fepriv->parameters_in);
} else {
dprintk("%s() adv, modulation = %d\n", __func__, c->modulation);
}
}
+/**
+ * dtv_get_frontend - calls a callback for retrieving DTV parameters
+ * @fe: struct dvb_frontend pointer
+ * @c: struct dtv_frontend_properties pointer (DVBv5 cache)
+ * @p_out struct dvb_frontend_parameters pointer (DVBv3 FE struct)
+ *
+ * This routine calls either the DVBv3 or DVBv5 get_frontend call.
+ * If c is not null, it will update the DVBv5 cache struct pointed by it.
+ * If p_out is not null, it will update the DVBv3 params pointed by it.
+ */
+static int dtv_get_frontend(struct dvb_frontend *fe,
+ struct dtv_frontend_properties *c,
+ struct dvb_frontend_parameters *p_out)
+{
+ const struct dtv_frontend_properties *cache = &fe->dtv_property_cache;
+ struct dtv_frontend_properties tmp_cache;
+ struct dvb_frontend_parameters tmp_out;
+ bool fill_cache = (c != NULL);
+ bool fill_params = (p_out != NULL);
+ int r;
+
+ if (!p_out)
+ p_out = &tmp_out;
+
+ if (!c)
+ c = &tmp_cache;
+ else
+ memcpy(c, cache, sizeof(*c));
+
+ /* Then try the DVBv5 one */
+ if (fe->ops.get_frontend) {
+ r = fe->ops.get_frontend(fe, c);
+ if (unlikely(r < 0))
+ return r;
+ if (fill_params)
+ dtv_property_legacy_params_sync(fe, p_out);
+ return 0;
+ }
+
+ /* As no DVBv5 call exists, use the DVBv3 one */
+ if (fe->ops.get_frontend_legacy) {
+ r = fe->ops.get_frontend_legacy(fe, p_out);
+ if (unlikely(r < 0))
+ return r;
+ if (fill_cache)
+ dtv_property_cache_sync(fe, c, p_out);
+ return 0;
+ }
+
+ return -EOPNOTSUPP;
+}
+
static int dvb_frontend_ioctl_legacy(struct file *file,
unsigned int cmd, void *parg);
static int dvb_frontend_ioctl_properties(struct file *file,
}
static int dtv_property_process_get(struct dvb_frontend *fe,
+ const struct dtv_frontend_properties *c,
struct dtv_property *tvp,
struct file *file)
{
- const struct dtv_frontend_properties *c = &fe->dtv_property_cache;
- struct dvb_frontend_private *fepriv = fe->frontend_priv;
- struct dtv_frontend_properties cdetected;
int r;
- /*
- * If the driver implements a get_frontend function, then convert
- * detected parameters to S2API properties.
- */
- if (fe->ops.get_frontend) {
- cdetected = *c;
- dtv_property_cache_sync(fe, &cdetected, &fepriv->parameters_out);
- c = &cdetected;
- }
-
switch(tvp->cmd) {
case DTV_ENUM_DELSYS:
dtv_set_default_delivery_caps(fe, tvp);
} else
if(cmd == FE_GET_PROPERTY) {
+ struct dtv_frontend_properties cache_out;
tvps = (struct dtv_properties __user *)parg;
goto out;
}
+ /*
+ * Fills the cache out struct with the cache contents, plus
+ * the data retrieved from get_frontend/get_frontend_legacy.
+ */
+ dtv_get_frontend(fe, &cache_out, NULL);
for (i = 0; i < tvps->num; i++) {
- err = dtv_property_process_get(fe, tvp + i, file);
+ err = dtv_property_process_get(fe, &cache_out, tvp + i, file);
if (err < 0)
goto out;
(tvp + i)->result = err;
break;
case FE_GET_FRONTEND:
- if (fe->ops.get_frontend) {
- err = fe->ops.get_frontend(fe, &fepriv->parameters_out);
- memcpy(parg, &fepriv->parameters_out, sizeof(struct dvb_frontend_parameters));
- }
+ err = dtv_get_frontend(fe, NULL, &fepriv->parameters_out);
+ if (err >= 0)
+ memcpy(parg, &fepriv->parameters_out,
+ sizeof(struct dvb_frontend_parameters));
break;
case FE_SET_FRONTEND_TUNE_MODE:
int (*set_config)(struct dvb_frontend *fe, void *priv_cfg);
};
+struct dtv_frontend_properties;
+
struct dvb_frontend_ops {
struct dvb_frontend_info info;
int (*set_frontend)(struct dvb_frontend *fe);
int (*get_tune_settings)(struct dvb_frontend* fe, struct dvb_frontend_tune_settings* settings);
- int (*get_frontend)(struct dvb_frontend* fe, struct dvb_frontend_parameters* params);
+ int (*get_frontend_legacy)(struct dvb_frontend *fe, struct dvb_frontend_parameters *params);
+ int (*get_frontend)(struct dvb_frontend *fe, struct dtv_frontend_properties *props);
int (*read_status)(struct dvb_frontend* fe, fe_status_t* status);
int (*read_ber)(struct dvb_frontend* fe, u32* ber);
&temp);
if (ret)
return ret;
- deb_info("===== fe_get_frontend ==============\n");
+ deb_info("===== fe_get_frontend_legacy = =============\n");
deb_info("CONSTELLATION ");
switch (temp) {
case 0:
.ts_bus_ctrl = af9005_ts_bus_ctrl,
.set_frontend_legacy = af9005_fe_set_frontend,
- .get_frontend = af9005_fe_get_frontend,
+ .get_frontend_legacy = af9005_fe_get_frontend,
.read_status = af9005_fe_read_status,
.read_ber = af9005_fe_read_ber,
.sleep = cinergyt2_fe_sleep,
.set_frontend_legacy = cinergyt2_fe_set_frontend,
- .get_frontend = cinergyt2_fe_get_frontend,
+ .get_frontend_legacy = cinergyt2_fe_get_frontend,
.get_tune_settings = cinergyt2_fe_get_tune_settings,
.read_status = cinergyt2_fe_read_status,
.sleep = dtt200u_fe_sleep,
.set_frontend_legacy = dtt200u_fe_set_frontend,
- .get_frontend = dtt200u_fe_get_frontend,
+ .get_frontend_legacy = dtt200u_fe_get_frontend,
.get_tune_settings = dtt200u_fe_get_tune_settings,
.read_status = dtt200u_fe_read_status,
.set_property = jdvbt90502_set_property,
.set_frontend_legacy = jdvbt90502_set_frontend,
- .get_frontend = jdvbt90502_get_frontend,
+ .get_frontend_legacy = jdvbt90502_get_frontend,
.read_status = jdvbt90502_read_status,
.read_signal_strength = jdvbt90502_read_signal_strength,
.i2c_gate_ctrl = mxl111sf_i2c_gate_ctrl,
#endif
.set_frontend_legacy = mxl111sf_demod_set_frontend,
- .get_frontend = mxl111sf_demod_get_frontend,
+ .get_frontend_legacy = mxl111sf_demod_get_frontend,
.get_tune_settings = mxl111sf_demod_get_tune_settings,
.read_status = mxl111sf_demod_read_status,
.read_signal_strength = mxl111sf_demod_read_signal_strength,
.sleep = vp702x_fe_sleep,
.set_frontend_legacy = vp702x_fe_set_frontend,
- .get_frontend = vp702x_fe_get_frontend,
+ .get_frontend_legacy = vp702x_fe_get_frontend,
.get_tune_settings = vp702x_fe_get_tune_settings,
.read_status = vp702x_fe_read_status,
.sleep = vp7045_fe_sleep,
.set_frontend_legacy = vp7045_fe_set_frontend,
- .get_frontend = vp7045_fe_get_frontend,
+ .get_frontend_legacy = vp7045_fe_get_frontend,
.get_tune_settings = vp7045_fe_get_tune_settings,
.read_status = vp7045_fe_read_status,
ops->sleep = fdtv_sleep;
ops->set_frontend_legacy = fdtv_set_frontend;
- ops->get_frontend = fdtv_get_frontend;
+ ops->get_frontend_legacy = fdtv_get_frontend;
ops->get_property = fdtv_get_property;
ops->set_property = fdtv_set_property;
.get_tune_settings = af9013_get_tune_settings,
.set_frontend_legacy = af9013_set_frontend,
- .get_frontend = af9013_get_frontend,
+ .get_frontend_legacy = af9013_get_frontend,
.read_status = af9013_read_status,
.read_snr = af9013_read_snr,
.i2c_gate_ctrl = atbm8830_i2c_gate_ctrl,
.set_frontend_legacy = atbm8830_set_fe,
- .get_frontend = atbm8830_get_fe,
+ .get_frontend_legacy = atbm8830_get_fe,
.get_tune_settings = atbm8830_get_tune_settings,
.read_status = atbm8830_read_status,
.sleep = au8522_sleep,
.i2c_gate_ctrl = au8522_i2c_gate_ctrl,
.set_frontend_legacy = au8522_set_frontend,
- .get_frontend = au8522_get_frontend,
+ .get_frontend_legacy = au8522_get_frontend,
.get_tune_settings = au8522_get_tune_settings,
.read_status = au8522_read_status,
.read_ber = au8522_read_ber,
.i2c_gate_ctrl = cx22700_i2c_gate_ctrl,
.set_frontend_legacy = cx22700_set_frontend,
- .get_frontend = cx22700_get_frontend,
+ .get_frontend_legacy = cx22700_get_frontend,
.get_tune_settings = cx22700_get_tune_settings,
.read_status = cx22700_read_status,
.i2c_gate_ctrl = cx22702_i2c_gate_ctrl,
.set_frontend_legacy = cx22702_set_tps,
- .get_frontend = cx22702_get_frontend,
+ .get_frontend_legacy = cx22702_get_frontend,
.get_tune_settings = cx22702_get_tune_settings,
.read_status = cx22702_read_status,
.init = cx24110_initfe,
.write = _cx24110_pll_write,
.set_frontend_legacy = cx24110_set_frontend,
- .get_frontend = cx24110_get_frontend,
+ .get_frontend_legacy = cx24110_get_frontend,
.read_status = cx24110_read_status,
.read_ber = cx24110_read_ber,
.read_signal_strength = cx24110_read_signal_strength,
.init = cx24123_initfe,
.set_frontend_legacy = cx24123_set_frontend,
- .get_frontend = cx24123_get_frontend,
+ .get_frontend_legacy = cx24123_get_frontend,
.read_status = cx24123_read_status,
.read_ber = cx24123_read_ber,
.read_signal_strength = cx24123_read_signal_strength,
.get_tune_settings = cxd2820r_get_tune_settings,
.i2c_gate_ctrl = cxd2820r_i2c_gate_ctrl,
- .get_frontend = cxd2820r_get_frontend,
+ .get_frontend_legacy = cxd2820r_get_frontend,
.get_frontend_algo = cxd2820r_get_frontend_algo,
.search = cxd2820r_search,
.sleep = dib3000mb_sleep,
.set_frontend_legacy = dib3000mb_set_frontend_and_tuner,
- .get_frontend = dib3000mb_get_frontend,
+ .get_frontend_legacy = dib3000mb_get_frontend,
.get_tune_settings = dib3000mb_fe_get_tune_settings,
.read_status = dib3000mb_read_status,
.set_frontend_legacy = dib3000mc_set_frontend,
.get_tune_settings = dib3000mc_fe_get_tune_settings,
- .get_frontend = dib3000mc_get_frontend,
+ .get_frontend_legacy = dib3000mc_get_frontend,
.read_status = dib3000mc_read_status,
.read_ber = dib3000mc_read_ber,
.set_frontend_legacy = dib7000m_set_frontend,
.get_tune_settings = dib7000m_fe_get_tune_settings,
- .get_frontend = dib7000m_get_frontend,
+ .get_frontend_legacy = dib7000m_get_frontend,
.read_status = dib7000m_read_status,
.read_ber = dib7000m_read_ber,
.set_frontend_legacy = dib7000p_set_frontend,
.get_tune_settings = dib7000p_fe_get_tune_settings,
- .get_frontend = dib7000p_get_frontend,
+ .get_frontend_legacy = dib7000p_get_frontend,
.read_status = dib7000p_read_status,
.read_ber = dib7000p_read_ber,
if (stat&FE_HAS_SYNC) {
dprintk("TMCC lock on the slave%i", index_frontend);
/* synchronize the cache with the other frontends */
- state->fe[index_frontend]->ops.get_frontend(state->fe[index_frontend], fep);
+ state->fe[index_frontend]->ops.get_frontend_legacy(state->fe[index_frontend], fep);
for (sub_index_frontend = 0; (sub_index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[sub_index_frontend] != NULL); sub_index_frontend++) {
if (sub_index_frontend != index_frontend) {
state->fe[sub_index_frontend]->dtv_property_cache.isdbt_sb_mode = state->fe[index_frontend]->dtv_property_cache.isdbt_sb_mode;
.set_frontend_legacy = dib8000_set_frontend,
.get_tune_settings = dib8000_fe_get_tune_settings,
- .get_frontend = dib8000_get_frontend,
+ .get_frontend_legacy = dib8000_get_frontend,
.read_status = dib8000_read_status,
.read_ber = dib8000_read_ber,
dprintk("TPS lock on the slave%i", index_frontend);
/* synchronize the cache with the other frontends */
- state->fe[index_frontend]->ops.get_frontend(state->fe[index_frontend], fep);
+ state->fe[index_frontend]->ops.get_frontend_legacy(state->fe[index_frontend], fep);
for (sub_index_frontend = 0; (sub_index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[sub_index_frontend] != NULL);
sub_index_frontend++) {
if (sub_index_frontend != index_frontend) {
.set_frontend_legacy = dib9000_set_frontend,
.get_tune_settings = dib9000_fe_get_tune_settings,
- .get_frontend = dib9000_get_frontend,
+ .get_frontend_legacy = dib9000_get_frontend,
.read_status = dib9000_read_status,
.read_ber = dib9000_read_ber,
.i2c_gate_ctrl = drxd_i2c_gate_ctrl,
.set_frontend_legacy = drxd_set_frontend,
- .get_frontend = drxd_get_frontend,
+ .get_frontend_legacy = drxd_get_frontend,
.get_tune_settings = drxd_get_tune_settings,
.read_status = drxd_read_status,
.i2c_gate_ctrl = drxk_gate_ctrl,
.set_frontend_legacy = drxk_set_parameters,
- .get_frontend = drxk_c_get_frontend,
+ .get_frontend_legacy = drxk_c_get_frontend,
.get_property = drxk_c_get_property,
.get_tune_settings = drxk_c_get_tune_settings,
.i2c_gate_ctrl = drxk_gate_ctrl,
.set_frontend_legacy = drxk_set_parameters,
- .get_frontend = drxk_t_get_frontend,
+ .get_frontend_legacy = drxk_t_get_frontend,
.get_property = drxk_t_get_property,
.read_status = drxk_read_status,
.sleep = dvb_dummy_fe_sleep,
.set_frontend_legacy = dvb_dummy_fe_set_frontend,
- .get_frontend = dvb_dummy_fe_get_frontend,
+ .get_frontend_legacy = dvb_dummy_fe_get_frontend,
.read_status = dvb_dummy_fe_read_status,
.read_ber = dvb_dummy_fe_read_ber,
.sleep = dvb_dummy_fe_sleep,
.set_frontend_legacy = dvb_dummy_fe_set_frontend,
- .get_frontend = dvb_dummy_fe_get_frontend,
+ .get_frontend_legacy = dvb_dummy_fe_get_frontend,
.read_status = dvb_dummy_fe_read_status,
.read_ber = dvb_dummy_fe_read_ber,
.sleep = dvb_dummy_fe_sleep,
.set_frontend_legacy = dvb_dummy_fe_set_frontend,
- .get_frontend = dvb_dummy_fe_get_frontend,
+ .get_frontend_legacy = dvb_dummy_fe_get_frontend,
.read_status = dvb_dummy_fe_read_status,
.read_ber = dvb_dummy_fe_read_ber,
.sleep = it913x_fe_sleep,
.set_frontend_legacy = it913x_fe_set_frontend,
- .get_frontend = it913x_fe_get_frontend,
+ .get_frontend_legacy = it913x_fe_get_frontend,
.read_status = it913x_fe_read_status,
.read_signal_strength = it913x_fe_read_signal_strength,
.sleep = l64781_sleep,
.set_frontend_legacy = apply_frontend_param,
- .get_frontend = get_frontend,
+ .get_frontend_legacy = get_frontend,
.get_tune_settings = l64781_get_tune_settings,
.read_status = l64781_read_status,
.i2c_gate_ctrl = lgdt3305_i2c_gate_ctrl,
.init = lgdt3305_init,
.set_frontend_legacy = lgdt3304_set_parameters,
- .get_frontend = lgdt3305_get_frontend,
+ .get_frontend_legacy = lgdt3305_get_frontend,
.get_tune_settings = lgdt3305_get_tune_settings,
.read_status = lgdt3305_read_status,
.read_ber = lgdt3305_read_ber,
.init = lgdt3305_init,
.sleep = lgdt3305_sleep,
.set_frontend_legacy = lgdt3305_set_parameters,
- .get_frontend = lgdt3305_get_frontend,
+ .get_frontend_legacy = lgdt3305_get_frontend,
.get_tune_settings = lgdt3305_get_tune_settings,
.read_status = lgdt3305_read_status,
.read_ber = lgdt3305_read_ber,
},
.init = lgdt330x_init,
.set_frontend_legacy = lgdt330x_set_parameters,
- .get_frontend = lgdt330x_get_frontend,
+ .get_frontend_legacy = lgdt330x_get_frontend,
.get_tune_settings = lgdt330x_get_tune_settings,
.read_status = lgdt3302_read_status,
.read_ber = lgdt330x_read_ber,
},
.init = lgdt330x_init,
.set_frontend_legacy = lgdt330x_set_parameters,
- .get_frontend = lgdt330x_get_frontend,
+ .get_frontend_legacy = lgdt330x_get_frontend,
.get_tune_settings = lgdt330x_get_tune_settings,
.read_status = lgdt3303_read_status,
.read_ber = lgdt330x_read_ber,
.init = lgs8gl5_init,
.set_frontend_legacy = lgs8gl5_set_frontend,
- .get_frontend = lgs8gl5_get_frontend,
+ .get_frontend_legacy = lgs8gl5_get_frontend,
.get_tune_settings = lgs8gl5_get_tune_settings,
.read_status = lgs8gl5_read_status,
.i2c_gate_ctrl = lgs8gxx_i2c_gate_ctrl,
.set_frontend_legacy = lgs8gxx_set_fe,
- .get_frontend = lgs8gxx_get_fe,
+ .get_frontend_legacy = lgs8gxx_get_fe,
.get_tune_settings = lgs8gxx_get_tune_settings,
.read_status = lgs8gxx_read_status,
.init = mb86a20s_initfe,
.set_frontend_legacy = mb86a20s_set_frontend,
- .get_frontend = mb86a20s_get_frontend,
+ .get_frontend_legacy = mb86a20s_get_frontend,
.read_status = mb86a20s_read_status,
.read_signal_strength = mb86a20s_read_signal_strength,
.tune = mb86a20s_tune,
.i2c_gate_ctrl = mt312_i2c_gate_ctrl,
.set_frontend_legacy = mt312_set_frontend,
- .get_frontend = mt312_get_frontend,
+ .get_frontend_legacy = mt312_get_frontend,
.get_tune_settings = mt312_get_tune_settings,
.read_status = mt312_read_status,
.write = _mt352_write,
.set_frontend_legacy = mt352_set_parameters,
- .get_frontend = mt352_get_parameters,
+ .get_frontend_legacy = mt352_get_parameters,
.get_tune_settings = mt352_get_tune_settings,
.read_status = mt352_read_status,
.sleep = or51132_sleep,
.set_frontend_legacy = or51132_set_parameters,
- .get_frontend = or51132_get_parameters,
+ .get_frontend_legacy = or51132_get_parameters,
.get_tune_settings = or51132_get_tune_settings,
.read_status = or51132_read_status,
.init = s5h1409_init,
.i2c_gate_ctrl = s5h1409_i2c_gate_ctrl,
.set_frontend_legacy = s5h1409_set_frontend,
- .get_frontend = s5h1409_get_frontend,
+ .get_frontend_legacy = s5h1409_get_frontend,
.get_tune_settings = s5h1409_get_tune_settings,
.read_status = s5h1409_read_status,
.read_ber = s5h1409_read_ber,
.sleep = s5h1411_sleep,
.i2c_gate_ctrl = s5h1411_i2c_gate_ctrl,
.set_frontend_legacy = s5h1411_set_frontend,
- .get_frontend = s5h1411_get_frontend,
+ .get_frontend_legacy = s5h1411_get_frontend,
.get_tune_settings = s5h1411_get_tune_settings,
.read_status = s5h1411_read_status,
.read_ber = s5h1411_read_ber,
.i2c_gate_ctrl = s5h1420_i2c_gate_ctrl,
.set_frontend_legacy = s5h1420_set_frontend,
- .get_frontend = s5h1420_get_frontend,
+ .get_frontend_legacy = s5h1420_get_frontend,
.get_tune_settings = s5h1420_get_tune_settings,
.read_status = s5h1420_read_status,
.init = s5h1432_init,
.sleep = s5h1432_sleep,
.set_frontend_legacy = s5h1432_set_frontend,
- .get_frontend = s5h1432_get_frontend,
+ .get_frontend_legacy = s5h1432_get_frontend,
.get_tune_settings = s5h1432_get_tune_settings,
.read_status = s5h1432_read_status,
.read_ber = s5h1432_read_ber,
.init = s921_initfe,
.set_frontend_legacy = s921_set_frontend,
- .get_frontend = s921_get_frontend,
+ .get_frontend_legacy = s921_get_frontend,
.read_status = s921_read_status,
.read_signal_strength = s921_read_signal_strength,
.tune = s921_tune,
.get_frontend_algo = stb0899_frontend_algo,
.search = stb0899_search,
.track = stb0899_track,
- .get_frontend = stb0899_get_frontend,
+ .get_frontend_legacy = stb0899_get_frontend,
.read_status = stb0899_read_status,
dprintk(verbose, FE_DEBUG, 1, "Version 2010-8-14 13:51");
- if (fe->ops.get_frontend) {
+ if (fe->ops.get_frontend_legacy) {
dprintk(verbose, FE_DEBUG, 1, "Get frontend parameters");
- fe->ops.get_frontend(fe, &p);
+ fe->ops.get_frontend_legacy(fe, &p);
}
srate = p.u.qpsk.symbol_rate;
.i2c_gate_ctrl = stv0297_i2c_gate_ctrl,
.set_frontend_legacy = stv0297_set_frontend,
- .get_frontend = stv0297_get_frontend,
+ .get_frontend_legacy = stv0297_get_frontend,
.read_status = stv0297_read_status,
.read_ber = stv0297_read_ber,
.i2c_gate_ctrl = stv0299_i2c_gate_ctrl,
.set_frontend_legacy = stv0299_set_frontend,
- .get_frontend = stv0299_get_frontend,
+ .get_frontend_legacy = stv0299_get_frontend,
.get_tune_settings = stv0299_get_tune_settings,
.read_status = stv0299_read_status,
.sleep = stv0367ter_sleep,
.i2c_gate_ctrl = stv0367ter_gate_ctrl,
.set_frontend_legacy = stv0367ter_set_frontend,
- .get_frontend = stv0367ter_get_frontend,
+ .get_frontend_legacy = stv0367ter_get_frontend,
.get_tune_settings = stv0367_get_tune_settings,
.read_status = stv0367ter_read_status,
.read_ber = stv0367ter_read_ber,/* too slow */
.sleep = stv0367cab_sleep,
.i2c_gate_ctrl = stv0367cab_gate_ctrl,
.set_frontend_legacy = stv0367cab_set_frontend,
- .get_frontend = stv0367cab_get_frontend,
+ .get_frontend_legacy = stv0367cab_get_frontend,
.read_status = stv0367cab_read_status,
/* .read_ber = stv0367cab_read_ber, */
.read_signal_strength = stv0367cab_read_strength,
},
.release = stv0900_release,
.init = stv0900_init,
- .get_frontend = stv0900_get_frontend,
+ .get_frontend_legacy = stv0900_get_frontend,
.sleep = stv0900_sleep,
.get_frontend_algo = stv0900_frontend_algo,
.i2c_gate_ctrl = stv0900_i2c_gate_ctrl,
.i2c_gate_ctrl = tda10021_i2c_gate_ctrl,
.set_frontend_legacy = tda10021_set_parameters,
- .get_frontend = tda10021_get_frontend,
+ .get_frontend_legacy = tda10021_get_frontend,
.get_property = tda10021_get_property,
.read_status = tda10021_read_status,
.i2c_gate_ctrl = tda10023_i2c_gate_ctrl,
.set_frontend_legacy = tda10023_set_parameters,
- .get_frontend = tda10023_get_frontend,
+ .get_frontend_legacy = tda10023_get_frontend,
.get_property = tda10023_get_property,
.read_status = tda10023_read_status,
.read_ber = tda10023_read_ber,
.init = tda10048_init,
.i2c_gate_ctrl = tda10048_i2c_gate_ctrl,
.set_frontend_legacy = tda10048_set_frontend,
- .get_frontend = tda10048_get_frontend,
+ .get_frontend_legacy = tda10048_get_frontend,
.get_tune_settings = tda10048_get_tune_settings,
.read_status = tda10048_read_status,
.read_ber = tda10048_read_ber,
.i2c_gate_ctrl = tda1004x_i2c_gate_ctrl,
.set_frontend_legacy = tda1004x_set_fe,
- .get_frontend = tda1004x_get_fe,
+ .get_frontend_legacy = tda1004x_get_fe,
.get_tune_settings = tda1004x_get_tune_settings,
.read_status = tda1004x_read_status,
.i2c_gate_ctrl = tda1004x_i2c_gate_ctrl,
.set_frontend_legacy = tda1004x_set_fe,
- .get_frontend = tda1004x_get_fe,
+ .get_frontend_legacy = tda1004x_get_fe,
.get_tune_settings = tda1004x_get_tune_settings,
.read_status = tda1004x_read_status,
.sleep = tda10071_sleep,
.set_frontend_legacy = tda10071_set_frontend,
- .get_frontend = tda10071_get_frontend,
+ .get_frontend_legacy = tda10071_get_frontend,
.read_status = tda10071_read_status,
.read_snr = tda10071_read_snr,
.i2c_gate_ctrl = tda10086_i2c_gate_ctrl,
.set_frontend_legacy = tda10086_set_frontend,
- .get_frontend = tda10086_get_frontend,
+ .get_frontend_legacy = tda10086_get_frontend,
.get_tune_settings = tda10086_get_tune_settings,
.read_status = tda10086_read_status,
.sleep = tda8083_sleep,
.set_frontend_legacy = tda8083_set_frontend,
- .get_frontend = tda8083_get_frontend,
+ .get_frontend_legacy = tda8083_get_frontend,
.read_status = tda8083_read_status,
.read_signal_strength = tda8083_read_signal_strength,
.sleep = ves1820_sleep,
.set_frontend_legacy = ves1820_set_parameters,
- .get_frontend = ves1820_get_frontend,
+ .get_frontend_legacy = ves1820_get_frontend,
.get_tune_settings = ves1820_get_tune_settings,
.read_status = ves1820_read_status,
.i2c_gate_ctrl = ves1x93_i2c_gate_ctrl,
.set_frontend_legacy = ves1x93_set_frontend,
- .get_frontend = ves1x93_get_frontend,
+ .get_frontend_legacy = ves1x93_get_frontend,
.read_status = ves1x93_read_status,
.read_ber = ves1x93_read_ber,
.write = zl10353_write,
.set_frontend_legacy = zl10353_set_parameters,
- .get_frontend = zl10353_get_parameters,
+ .get_frontend_legacy = zl10353_get_parameters,
.get_tune_settings = zl10353_get_tune_settings,
.read_status = zl10353_read_status,
.release = smsdvb_release,
.set_frontend_legacy = smsdvb_set_frontend,
- .get_frontend = smsdvb_get_frontend,
+ .get_frontend_legacy = smsdvb_get_frontend,
.get_tune_settings = smsdvb_get_tune_settings,
.read_status = smsdvb_read_status,
.sleep = poseidon_fe_sleep,
.set_frontend_legacy = poseidon_set_fe,
- .get_frontend = poseidon_get_fe,
+ .get_frontend_legacy = poseidon_get_fe,
.get_tune_settings = poseidon_fe_get_tune_settings,
.read_status = poseidon_read_status,
},
.set_frontend_legacy = as102_fe_set_frontend,
- .get_frontend = as102_fe_get_frontend,
+ .get_frontend_legacy = as102_fe_get_frontend,
.get_tune_settings = as102_fe_get_tune_settings,
.read_status = as102_fe_read_status,