mirror of https://gitee.com/openkylin/linux.git
[media] av7110: 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. Also, fill the supported delivery systems at dvb_frontend_ops struct. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
31b4f32c26
commit
b5c7cfd15d
|
@ -1985,15 +1985,14 @@ static int av7110_fe_lock_fix(struct av7110* av7110, fe_status_t status)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int av7110_fe_set_frontend(struct dvb_frontend* fe, struct dvb_frontend_parameters* params)
|
static int av7110_fe_set_frontend(struct dvb_frontend *fe)
|
||||||
{
|
{
|
||||||
struct av7110* av7110 = fe->dvb->priv;
|
struct av7110* av7110 = fe->dvb->priv;
|
||||||
|
|
||||||
int ret = av7110_fe_lock_fix(av7110, 0);
|
int ret = av7110_fe_lock_fix(av7110, 0);
|
||||||
if (!ret) {
|
if (!ret)
|
||||||
av7110->saved_fe_params = *params;
|
ret = av7110->fe_set_frontend(fe);
|
||||||
ret = av7110->fe_set_frontend(fe, params);
|
|
||||||
}
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2102,7 +2101,7 @@ static void dvb_s_recover(struct av7110* av7110)
|
||||||
msleep(20);
|
msleep(20);
|
||||||
av7110_fe_set_tone(av7110->fe, av7110->saved_tone);
|
av7110_fe_set_tone(av7110->fe, av7110->saved_tone);
|
||||||
|
|
||||||
av7110_fe_set_frontend(av7110->fe, &av7110->saved_fe_params);
|
av7110_fe_set_frontend(av7110->fe);
|
||||||
}
|
}
|
||||||
|
|
||||||
static u8 read_pwm(struct av7110* av7110)
|
static u8 read_pwm(struct av7110* av7110)
|
||||||
|
@ -2297,7 +2296,7 @@ static int frontend_init(struct av7110 *av7110)
|
||||||
FE_FUNC_OVERRIDE(av7110->fe->ops.set_tone, av7110->fe_set_tone, av7110_fe_set_tone);
|
FE_FUNC_OVERRIDE(av7110->fe->ops.set_tone, av7110->fe_set_tone, av7110_fe_set_tone);
|
||||||
FE_FUNC_OVERRIDE(av7110->fe->ops.set_voltage, av7110->fe_set_voltage, av7110_fe_set_voltage);
|
FE_FUNC_OVERRIDE(av7110->fe->ops.set_voltage, av7110->fe_set_voltage, av7110_fe_set_voltage);
|
||||||
FE_FUNC_OVERRIDE(av7110->fe->ops.dishnetwork_send_legacy_command, av7110->fe_dishnetwork_send_legacy_command, av7110_fe_dishnetwork_send_legacy_command);
|
FE_FUNC_OVERRIDE(av7110->fe->ops.dishnetwork_send_legacy_command, av7110->fe_dishnetwork_send_legacy_command, av7110_fe_dishnetwork_send_legacy_command);
|
||||||
FE_FUNC_OVERRIDE(av7110->fe->ops.set_frontend_legacy, av7110->fe_set_frontend, av7110_fe_set_frontend);
|
FE_FUNC_OVERRIDE(av7110->fe->ops.set_frontend, av7110->fe_set_frontend, av7110_fe_set_frontend);
|
||||||
|
|
||||||
ret = dvb_register_frontend(&av7110->dvb_adapter, av7110->fe);
|
ret = dvb_register_frontend(&av7110->dvb_adapter, av7110->fe);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
|
|
|
@ -272,7 +272,6 @@ struct av7110 {
|
||||||
|
|
||||||
/* crash recovery */
|
/* crash recovery */
|
||||||
void (*recover)(struct av7110* av7110);
|
void (*recover)(struct av7110* av7110);
|
||||||
struct dvb_frontend_parameters saved_fe_params;
|
|
||||||
fe_sec_voltage_t saved_voltage;
|
fe_sec_voltage_t saved_voltage;
|
||||||
fe_sec_tone_mode_t saved_tone;
|
fe_sec_tone_mode_t saved_tone;
|
||||||
struct dvb_diseqc_master_cmd saved_master_cmd;
|
struct dvb_diseqc_master_cmd saved_master_cmd;
|
||||||
|
@ -286,7 +285,7 @@ struct av7110 {
|
||||||
int (*fe_set_tone)(struct dvb_frontend* fe, fe_sec_tone_mode_t tone);
|
int (*fe_set_tone)(struct dvb_frontend* fe, fe_sec_tone_mode_t tone);
|
||||||
int (*fe_set_voltage)(struct dvb_frontend* fe, fe_sec_voltage_t voltage);
|
int (*fe_set_voltage)(struct dvb_frontend* fe, fe_sec_voltage_t voltage);
|
||||||
int (*fe_dishnetwork_send_legacy_command)(struct dvb_frontend* fe, unsigned long cmd);
|
int (*fe_dishnetwork_send_legacy_command)(struct dvb_frontend* fe, unsigned long cmd);
|
||||||
int (*fe_set_frontend)(struct dvb_frontend* fe, struct dvb_frontend_parameters* params);
|
int (*fe_set_frontend)(struct dvb_frontend *fe);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue