mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 09:44:18 +08:00
[media] dvb: don't require a parameter for get_frontend
Just like set_frontend, use the dvb cache properties for get_frontend. This is more consistent, as both functions are now symetric. Also, at the places get_frontend is called, it makes sense to update the cache. Most of this patch were generated by this small perl script: while (<>) { $file .= $_; } if ($file =~ m/\.get_frontend\s*=\s*([\d\w_]+)/) { my $get = $1; $file =~ s/($get)(\s*\([^\,\)]+)\,\s*struct\s+dtv_frontend_properties\s*\*\s*([_\d\w]+)\)\s*\{/\1\2)\n{\n\tstruct dtv_frontend_properties *\3 = &fe->dtv_property_cache;/g; } print $file; Of course, the changes at dvb_frontend.[ch] were made by hand, as well as the changes on a few other places, where get_frontend() is called internally inside the driver. On some places, get_frontend() were just a void function. Those occurrences were removed, as the DVB core handles such cases. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
ac3852c41b
commit
7c61d80a9b
@ -1685,8 +1685,9 @@ static int dst_get_tuning_algo(struct dvb_frontend *fe)
|
||||
return dst_algo ? DVBFE_ALGO_HW : DVBFE_ALGO_SW;
|
||||
}
|
||||
|
||||
static int dst_get_frontend(struct dvb_frontend *fe, struct dtv_frontend_properties *p)
|
||||
static int dst_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct dst_state *state = fe->demodulator_priv;
|
||||
|
||||
p->frequency = state->decode_freq;
|
||||
|
@ -143,7 +143,6 @@ struct dvb_frontend_private {
|
||||
|
||||
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)
|
||||
@ -161,7 +160,7 @@ static void dvb_frontend_add_event(struct dvb_frontend *fe, fe_status_t status)
|
||||
dprintk ("%s\n", __func__);
|
||||
|
||||
if ((status & FE_HAS_LOCK) && has_get_frontend(fe))
|
||||
dtv_get_frontend(fe, NULL, &fepriv->parameters_out);
|
||||
dtv_get_frontend(fe, &fepriv->parameters_out);
|
||||
|
||||
mutex_lock(&events->mtx);
|
||||
|
||||
@ -1261,33 +1260,20 @@ static void dtv_property_cache_submit(struct dvb_frontend *fe)
|
||||
* 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_params = (p_out != NULL);
|
||||
int r;
|
||||
|
||||
if (!p_out)
|
||||
p_out = &tmp_out;
|
||||
|
||||
if (!c)
|
||||
c = &tmp_cache;
|
||||
else
|
||||
memcpy(c, cache, sizeof(*c));
|
||||
|
||||
if (fe->ops.get_frontend) {
|
||||
r = fe->ops.get_frontend(fe, c);
|
||||
r = fe->ops.get_frontend(fe);
|
||||
if (unlikely(r < 0))
|
||||
return r;
|
||||
if (fill_params)
|
||||
if (p_out)
|
||||
dtv_property_legacy_params_sync(fe, p_out);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* As everything is in cache, this is always supported */
|
||||
/* As everything is in cache, get_frontend fops are always supported */
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1717,8 +1703,6 @@ static int dvb_frontend_ioctl_properties(struct file *file,
|
||||
|
||||
} else
|
||||
if(cmd == FE_GET_PROPERTY) {
|
||||
struct dtv_frontend_properties cache_out;
|
||||
|
||||
tvps = (struct dtv_properties __user *)parg;
|
||||
|
||||
dprintk("%s() properties.num = %d\n", __func__, tvps->num);
|
||||
@ -1744,9 +1728,9 @@ static int dvb_frontend_ioctl_properties(struct file *file,
|
||||
* Fills the cache out struct with the cache contents, plus
|
||||
* the data retrieved from get_frontend.
|
||||
*/
|
||||
dtv_get_frontend(fe, &cache_out, NULL);
|
||||
dtv_get_frontend(fe, NULL);
|
||||
for (i = 0; i < tvps->num; i++) {
|
||||
err = dtv_property_process_get(fe, &cache_out, tvp + i, file);
|
||||
err = dtv_property_process_get(fe, c, tvp + i, file);
|
||||
if (err < 0)
|
||||
goto out;
|
||||
(tvp + i)->result = err;
|
||||
@ -2043,7 +2027,7 @@ static int dvb_frontend_ioctl_legacy(struct file *file,
|
||||
break;
|
||||
|
||||
case FE_GET_FRONTEND:
|
||||
err = dtv_get_frontend(fe, NULL, &fepriv->parameters_out);
|
||||
err = dtv_get_frontend(fe, &fepriv->parameters_out);
|
||||
if (err >= 0)
|
||||
memcpy(parg, &fepriv->parameters_out,
|
||||
sizeof(struct dvb_frontend_parameters));
|
||||
|
@ -284,7 +284,7 @@ struct dvb_frontend_ops {
|
||||
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 dtv_frontend_properties *props);
|
||||
int (*get_frontend)(struct dvb_frontend *fe);
|
||||
|
||||
int (*read_status)(struct dvb_frontend* fe, fe_status_t* status);
|
||||
int (*read_ber)(struct dvb_frontend* fe, u32* ber);
|
||||
|
@ -1226,9 +1226,9 @@ static int af9005_fe_set_frontend(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int af9005_fe_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *fep)
|
||||
static int af9005_fe_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *fep = &fe->dtv_property_cache;
|
||||
struct af9005_fe_state *state = fe->demodulator_priv;
|
||||
int ret;
|
||||
u8 temp;
|
||||
|
@ -296,12 +296,6 @@ static int cinergyt2_fe_set_frontend(struct dvb_frontend *fe)
|
||||
return (err < 0) ? err : 0;
|
||||
}
|
||||
|
||||
static int cinergyt2_fe_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *fep)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void cinergyt2_fe_release(struct dvb_frontend *fe)
|
||||
{
|
||||
struct cinergyt2_fe_state *state = fe->demodulator_priv;
|
||||
@ -352,7 +346,6 @@ static struct dvb_frontend_ops cinergyt2_fe_ops = {
|
||||
.sleep = cinergyt2_fe_sleep,
|
||||
|
||||
.set_frontend = cinergyt2_fe_set_frontend,
|
||||
.get_frontend = cinergyt2_fe_get_frontend,
|
||||
.get_tune_settings = cinergyt2_fe_get_tune_settings,
|
||||
|
||||
.read_status = cinergyt2_fe_read_status,
|
||||
|
@ -139,9 +139,9 @@ static int dtt200u_fe_set_frontend(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int dtt200u_fe_get_frontend(struct dvb_frontend* fe,
|
||||
struct dtv_frontend_properties *fep)
|
||||
static int dtt200u_fe_get_frontend(struct dvb_frontend* fe)
|
||||
{
|
||||
struct dtv_frontend_properties *fep = &fe->dtv_property_cache;
|
||||
struct dtt200u_fe_state *state = fe->demodulator_priv;
|
||||
memcpy(fep, &state->fep, sizeof(struct dtv_frontend_properties));
|
||||
return 0;
|
||||
|
@ -282,9 +282,9 @@ static int jdvbt90502_set_property(struct dvb_frontend *fe,
|
||||
return r;
|
||||
}
|
||||
|
||||
static int jdvbt90502_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *p)
|
||||
static int jdvbt90502_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
p->inversion = INVERSION_AUTO;
|
||||
p->bandwidth_hz = 6000000;
|
||||
p->code_rate_HP = FEC_AUTO;
|
||||
|
@ -507,9 +507,9 @@ static int mxl111sf_demod_read_signal_strength(struct dvb_frontend *fe,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mxl111sf_demod_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *p)
|
||||
static int mxl111sf_demod_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct mxl111sf_demod_state *state = fe->demodulator_priv;
|
||||
|
||||
mxl_dbg("()");
|
||||
|
@ -211,13 +211,6 @@ static int vp702x_fe_sleep(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int vp702x_fe_get_frontend(struct dvb_frontend* fe,
|
||||
struct dtv_frontend_properties *fep)
|
||||
{
|
||||
deb_fe("%s\n",__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int vp702x_fe_send_diseqc_msg (struct dvb_frontend* fe,
|
||||
struct dvb_diseqc_master_cmd *m)
|
||||
{
|
||||
@ -372,7 +365,6 @@ static struct dvb_frontend_ops vp702x_fe_ops = {
|
||||
.sleep = vp702x_fe_sleep,
|
||||
|
||||
.set_frontend = vp702x_fe_set_frontend,
|
||||
.get_frontend = vp702x_fe_get_frontend,
|
||||
.get_tune_settings = vp702x_fe_get_tune_settings,
|
||||
|
||||
.read_status = vp702x_fe_read_status,
|
||||
|
@ -149,22 +149,6 @@ static int fdtv_set_frontend(struct dvb_frontend *fe)
|
||||
return avc_tuner_dsd(fdtv, p);
|
||||
}
|
||||
|
||||
static int fdtv_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *params)
|
||||
{
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
static int fdtv_get_property(struct dvb_frontend *fe, struct dtv_property *tvp)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int fdtv_set_property(struct dvb_frontend *fe, struct dtv_property *tvp)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void fdtv_frontend_init(struct firedtv *fdtv, const char *name)
|
||||
{
|
||||
struct dvb_frontend_ops *ops = &fdtv->fe.ops;
|
||||
@ -174,10 +158,6 @@ void fdtv_frontend_init(struct firedtv *fdtv, const char *name)
|
||||
ops->sleep = fdtv_sleep;
|
||||
|
||||
ops->set_frontend = fdtv_set_frontend;
|
||||
ops->get_frontend = fdtv_get_frontend;
|
||||
|
||||
ops->get_property = fdtv_get_property;
|
||||
ops->set_property = fdtv_set_property;
|
||||
|
||||
ops->read_status = fdtv_read_status;
|
||||
ops->read_ber = fdtv_read_ber;
|
||||
|
@ -845,9 +845,9 @@ err:
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int af9013_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *c)
|
||||
static int af9013_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *c = &fe->dtv_property_cache;
|
||||
struct af9013_state *state = fe->demodulator_priv;
|
||||
int ret;
|
||||
u8 buf[3];
|
||||
|
@ -297,9 +297,9 @@ static int atbm8830_set_fe(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int atbm8830_get_fe(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *c)
|
||||
static int atbm8830_get_fe(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *c = &fe->dtv_property_cache;
|
||||
dprintk("%s\n", __func__);
|
||||
|
||||
/* TODO: get real readings from device */
|
||||
|
@ -911,9 +911,9 @@ static int au8522_read_ber(struct dvb_frontend *fe, u32 *ber)
|
||||
return au8522_read_ucblocks(fe, ber);
|
||||
}
|
||||
|
||||
static int au8522_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *c)
|
||||
static int au8522_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *c = &fe->dtv_property_cache;
|
||||
struct au8522_state *state = fe->demodulator_priv;
|
||||
|
||||
c->frequency = state->current_frequency;
|
||||
|
@ -341,9 +341,9 @@ static int cx22700_set_frontend(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int cx22700_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *c)
|
||||
static int cx22700_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *c = &fe->dtv_property_cache;
|
||||
struct cx22700_state* state = fe->demodulator_priv;
|
||||
u8 reg09 = cx22700_readreg (state, 0x09);
|
||||
|
||||
|
@ -546,9 +546,9 @@ static int cx22702_read_ucblocks(struct dvb_frontend *fe, u32 *ucblocks)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int cx22702_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *c)
|
||||
static int cx22702_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *c = &fe->dtv_property_cache;
|
||||
struct cx22702_state *state = fe->demodulator_priv;
|
||||
|
||||
u8 reg0C = cx22702_readreg(state, 0x0C);
|
||||
|
@ -549,9 +549,9 @@ static int cx24110_set_frontend(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int cx24110_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *p)
|
||||
static int cx24110_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct cx24110_state *state = fe->demodulator_priv;
|
||||
s32 afc; unsigned sclk;
|
||||
|
||||
|
@ -959,9 +959,9 @@ static int cx24123_set_frontend(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int cx24123_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *p)
|
||||
static int cx24123_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct cx24123_state *state = fe->demodulator_priv;
|
||||
|
||||
dprintk("\n");
|
||||
|
@ -307,8 +307,7 @@ static int cxd2820r_read_status(struct dvb_frontend *fe, fe_status_t *status)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int cxd2820r_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *c)
|
||||
static int cxd2820r_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
int ret;
|
||||
|
||||
|
@ -112,8 +112,7 @@ static u16 dib3000_seq[2][2][2] = /* fft,gua, inv */
|
||||
}
|
||||
};
|
||||
|
||||
static int dib3000mb_get_frontend(struct dvb_frontend* fe,
|
||||
struct dtv_frontend_properties *c);
|
||||
static int dib3000mb_get_frontend(struct dvb_frontend* fe);
|
||||
|
||||
static int dib3000mb_set_frontend(struct dvb_frontend *fe, int tuner)
|
||||
{
|
||||
@ -360,7 +359,7 @@ static int dib3000mb_set_frontend(struct dvb_frontend *fe, int tuner)
|
||||
deb_setf("search_state after autosearch %d after %d checks\n",search_state,as_count);
|
||||
|
||||
if (search_state == 1) {
|
||||
if (dib3000mb_get_frontend(fe, c) == 0) {
|
||||
if (dib3000mb_get_frontend(fe) == 0) {
|
||||
deb_setf("reading tuning data from frontend succeeded.\n");
|
||||
return dib3000mb_set_frontend(fe, 0);
|
||||
}
|
||||
@ -451,9 +450,9 @@ static int dib3000mb_fe_init(struct dvb_frontend* fe, int mobile_mode)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int dib3000mb_get_frontend(struct dvb_frontend* fe,
|
||||
struct dtv_frontend_properties *c)
|
||||
static int dib3000mb_get_frontend(struct dvb_frontend* fe)
|
||||
{
|
||||
struct dtv_frontend_properties *c = &fe->dtv_property_cache;
|
||||
struct dib3000_state* state = fe->demodulator_priv;
|
||||
fe_code_rate_t *cr;
|
||||
u16 tps_val;
|
||||
|
@ -632,9 +632,9 @@ struct i2c_adapter * dib3000mc_get_tuner_i2c_master(struct dvb_frontend *demod,
|
||||
|
||||
EXPORT_SYMBOL(dib3000mc_get_tuner_i2c_master);
|
||||
|
||||
static int dib3000mc_get_frontend(struct dvb_frontend* fe,
|
||||
struct dtv_frontend_properties *fep)
|
||||
static int dib3000mc_get_frontend(struct dvb_frontend* fe)
|
||||
{
|
||||
struct dtv_frontend_properties *fep = &fe->dtv_property_cache;
|
||||
struct dib3000mc_state *state = fe->demodulator_priv;
|
||||
u16 tps = dib3000mc_read_word(state,458);
|
||||
|
||||
@ -689,7 +689,7 @@ static int dib3000mc_get_frontend(struct dvb_frontend* fe,
|
||||
|
||||
static int dib3000mc_set_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *fep = &fe->dtv_property_cache, tmp;
|
||||
struct dtv_frontend_properties *fep = &fe->dtv_property_cache;
|
||||
struct dib3000mc_state *state = fe->demodulator_priv;
|
||||
int ret;
|
||||
|
||||
@ -712,8 +712,6 @@ static int dib3000mc_set_frontend(struct dvb_frontend *fe)
|
||||
fep->code_rate_HP == FEC_AUTO) {
|
||||
int i = 1000, found;
|
||||
|
||||
tmp = *fep;
|
||||
|
||||
dib3000mc_autosearch_start(fe);
|
||||
do {
|
||||
msleep(1);
|
||||
@ -724,7 +722,7 @@ static int dib3000mc_set_frontend(struct dvb_frontend *fe)
|
||||
if (found == 0 || found == 1)
|
||||
return 0; // no channel found
|
||||
|
||||
dib3000mc_get_frontend(fe, &tmp);
|
||||
dib3000mc_get_frontend(fe);
|
||||
}
|
||||
|
||||
ret = dib3000mc_tune(fe);
|
||||
|
@ -1154,9 +1154,9 @@ static int dib7000m_identify(struct dib7000m_state *state)
|
||||
}
|
||||
|
||||
|
||||
static int dib7000m_get_frontend(struct dvb_frontend* fe,
|
||||
struct dtv_frontend_properties *fep)
|
||||
static int dib7000m_get_frontend(struct dvb_frontend* fe)
|
||||
{
|
||||
struct dtv_frontend_properties *fep = &fe->dtv_property_cache;
|
||||
struct dib7000m_state *state = fe->demodulator_priv;
|
||||
u16 tps = dib7000m_read_word(state,480);
|
||||
|
||||
@ -1214,7 +1214,7 @@ static int dib7000m_get_frontend(struct dvb_frontend* fe,
|
||||
|
||||
static int dib7000m_set_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *fep = &fe->dtv_property_cache, tmp;
|
||||
struct dtv_frontend_properties *fep = &fe->dtv_property_cache;
|
||||
struct dib7000m_state *state = fe->demodulator_priv;
|
||||
int time, ret;
|
||||
|
||||
@ -1239,8 +1239,6 @@ static int dib7000m_set_frontend(struct dvb_frontend *fe)
|
||||
fep->code_rate_HP == FEC_AUTO) {
|
||||
int i = 800, found;
|
||||
|
||||
tmp = *fep;
|
||||
|
||||
dib7000m_autosearch_start(fe);
|
||||
do {
|
||||
msleep(1);
|
||||
@ -1251,7 +1249,7 @@ static int dib7000m_set_frontend(struct dvb_frontend *fe)
|
||||
if (found == 0 || found == 1)
|
||||
return 0; // no channel found
|
||||
|
||||
dib7000m_get_frontend(fe, &tmp);
|
||||
dib7000m_get_frontend(fe);
|
||||
}
|
||||
|
||||
ret = dib7000m_tune(fe);
|
||||
|
@ -1384,9 +1384,9 @@ static int dib7000p_identify(struct dib7000p_state *st)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int dib7000p_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *fep)
|
||||
static int dib7000p_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *fep = &fe->dtv_property_cache;
|
||||
struct dib7000p_state *state = fe->demodulator_priv;
|
||||
u16 tps = dib7000p_read_word(state, 463);
|
||||
|
||||
@ -1482,7 +1482,7 @@ static int dib7000p_get_frontend(struct dvb_frontend *fe,
|
||||
|
||||
static int dib7000p_set_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *fep = &fe->dtv_property_cache, tmp;
|
||||
struct dtv_frontend_properties *fep = &fe->dtv_property_cache;
|
||||
struct dib7000p_state *state = fe->demodulator_priv;
|
||||
int time, ret;
|
||||
|
||||
@ -1509,7 +1509,6 @@ static int dib7000p_set_frontend(struct dvb_frontend *fe)
|
||||
fep->guard_interval == GUARD_INTERVAL_AUTO || fep->modulation == QAM_AUTO || fep->code_rate_HP == FEC_AUTO) {
|
||||
int i = 800, found;
|
||||
|
||||
tmp = *fep;
|
||||
dib7000p_autosearch_start(fe);
|
||||
do {
|
||||
msleep(1);
|
||||
@ -1520,7 +1519,7 @@ static int dib7000p_set_frontend(struct dvb_frontend *fe)
|
||||
if (found == 0 || found == 1)
|
||||
return 0;
|
||||
|
||||
dib7000p_get_frontend(fe, &tmp);
|
||||
dib7000p_get_frontend(fe);
|
||||
}
|
||||
|
||||
ret = dib7000p_tune(fe);
|
||||
|
@ -2810,7 +2810,7 @@ int dib8000_set_tune_state(struct dvb_frontend *fe, enum frontend_tune_state tun
|
||||
}
|
||||
EXPORT_SYMBOL(dib8000_set_tune_state);
|
||||
|
||||
static int dib8000_get_frontend(struct dvb_frontend *fe, struct dtv_frontend_properties *c)
|
||||
static int dib8000_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dib8000_state *state = fe->demodulator_priv;
|
||||
u16 i, val = 0;
|
||||
@ -2824,7 +2824,7 @@ static int dib8000_get_frontend(struct dvb_frontend *fe, struct dtv_frontend_pro
|
||||
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], c);
|
||||
state->fe[index_frontend]->ops.get_frontend(state->fe[index_frontend]);
|
||||
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;
|
||||
@ -3088,7 +3088,7 @@ static int dib8000_set_frontend(struct dvb_frontend *fe)
|
||||
|
||||
dprintk("tune success on frontend%i", index_frontend_success);
|
||||
|
||||
dib8000_get_frontend(fe, &state->fe[0]->dtv_property_cache);
|
||||
dib8000_get_frontend(fe);
|
||||
}
|
||||
|
||||
for (index_frontend = 0, ret = 0; (ret >= 0) && (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++)
|
||||
|
@ -1867,7 +1867,7 @@ static int dib9000_fe_get_tune_settings(struct dvb_frontend *fe, struct dvb_fron
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int dib9000_get_frontend(struct dvb_frontend *fe, struct dtv_frontend_properties *c)
|
||||
static int dib9000_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dib9000_state *state = fe->demodulator_priv;
|
||||
u8 index_frontend, sub_index_frontend;
|
||||
@ -1883,7 +1883,7 @@ static int dib9000_get_frontend(struct dvb_frontend *fe, struct dtv_frontend_pro
|
||||
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], c);
|
||||
state->fe[index_frontend]->ops.get_frontend(state->fe[index_frontend]);
|
||||
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) {
|
||||
@ -2054,7 +2054,7 @@ static int dib9000_set_frontend(struct dvb_frontend *fe)
|
||||
|
||||
/* synchronize all the channel cache */
|
||||
state->get_frontend_internal = 1;
|
||||
dib9000_get_frontend(state->fe[0], &state->fe[0]->dtv_property_cache);
|
||||
dib9000_get_frontend(state->fe[0]);
|
||||
state->get_frontend_internal = 0;
|
||||
|
||||
/* retune the other frontends with the found channel */
|
||||
|
@ -68,8 +68,10 @@ static int dvb_dummy_fe_read_ucblocks(struct dvb_frontend* fe, u32* ucblocks)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int dvb_dummy_fe_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *c)
|
||||
/*
|
||||
* Only needed if it actually reads something from the hardware
|
||||
*/
|
||||
static int dvb_dummy_fe_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
@ -572,9 +572,9 @@ static int it913x_fe_read_ucblocks(struct dvb_frontend *fe, u32 *ucblocks)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int it913x_fe_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *p)
|
||||
static int it913x_fe_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct it913x_fe_state *state = fe->demodulator_priv;
|
||||
int ret;
|
||||
u8 reg[8];
|
||||
|
@ -243,9 +243,9 @@ static int apply_frontend_param(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *p)
|
||||
static int get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct l64781_state* state = fe->demodulator_priv;
|
||||
int tmp;
|
||||
|
||||
|
@ -813,9 +813,9 @@ fail:
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int lgdt3305_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *p)
|
||||
static int lgdt3305_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct lgdt3305_state *state = fe->demodulator_priv;
|
||||
|
||||
lg_dbg("\n");
|
||||
|
@ -437,9 +437,9 @@ static int lgdt330x_set_parameters(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int lgdt330x_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *p)
|
||||
static int lgdt330x_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct lgdt330x_state *state = fe->demodulator_priv;
|
||||
p->frequency = state->current_frequency;
|
||||
return 0;
|
||||
|
@ -336,9 +336,9 @@ lgs8gl5_set_frontend(struct dvb_frontend *fe)
|
||||
|
||||
|
||||
static int
|
||||
lgs8gl5_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *p)
|
||||
lgs8gl5_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct lgs8gl5_state *state = fe->demodulator_priv;
|
||||
u8 inv = lgs8gl5_read_reg(state, REG_INVERSION);
|
||||
|
||||
|
@ -691,9 +691,9 @@ static int lgs8gxx_set_fe(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int lgs8gxx_get_fe(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *fe_params)
|
||||
static int lgs8gxx_get_fe(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *fe_params = &fe->dtv_property_cache;
|
||||
dprintk("%s\n", __func__);
|
||||
|
||||
/* TODO: get real readings from device */
|
||||
|
@ -525,9 +525,9 @@ static int mb86a20s_set_frontend(struct dvb_frontend *fe)
|
||||
return rc;
|
||||
}
|
||||
|
||||
static int mb86a20s_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *p)
|
||||
static int mb86a20s_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
|
||||
/* FIXME: For now, it does nothing */
|
||||
|
||||
|
@ -636,9 +636,9 @@ static int mt312_set_frontend(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mt312_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *p)
|
||||
static int mt312_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct mt312_state *state = fe->demodulator_priv;
|
||||
int ret;
|
||||
|
||||
|
@ -311,9 +311,9 @@ static int mt352_set_parameters(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mt352_get_parameters(struct dvb_frontend* fe,
|
||||
struct dtv_frontend_properties *op)
|
||||
static int mt352_get_parameters(struct dvb_frontend* fe)
|
||||
{
|
||||
struct dtv_frontend_properties *op = &fe->dtv_property_cache;
|
||||
struct mt352_state* state = fe->demodulator_priv;
|
||||
u16 tps;
|
||||
u16 div;
|
||||
|
@ -375,9 +375,9 @@ static int or51132_set_parameters(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int or51132_get_parameters(struct dvb_frontend* fe,
|
||||
struct dtv_frontend_properties *p)
|
||||
static int or51132_get_parameters(struct dvb_frontend* fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct or51132_state* state = fe->demodulator_priv;
|
||||
int status;
|
||||
int retry = 1;
|
||||
|
@ -925,9 +925,9 @@ static int s5h1409_read_ber(struct dvb_frontend *fe, u32 *ber)
|
||||
return s5h1409_read_ucblocks(fe, ber);
|
||||
}
|
||||
|
||||
static int s5h1409_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *p)
|
||||
static int s5h1409_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct s5h1409_state *state = fe->demodulator_priv;
|
||||
|
||||
p->frequency = state->current_frequency;
|
||||
|
@ -840,9 +840,9 @@ static int s5h1411_read_ber(struct dvb_frontend *fe, u32 *ber)
|
||||
return s5h1411_read_ucblocks(fe, ber);
|
||||
}
|
||||
|
||||
static int s5h1411_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *p)
|
||||
static int s5h1411_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct s5h1411_state *state = fe->demodulator_priv;
|
||||
|
||||
p->frequency = state->current_frequency;
|
||||
|
@ -765,9 +765,9 @@ static int s5h1420_set_frontend(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int s5h1420_get_frontend(struct dvb_frontend* fe,
|
||||
struct dtv_frontend_properties *p)
|
||||
static int s5h1420_get_frontend(struct dvb_frontend* fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct s5h1420_state* state = fe->demodulator_priv;
|
||||
|
||||
p->frequency = state->tunedfreq + s5h1420_getfreqoffset(state);
|
||||
|
@ -433,9 +433,9 @@ static int s921_set_frontend(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int s921_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *p)
|
||||
static int s921_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct s921_state *state = fe->demodulator_priv;
|
||||
|
||||
/* FIXME: Probably it is possible to get it from regs f1 and f2 */
|
||||
|
@ -1569,8 +1569,9 @@ static enum dvbfe_search stb0899_search(struct dvb_frontend *fe)
|
||||
return DVBFE_ALGO_SEARCH_ERROR;
|
||||
}
|
||||
|
||||
static int stb0899_get_frontend(struct dvb_frontend *fe, struct dtv_frontend_properties *p)
|
||||
static int stb0899_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct stb0899_state *state = fe->demodulator_priv;
|
||||
struct stb0899_internal *internal = &state->internal;
|
||||
|
||||
|
@ -337,7 +337,7 @@ static int stb6100_set_frequency(struct dvb_frontend *fe, u32 frequency)
|
||||
|
||||
if (fe->ops.get_frontend) {
|
||||
dprintk(verbose, FE_DEBUG, 1, "Get frontend parameters");
|
||||
fe->ops.get_frontend(fe, &p);
|
||||
fe->ops.get_frontend(fe);
|
||||
}
|
||||
srate = p.symbol_rate;
|
||||
|
||||
|
@ -614,8 +614,9 @@ timeout:
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int stv0297_get_frontend(struct dvb_frontend *fe, struct dtv_frontend_properties *p)
|
||||
static int stv0297_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct stv0297_state *state = fe->demodulator_priv;
|
||||
int reg_00, reg_83;
|
||||
|
||||
|
@ -596,8 +596,9 @@ static int stv0299_set_frontend(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int stv0299_get_frontend(struct dvb_frontend *fe, struct dtv_frontend_properties * p)
|
||||
static int stv0299_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct stv0299_state* state = fe->demodulator_priv;
|
||||
s32 derot_freq;
|
||||
int invval;
|
||||
|
@ -1926,9 +1926,9 @@ static int stv0367ter_read_ucblocks(struct dvb_frontend *fe, u32 *ucblocks)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int stv0367ter_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *p)
|
||||
static int stv0367ter_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct stv0367_state *state = fe->demodulator_priv;
|
||||
struct stv0367ter_state *ter_state = state->ter_state;
|
||||
|
||||
@ -3136,9 +3136,9 @@ static int stv0367cab_set_frontend(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int stv0367cab_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *p)
|
||||
static int stv0367cab_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct stv0367_state *state = fe->demodulator_priv;
|
||||
struct stv0367cab_state *cab_state = state->cab_state;
|
||||
|
||||
|
@ -1843,9 +1843,9 @@ static int stv0900_sleep(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int stv0900_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *p)
|
||||
static int stv0900_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct stv0900_state *state = fe->demodulator_priv;
|
||||
struct stv0900_internal *intp = state->internal;
|
||||
enum fe_stv0900_demod_num demod = state->demod;
|
||||
|
@ -386,8 +386,9 @@ static int tda10021_read_ucblocks(struct dvb_frontend* fe, u32* ucblocks)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int tda10021_get_frontend(struct dvb_frontend *fe, struct dtv_frontend_properties *p)
|
||||
static int tda10021_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct tda10021_state* state = fe->demodulator_priv;
|
||||
int sync;
|
||||
s8 afc = 0;
|
||||
|
@ -456,8 +456,9 @@ static int tda10023_read_ucblocks(struct dvb_frontend* fe, u32* ucblocks)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int tda10023_get_frontend(struct dvb_frontend *fe, struct dtv_frontend_properties *p)
|
||||
static int tda10023_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct tda10023_state* state = fe->demodulator_priv;
|
||||
int sync,inv;
|
||||
s8 afc = 0;
|
||||
|
@ -1028,9 +1028,9 @@ static int tda10048_read_ucblocks(struct dvb_frontend *fe, u32 *ucblocks)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int tda10048_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *p)
|
||||
static int tda10048_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct tda10048_state *state = fe->demodulator_priv;
|
||||
|
||||
dprintk(1, "%s()\n", __func__);
|
||||
|
@ -895,8 +895,9 @@ static int tda1004x_set_fe(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int tda1004x_get_fe(struct dvb_frontend *fe, struct dtv_frontend_properties *fe_params)
|
||||
static int tda1004x_get_fe(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *fe_params = &fe->dtv_property_cache;
|
||||
struct tda1004x_state* state = fe->demodulator_priv;
|
||||
|
||||
dprintk("%s\n", __func__);
|
||||
|
@ -776,8 +776,7 @@ error:
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int tda10071_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *p)
|
||||
static int tda10071_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct tda10071_priv *priv = fe->demodulator_priv;
|
||||
struct dtv_frontend_properties *c = &fe->dtv_property_cache;
|
||||
|
@ -457,8 +457,9 @@ static int tda10086_set_frontend(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int tda10086_get_frontend(struct dvb_frontend *fe, struct dtv_frontend_properties *fe_params)
|
||||
static int tda10086_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *fe_params = &fe->dtv_property_cache;
|
||||
struct tda10086_state* state = fe->demodulator_priv;
|
||||
u8 val;
|
||||
int tmp;
|
||||
|
@ -335,8 +335,9 @@ static int tda8083_set_frontend(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int tda8083_get_frontend(struct dvb_frontend *fe, struct dtv_frontend_properties *p)
|
||||
static int tda8083_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct tda8083_state* state = fe->demodulator_priv;
|
||||
|
||||
/* FIXME: get symbolrate & frequency offset...*/
|
||||
|
@ -310,8 +310,9 @@ static int ves1820_read_ucblocks(struct dvb_frontend* fe, u32* ucblocks)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ves1820_get_frontend(struct dvb_frontend *fe, struct dtv_frontend_properties *p)
|
||||
static int ves1820_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct ves1820_state* state = fe->demodulator_priv;
|
||||
int sync;
|
||||
s8 afc = 0;
|
||||
|
@ -403,9 +403,9 @@ static int ves1x93_set_frontend(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ves1x93_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *p)
|
||||
static int ves1x93_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
|
||||
struct ves1x93_state* state = fe->demodulator_priv;
|
||||
int afc;
|
||||
|
||||
|
@ -371,9 +371,9 @@ static int zl10353_set_parameters(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int zl10353_get_parameters(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *c)
|
||||
static int zl10353_get_parameters(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *c = &fe->dtv_property_cache;
|
||||
struct zl10353_state *state = fe->demodulator_priv;
|
||||
int s6, s9;
|
||||
u16 tps;
|
||||
|
@ -739,9 +739,9 @@ static int smsdvb_set_frontend(struct dvb_frontend *fe)
|
||||
}
|
||||
}
|
||||
|
||||
static int smsdvb_get_frontend(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *fep)
|
||||
static int smsdvb_get_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *fep = &fe->dtv_property_cache;
|
||||
struct smsdvb_client_t *client =
|
||||
container_of(fe, struct smsdvb_client_t, frontend);
|
||||
|
||||
|
@ -231,9 +231,9 @@ static s32 poseidon_fe_init(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int poseidon_get_fe(struct dvb_frontend *fe,
|
||||
struct dtv_frontend_properties *fep)
|
||||
static int poseidon_get_fe(struct dvb_frontend *fe)
|
||||
{
|
||||
struct dtv_frontend_properties *fep = &fe->dtv_property_cache;
|
||||
struct poseidon *pd = fe->demodulator_priv;
|
||||
struct pd_dvb_adapter *pd_dvb = &pd->dvb_data;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user