[media] av7110: convert set_fontend to use DVBv5 parameters
authorMauro Carvalho Chehab <mchehab@redhat.com>
Fri, 23 Dec 2011 21:19:24 +0000 (18:19 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 31 Dec 2011 11:15:04 +0000 (09:15 -0200)
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>
drivers/media/dvb/ttpci/av7110.c
drivers/media/dvb/ttpci/av7110.h

index 49d9f18..6ecbcf6 100644 (file)
@@ -1985,15 +1985,14 @@ static int av7110_fe_lock_fix(struct av7110* av7110, fe_status_t status)
        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;
 
        int ret = av7110_fe_lock_fix(av7110, 0);
-       if (!ret) {
-               av7110->saved_fe_params = *params;
-               ret = av7110->fe_set_frontend(fe, params);
-       }
+       if (!ret)
+               ret = av7110->fe_set_frontend(fe);
+
        return ret;
 }
 
@@ -2102,7 +2101,7 @@ static void dvb_s_recover(struct av7110* av7110)
        msleep(20);
        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)
@@ -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_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.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);
                if (ret < 0) {
index d85b851..88b3b2d 100644 (file)
@@ -272,7 +272,6 @@ struct av7110 {
 
        /* crash recovery */
        void                            (*recover)(struct av7110* av7110);
-       struct dvb_frontend_parameters  saved_fe_params;
        fe_sec_voltage_t                saved_voltage;
        fe_sec_tone_mode_t              saved_tone;
        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_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_set_frontend)(struct dvb_frontend* fe, struct dvb_frontend_parameters* params);
+       int (*fe_set_frontend)(struct dvb_frontend *fe);
 };