OSDN Git Service

[media] xc5000: be sure that the firmware is there before set params
authorMauro Carvalho Chehab <m.chehab@samsung.com>
Sun, 10 Aug 2014 02:14:22 +0000 (23:14 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Thu, 21 Aug 2014 20:25:11 +0000 (15:25 -0500)
Now that xc5000_set_params() is also called during resume,
move the code that checks for the firmware to happen there.

This way, the firmware will be loaded either for analog or
digital TV when .resume callback is called.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/tuners/xc5000.c

index c190578..512fe50 100644 (file)
@@ -1040,6 +1040,11 @@ static int xc5000_set_params(struct dvb_frontend *fe)
 {
        struct xc5000_priv *priv = fe->tuner_priv;
 
+       if (xc_load_fw_and_init_tuner(fe, 0) != 0) {
+               dprintk(1, "Unable to load firmware and init tuner\n");
+               return -EINVAL;
+       }
+
        switch (priv->mode) {
        case V4L2_TUNER_RADIO:
                return xc5000_set_radio_freq(fe);
@@ -1061,11 +1066,6 @@ static int xc5000_set_analog_params(struct dvb_frontend *fe,
        if (priv->i2c_props.adap == NULL)
                return -EINVAL;
 
-       if (xc_load_fw_and_init_tuner(fe, 0) != 0) {
-               dprintk(1, "Unable to load firmware and init tuner\n");
-               return -EINVAL;
-       }
-
        switch (params->mode) {
        case V4L2_TUNER_RADIO:
                ret = xc5000_config_radio(fe, params);