[media] tuner/xc2028: Fix frequency offset for radio mode
authorMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 31 Aug 2011 18:12:45 +0000 (15:12 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 31 Aug 2011 18:16:00 +0000 (15:16 -0300)
In radio mode, no frequency offset should be used.

Instead of taking Thierry's patch that creates a separate function
to calculate the digital offset, it seemed better to just keep
everything at the same place.

Reported-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/common/tuners/tuner-xc2028.c

index b6b2868cb3f00bdfd4cfe9574255d8338ab0362e..3acbaa04e1b3b3c6a4711211b5bf9acfe1e1dbe8 100644 (file)
@@ -940,11 +940,16 @@ static int generic_set_freq(struct dvb_frontend *fe, u32 freq /* in HZ */,
         * that xc2028 will be in a safe state.
         * Maybe this might also be needed for DTV.
         */
-       if (new_type == V4L2_TUNER_ANALOG_TV) {
+       switch (new_type) {
+       case V4L2_TUNER_ANALOG_TV:
                rc = send_seq(priv, {0x00, 0x00});
 
-               /* Analog modes require offset = 0 */
-       } else {
+               /* Analog mode requires offset = 0 */
+               break;
+       case V4L2_TUNER_RADIO:
+               /* Radio mode requires offset = 0 */
+               break;
+       case V4L2_TUNER_DIGITAL_TV:
                /*
                 * Digital modes require an offset to adjust to the
                 * proper frequency. The offset depends on what