[media] tuner-core: call has_signal for both TV and radio
authorMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 4 Jul 2012 04:54:07 +0000 (01:54 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 4 Jul 2012 04:54:31 +0000 (01:54 -0300)
If g_tuner is called and the tuner is able to return the signal strength
via has_signal(), call the tunner callback to retrieve such data for all
tuner types, not only for radio ones.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/tuner-core.c

index 1ad5ab6..98adeee 100644 (file)
@@ -1178,6 +1178,8 @@ static int tuner_g_tuner(struct v4l2_subdev *sd, struct v4l2_tuner *vt)
                return 0;
        if (vt->type == t->mode && analog_ops->get_afc)
                vt->afc = analog_ops->get_afc(&t->fe);
+       if (analog_ops->has_signal)
+               vt->signal = analog_ops->has_signal(&t->fe);
        if (vt->type != V4L2_TUNER_RADIO) {
                vt->capability |= V4L2_TUNER_CAP_NORM;
                vt->rangelow = tv_range[0] * 16;
@@ -1197,8 +1199,6 @@ static int tuner_g_tuner(struct v4l2_subdev *sd, struct v4l2_tuner *vt)
                                V4L2_TUNER_SUB_STEREO :
                                V4L2_TUNER_SUB_MONO;
                }
-               if (analog_ops->has_signal)
-                       vt->signal = analog_ops->has_signal(&t->fe);
                vt->audmode = t->audmode;
        }
        vt->capability |= V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_STEREO;