]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/media/video/tuner-simple.c
V4L/DVB (3568d): saa7111.c fix
[linux-2.6-omap-h63xx.git] / drivers / media / video / tuner-simple.c
index 2e680cf515a2da559ebd00608778cc5126def497..5d7abed71674f179ee6797a21b33ab89ee4ea5ff 100644 (file)
@@ -163,6 +163,13 @@ static void default_set_tv_freq(struct i2c_client *c, unsigned int freq)
                        continue;
                break;
        }
+       /* use default tuner_params if desired_type not available */
+       if (desired_type != tun->params[j].type) {
+               tuner_dbg("IFPCoff = %d: tuner_params undefined for tuner %d\n",
+                         IFPCoff,t->type);
+               j = 0;
+       }
+
        for (i = 0; i < tun->params[j].count; i++) {
                if (freq > tun->params[j].ranges[i].limit)
                        continue;
@@ -340,6 +347,9 @@ static void default_set_radio_freq(struct i2c_client *c, unsigned int freq)
                        continue;
                break;
        }
+       /* use default tuner_params if desired_type not available */
+       if (desired_type != tun->params[j].type)
+               j = 0;
 
        div = (20 * freq / 16000) + (int)(20*10.7); /* IF 10.7 MHz */
        buffer[2] = (tun->params[j].ranges[0].config & ~TUNER_RATIO_MASK) | TUNER_RATIO_SELECT_50; /* 50 kHz step */
@@ -354,6 +364,9 @@ static void default_set_radio_freq(struct i2c_client *c, unsigned int freq)
        case TUNER_PHILIPS_FMD1216ME_MK3:
                buffer[3] = 0x19;
                break;
+       case TUNER_TNF_5335MF:
+               buffer[3] = 0x11;
+               break;
        case TUNER_PHILIPS_FM1256_IH3:
                div = (20 * freq) / 16000 + (int)(33.3 * 20);  /* IF 33.3 MHz */
                buffer[3] = 0x19;