diff --git a/drivers/media/video/tuner-simple.c b/drivers/media/video/tuner-simple.c
index e0c9fdb..feaed92 100644
--- a/drivers/media/video/tuner-simple.c
+++ b/drivers/media/video/tuner-simple.c
@@ -80,8 +80,6 @@
 struct tunertype
 {
 	char *name;
-	unsigned char Vendor;
-	unsigned char Type;
 
 	unsigned short thresh1;  /*  band switch VHF_LO <=> VHF_HI  */
 	unsigned short thresh2;  /*  band switch VHF_HI <=> UHF     */
@@ -89,10 +87,6 @@
 	unsigned char VHF_H;
 	unsigned char UHF;
 	unsigned char config;
-	unsigned short IFPCoff; /* 622.4=16*38.90 MHz PAL,
-				   732  =16*45.75 NTSCi,
-				   940  =16*58.75 NTSC-Japan
-				   704  =16*44    ATSC */
 };
 
 /*
@@ -102,158 +96,158 @@
  */
 static struct tunertype tuners[] = {
 	/* 0-9 */
-	{ "Temic PAL (4002 FH5)", TEMIC, PAL,
-	  16*140.25,16*463.25,0x02,0x04,0x01,0x8e,623},
-	{ "Philips PAL_I (FI1246 and compatibles)", Philips, PAL_I,
-	  16*140.25,16*463.25,0xa0,0x90,0x30,0x8e,623},
-	{ "Philips NTSC (FI1236,FM1236 and compatibles)", Philips, NTSC,
-	  16*157.25,16*451.25,0xA0,0x90,0x30,0x8e,732},
-	{ "Philips (SECAM+PAL_BG) (FI1216MF, FM1216MF, FR1216MF)", Philips, SECAM,
-	  16*168.25,16*447.25,0xA7,0x97,0x37,0x8e,623},
-	{ "NoTuner", NoTuner, NOTUNER,
-	  0,0,0x00,0x00,0x00,0x00,0x00},
-	{ "Philips PAL_BG (FI1216 and compatibles)", Philips, PAL,
-	  16*168.25,16*447.25,0xA0,0x90,0x30,0x8e,623},
-	{ "Temic NTSC (4032 FY5)", TEMIC, NTSC,
-	  16*157.25,16*463.25,0x02,0x04,0x01,0x8e,732},
-	{ "Temic PAL_I (4062 FY5)", TEMIC, PAL_I,
-	  16*170.00,16*450.00,0x02,0x04,0x01,0x8e,623},
-	{ "Temic NTSC (4036 FY5)", TEMIC, NTSC,
-	  16*157.25,16*463.25,0xa0,0x90,0x30,0x8e,732},
-	{ "Alps HSBH1", TEMIC, NTSC,
-	  16*137.25,16*385.25,0x01,0x02,0x08,0x8e,732},
+	{ "Temic PAL (4002 FH5)",                         /* TEMIC PAL */
+	  16*140.25, 16*463.25, 0x02, 0x04, 0x01, 0x8e},
+	{ "Philips PAL_I (FI1246 and compatibles)",       /* Philips PAL_I */
+	  16*140.25, 16*463.25, 0xa0, 0x90, 0x30, 0x8e},
+	{ "Philips NTSC (FI1236,FM1236 and compatibles)", /* Philips NTSC */
+	  16*157.25, 16*451.25, 0xA0, 0x90, 0x30, 0x8e},
+	{ "Philips (SECAM+PAL_BG) (FI1216MF, FM1216MF, FR1216MF)",/* Philips SECAM */
+	  16*168.25, 16*447.25, 0xA7, 0x97, 0x37, 0x8e},
+	{ "NoTuner",                                      /* NoTuner NOTUNER */
+	  0, 0, 0x00, 0x00, 0x00, 0x00},
+	{ "Philips PAL_BG (FI1216 and compatibles)",      /* Philips PAL */
+	  16*168.25, 16*447.25, 0xA0, 0x90, 0x30, 0x8e},
+	{ "Temic NTSC (4032 FY5)",                        /* TEMIC NTSC */
+	  16*157.25, 16*463.25, 0x02, 0x04, 0x01, 0x8e},
+	{ "Temic PAL_I (4062 FY5)",                       /* TEMIC PAL_I */
+	  16*170.00, 16*450.00, 0x02, 0x04, 0x01, 0x8e},
+	{ "Temic NTSC (4036 FY5)",                        /* TEMIC NTSC */
+	  16*157.25, 16*463.25, 0xa0, 0x90, 0x30, 0x8e},
+	{ "Alps HSBH1",                                   /* TEMIC NTSC */
+	  16*137.25, 16*385.25, 0x01, 0x02, 0x08, 0x8e},
 
 	/* 10-19 */
-	{ "Alps TSBE1", TEMIC, PAL,
-	  16*137.25,16*385.25,0x01,0x02,0x08,0x8e,732},
-	{ "Alps TSBB5", Alps, PAL_I, /* tested (UK UHF) with Modulartech MM205 */
-	  16*133.25,16*351.25,0x01,0x02,0x08,0x8e,632},
-	{ "Alps TSBE5", Alps, PAL, /* untested - data sheet guess. Only IF differs. */
-	  16*133.25,16*351.25,0x01,0x02,0x08,0x8e,622},
-	{ "Alps TSBC5", Alps, PAL, /* untested - data sheet guess. Only IF differs. */
-	  16*133.25,16*351.25,0x01,0x02,0x08,0x8e,608},
-	{ "Temic PAL_BG (4006FH5)", TEMIC, PAL,
-	  16*170.00,16*450.00,0xa0,0x90,0x30,0x8e,623},
-	{ "Alps TSCH6", Alps, NTSC,
-	  16*137.25,16*385.25,0x14,0x12,0x11,0x8e,732},
-	{ "Temic PAL_DK (4016 FY5)", TEMIC, PAL,
-	  16*168.25,16*456.25,0xa0,0x90,0x30,0x8e,623},
-	{ "Philips NTSC_M (MK2)", Philips, NTSC,
-	  16*160.00,16*454.00,0xa0,0x90,0x30,0x8e,732},
-	{ "Temic PAL_I (4066 FY5)", TEMIC, PAL_I,
-	  16*169.00, 16*454.00, 0xa0,0x90,0x30,0x8e,623},
-	{ "Temic PAL* auto (4006 FN5)", TEMIC, PAL,
-	  16*169.00, 16*454.00, 0xa0,0x90,0x30,0x8e,623},
+	{ "Alps TSBE1",                                   /* TEMIC PAL */
+	  16*137.25, 16*385.25, 0x01, 0x02, 0x08, 0x8e},
+	{ "Alps TSBB5",                                   /* Alps PAL_I */
+	  16*133.25, 16*351.25, 0x01, 0x02, 0x08, 0x8e},
+	{ "Alps TSBE5",                                   /* Alps PAL */
+	  16*133.25, 16*351.25, 0x01, 0x02, 0x08, 0x8e},
+	{ "Alps TSBC5",                                   /* Alps PAL */
+	  16*133.25, 16*351.25, 0x01, 0x02, 0x08, 0x8e},
+	{ "Temic PAL_BG (4006FH5)",                       /* TEMIC PAL */
+	  16*170.00, 16*450.00, 0xa0, 0x90, 0x30, 0x8e},
+	{ "Alps TSCH6",                                   /* Alps NTSC */
+	  16*137.25, 16*385.25, 0x14, 0x12, 0x11, 0x8e},
+	{ "Temic PAL_DK (4016 FY5)",                      /* TEMIC PAL */
+	  16*168.25, 16*456.25, 0xa0, 0x90, 0x30, 0x8e},
+	{ "Philips NTSC_M (MK2)",                         /* Philips NTSC */
+	  16*160.00, 16*454.00, 0xa0, 0x90, 0x30, 0x8e},
+	{ "Temic PAL_I (4066 FY5)",                       /* TEMIC PAL_I */
+	  16*169.00,  16*454.00,  0xa0, 0x90, 0x30, 0x8e},
+	{ "Temic PAL* auto (4006 FN5)",                   /* TEMIC PAL */
+	  16*169.00,  16*454.00,  0xa0, 0x90, 0x30, 0x8e},
 
 	/* 20-29 */
-	{ "Temic PAL_BG (4009 FR5) or PAL_I (4069 FR5)", TEMIC, PAL,
-	  16*141.00, 16*464.00, 0xa0,0x90,0x30,0x8e,623},
-	{ "Temic NTSC (4039 FR5)", TEMIC, NTSC,
-	  16*158.00, 16*453.00, 0xa0,0x90,0x30,0x8e,732},
-	{ "Temic PAL/SECAM multi (4046 FM5)", TEMIC, PAL,
-	  16*169.00, 16*454.00, 0xa0,0x90,0x30,0x8e,623},
-	{ "Philips PAL_DK (FI1256 and compatibles)", Philips, PAL,
-	  16*170.00,16*450.00,0xa0,0x90,0x30,0x8e,623},
-	{ "Philips PAL/SECAM multi (FQ1216ME)", Philips, PAL,
-	  16*170.00,16*450.00,0xa0,0x90,0x30,0x8e,623},
-	{ "LG PAL_I+FM (TAPC-I001D)", LGINNOTEK, PAL_I,
-	  16*170.00,16*450.00,0xa0,0x90,0x30,0x8e,623},
-	{ "LG PAL_I (TAPC-I701D)", LGINNOTEK, PAL_I,
-	  16*170.00,16*450.00,0xa0,0x90,0x30,0x8e,623},
-	{ "LG NTSC+FM (TPI8NSR01F)", LGINNOTEK, NTSC,
-	  16*210.00,16*497.00,0xa0,0x90,0x30,0x8e,732},
-	{ "LG PAL_BG+FM (TPI8PSB01D)", LGINNOTEK, PAL,
-	  16*170.00,16*450.00,0xa0,0x90,0x30,0x8e,623},
-	{ "LG PAL_BG (TPI8PSB11D)", LGINNOTEK, PAL,
-	  16*170.00,16*450.00,0xa0,0x90,0x30,0x8e,623},
+	{ "Temic PAL_BG (4009 FR5) or PAL_I (4069 FR5)",  /* TEMIC PAL */
+	  16*141.00,  16*464.00,  0xa0, 0x90, 0x30, 0x8e},
+	{ "Temic NTSC (4039 FR5)",                        /* TEMIC NTSC */
+	  16*158.00,  16*453.00,  0xa0, 0x90, 0x30, 0x8e},
+	{ "Temic PAL/SECAM multi (4046 FM5)",             /* TEMIC PAL */
+	  16*169.00,  16*454.00,  0xa0, 0x90, 0x30, 0x8e},
+	{ "Philips PAL_DK (FI1256 and compatibles)",      /* Philips PAL */
+	  16*170.00, 16*450.00, 0xa0, 0x90, 0x30, 0x8e},
+	{ "Philips PAL/SECAM multi (FQ1216ME)",           /* Philips PAL */
+	  16*170.00, 16*450.00, 0xa0, 0x90, 0x30, 0x8e},
+	{ "LG PAL_I+FM (TAPC-I001D)",                     /* LGINNOTEK PAL_I */
+	  16*170.00, 16*450.00, 0xa0, 0x90, 0x30, 0x8e},
+	{ "LG PAL_I (TAPC-I701D)",                        /* LGINNOTEK PAL_I */
+	  16*170.00, 16*450.00, 0xa0, 0x90, 0x30, 0x8e},
+	{ "LG NTSC+FM (TPI8NSR01F)",                      /* LGINNOTEK NTSC */
+	  16*210.00, 16*497.00, 0xa0, 0x90, 0x30, 0x8e},
+	{ "LG PAL_BG+FM (TPI8PSB01D)",                    /* LGINNOTEK PAL */
+	  16*170.00, 16*450.00, 0xa0, 0x90, 0x30, 0x8e},
+	{ "LG PAL_BG (TPI8PSB11D)",                       /* LGINNOTEK PAL */
+	  16*170.00, 16*450.00, 0xa0, 0x90, 0x30, 0x8e},
 
 	/* 30-39 */
-	{ "Temic PAL* auto + FM (4009 FN5)", TEMIC, PAL,
-	  16*141.00, 16*464.00, 0xa0,0x90,0x30,0x8e,623},
-	{ "SHARP NTSC_JP (2U5JF5540)", SHARP, NTSC, /* 940=16*58.75 NTSC@Japan */
-	  16*137.25,16*317.25,0x01,0x02,0x08,0x8e,940 },
-	{ "Samsung PAL TCPM9091PD27", Samsung, PAL, /* from sourceforge v3tv */
-	  16*169,16*464,0xA0,0x90,0x30,0x8e,623},
-	{ "MT20xx universal", Microtune, PAL|NTSC,
+	{ "Temic PAL* auto + FM (4009 FN5)",              /* TEMIC PAL */
+	  16*141.00,  16*464.00,  0xa0, 0x90, 0x30, 0x8e},
+	{ "SHARP NTSC_JP (2U5JF5540)",                    /* SHARP NTSC */
+	  16*137.25, 16*317.25, 0x01, 0x02, 0x08, 0x8e},
+	{ "Samsung PAL TCPM9091PD27",                     /* Samsung PAL */
+	  16*169, 16*464, 0xA0, 0x90, 0x30, 0x8e},
+	{ "MT20xx universal",                             /* Microtune PAL|NTSC */
 	  /* see mt20xx.c for details */ },
-	{ "Temic PAL_BG (4106 FH5)", TEMIC, PAL,
-	  16*141.00, 16*464.00, 0xa0,0x90,0x30,0x8e,623},
-	{ "Temic PAL_DK/SECAM_L (4012 FY5)", TEMIC, PAL,
-	  16*140.25, 16*463.25, 0x02,0x04,0x01,0x8e,623},
-	{ "Temic NTSC (4136 FY5)", TEMIC, NTSC,
-	  16*158.00, 16*453.00, 0xa0,0x90,0x30,0x8e,732},
-	{ "LG PAL (newer TAPC series)", LGINNOTEK, PAL,
-	  16*170.00, 16*450.00, 0x01,0x02,0x08,0x8e,623},
-	{ "Philips PAL/SECAM multi (FM1216ME MK3)", Philips, PAL,
-	  16*158.00,16*442.00,0x01,0x02,0x04,0x8e,623 },
-	{ "LG NTSC (newer TAPC series)", LGINNOTEK, NTSC,
-	  16*170.00, 16*450.00, 0x01,0x02,0x08,0x8e,732},
+	{ "Temic PAL_BG (4106 FH5)",                      /* TEMIC PAL */
+	  16*141.00,  16*464.00,  0xa0, 0x90, 0x30, 0x8e},
+	{ "Temic PAL_DK/SECAM_L (4012 FY5)",              /* TEMIC PAL */
+	  16*140.25,  16*463.25,  0x02, 0x04, 0x01, 0x8e},
+	{ "Temic NTSC (4136 FY5)",                        /* TEMIC NTSC */
+	  16*158.00,  16*453.00,  0xa0, 0x90, 0x30, 0x8e},
+	{ "LG PAL (newer TAPC series)",                   /* LGINNOTEK PAL */
+	  16*170.00,  16*450.00,  0x01, 0x02, 0x08, 0x8e},
+	{ "Philips PAL/SECAM multi (FM1216ME MK3)",       /* Philips PAL */
+	  16*158.00, 16*442.00, 0x01, 0x02, 0x04, 0x8e},
+	{ "LG NTSC (newer TAPC series)",                  /* LGINNOTEK NTSC */
+	  16*170.00,  16*450.00,  0x01, 0x02, 0x08, 0x8e},
 
 	/* 40-49 */
-	{ "HITACHI V7-J180AT", HITACHI, NTSC,
-	  16*170.00, 16*450.00, 0x01,0x02,0x08,0x8e,940 },
-	{ "Philips PAL_MK (FI1216 MK)", Philips, PAL,
-	  16*140.25,16*463.25,0x01,0xc2,0xcf,0x8e,623},
-	{ "Philips 1236D ATSC/NTSC daul in", Philips, ATSC,
-	  16*157.25,16*454.00,0xa0,0x90,0x30,0x8e,732},
-	{ "Philips NTSC MK3 (FM1236MK3 or FM1236/F)", Philips, NTSC,
-	  16*160.00,16*442.00,0x01,0x02,0x04,0x8e,732},
-	{ "Philips 4 in 1 (ATI TV Wonder Pro/Conexant)", Philips, NTSC,
-	  16*160.00,16*442.00,0x01,0x02,0x04,0x8e,732},
-	{ "Microtune 4049 FM5", Microtune, PAL,
-	  16*141.00,16*464.00,0xa0,0x90,0x30,0x8e,623},
-	{ "Panasonic VP27s/ENGE4324D", Panasonic, NTSC,
-	  16*160.00,16*454.00,0x01,0x02,0x08,0xce,940},
-	{ "LG NTSC (TAPE series)", LGINNOTEK, NTSC,
-	  16*160.00,16*442.00,0x01,0x02,0x04,0x8e,732 },
-	{ "Tenna TNF 8831 BGFF)", Philips, PAL,
-	  16*161.25,16*463.25,0xa0,0x90,0x30,0x8e,623},
-	{ "Microtune 4042 FI5 ATSC/NTSC dual in", Microtune, NTSC,
-	  16*162.00,16*457.00,0xa2,0x94,0x31,0x8e,732},
+	{ "HITACHI V7-J180AT",                            /* HITACHI NTSC */
+	  16*170.00,  16*450.00,  0x01, 0x02, 0x08, 0x8e},
+	{ "Philips PAL_MK (FI1216 MK)",                   /* Philips PAL */
+	  16*140.25, 16*463.25, 0x01, 0xc2, 0xcf, 0x8e},
+	{ "Philips 1236D ATSC/NTSC daul in",              /* Philips ATSC */
+	  16*157.25, 16*454.00, 0xa0, 0x90, 0x30, 0x8e},
+	{ "Philips NTSC MK3 (FM1236MK3 or FM1236/F)",     /* Philips NTSC */
+	  16*160.00, 16*442.00, 0x01, 0x02, 0x04, 0x8e},
+	{ "Philips 4 in 1 (ATI TV Wonder Pro/Conexant)",  /* Philips NTSC */
+	  16*160.00, 16*442.00, 0x01, 0x02, 0x04, 0x8e},
+	{ "Microtune 4049 FM5",                           /* Microtune PAL */
+	  16*141.00, 16*464.00, 0xa0, 0x90, 0x30, 0x8e},
+	{ "Panasonic VP27s/ENGE4324D",                    /* Panasonic NTSC */
+	  16*160.00, 16*454.00, 0x01, 0x02, 0x08, 0xce},
+	{ "LG NTSC (TAPE series)",                        /* LGINNOTEK NTSC */
+	  16*160.00, 16*442.00, 0x01, 0x02, 0x04, 0x8e},
+	{ "Tenna TNF 8831 BGFF)",                         /* Philips PAL */
+	  16*161.25, 16*463.25, 0xa0, 0x90, 0x30, 0x8e},
+	{ "Microtune 4042 FI5 ATSC/NTSC dual in",         /* Microtune NTSC */
+	  16*162.00, 16*457.00, 0xa2, 0x94, 0x31, 0x8e},
 
 	/* 50-59 */
-	{ "TCL 2002N", TCL, NTSC,
-	  16*172.00,16*448.00,0x01,0x02,0x08,0x8e,732},
-	{ "Philips PAL/SECAM_D (FM 1256 I-H3)", Philips, PAL,
-	  16*160.00,16*442.00,0x01,0x02,0x04,0x8e,623 },
-	{ "Thomson DDT 7610 (ATSC/NTSC)", THOMSON, ATSC,
-	  16*157.25,16*454.00,0x39,0x3a,0x3c,0x8e,732},
-	{ "Philips FQ1286", Philips, NTSC,
-	  16*160.00,16*454.00,0x41,0x42,0x04,0x8e,940}, /* UHF band untested */
-	{ "tda8290+75", Philips, PAL|NTSC,
+	{ "TCL 2002N",                                    /* TCL NTSC */
+	  16*172.00, 16*448.00, 0x01, 0x02, 0x08, 0x8e},
+	{ "Philips PAL/SECAM_D (FM 1256 I-H3)",           /* Philips PAL */
+	  16*160.00, 16*442.00, 0x01, 0x02, 0x04, 0x8e},
+	{ "Thomson DDT 7610 (ATSC/NTSC)",                 /* THOMSON ATSC */
+	  16*157.25, 16*454.00, 0x39, 0x3a, 0x3c, 0x8e},
+	{ "Philips FQ1286",                               /* Philips NTSC */
+	  16*160.00, 16*454.00, 0x41, 0x42, 0x04, 0x8e},
+	{ "tda8290+75",                                   /* Philips PAL|NTSC */
 	  /* see tda8290.c for details */ },
-	{ "TCL 2002MB", TCL, PAL,
-	  16*170.00, 16*450.00, 0x01,0x02,0x08,0xce,623},
-	{ "Philips PAL/SECAM multi (FQ1216AME MK4)", Philips, PAL,
-	  16*160.00,16*442.00,0x01,0x02,0x04,0xce,623 },
-	{ "Philips FQ1236A MK4", Philips, NTSC,
-	  16*160.00,16*442.00,0x01,0x02,0x04,0x8e,732 },
-	{ "Ymec TVision TVF-8531MF/8831MF/8731MF", Philips, NTSC,
-	  16*160.00,16*454.00,0xa0,0x90,0x30,0x8e,732},
-	{ "Ymec TVision TVF-5533MF", Philips, NTSC,
-	  16*160.00,16*454.00,0x01,0x02,0x04,0x8e,732},
+	{ "TCL 2002MB",                                   /* TCL PAL */
+	  16*170.00,  16*450.00,  0x01, 0x02, 0x08, 0xce},
+	{ "Philips PAL/SECAM multi (FQ1216AME MK4)",      /* Philips PAL */
+	  16*160.00, 16*442.00, 0x01, 0x02, 0x04, 0xce},
+	{ "Philips FQ1236A MK4",                          /* Philips NTSC */
+	  16*160.00, 16*442.00, 0x01, 0x02, 0x04, 0x8e},
+	{ "Ymec TVision TVF-8531MF/8831MF/8731MF",        /* Philips NTSC */
+	  16*160.00, 16*454.00, 0xa0, 0x90, 0x30, 0x8e},
+	{ "Ymec TVision TVF-5533MF",                      /* Philips NTSC */
+	  16*160.00, 16*454.00, 0x01, 0x02, 0x04, 0x8e},
 
 	/* 60-69 */
-	{ "Thomson DDT 7611 (ATSC/NTSC)", THOMSON, ATSC,
-	  16*157.25,16*454.00,0x39,0x3a,0x3c,0x8e,732},
-	{ "Tena TNF9533-D/IF/TNF9533-B/DF", Philips, PAL,
-	  16*160.25,16*464.25,0x01,0x02,0x04,0x8e,623},
-	{ "Philips TEA5767HN FM Radio", Philips, RADIO,
+	{ "Thomson DDT 7611 (ATSC/NTSC)",                 /* THOMSON ATSC */
+	  16*157.25, 16*454.00, 0x39, 0x3a, 0x3c, 0x8e},
+	{ "Tena TNF9533-D/IF/TNF9533-B/DF",               /* Philips PAL */
+	  16*160.25, 16*464.25, 0x01, 0x02, 0x04, 0x8e},
+	{ "Philips TEA5767HN FM Radio",                   /* Philips RADIO */
 	  /* see tea5767.c for details */},
-	{ "Philips FMD1216ME MK3 Hybrid Tuner", Philips, PAL,
-	  16*160.00,16*442.00,0x51,0x52,0x54,0x86,623 },
-	{ "LG TDVS-H062F/TUA6034", LGINNOTEK, ATSC,
-	  16*160.00,16*455.00,0x01,0x02,0x04,0x8e,732},
-	{ "Ymec TVF66T5-B/DFF", Philips, PAL,
-	  16*160.25,16*464.25,0x01,0x02,0x08,0x8e,623},
-	{ "LG NTSC (TALN mini series)", LGINNOTEK, NTSC,
-	  16*137.25,16*373.25,0x01,0x02,0x08,0x8e,732 },
-	{ "Philips TD1316 Hybrid Tuner", Philips, PAL,
-	  16*160.00,16*442.00,0xa1,0xa2,0xa4,0xc8,623 },
-	{ "Philips TUV1236D ATSC/NTSC dual in", Philips, ATSC,
-	  16*157.25,16*454.00,0x01,0x02,0x04,0xce,732 },
-	{ "Tena TNF 5335 MF", Philips, NTSC,
-	  16*157.25,16*454.00,0x01,0x02,0x04,0x8e,732 },
+	{ "Philips FMD1216ME MK3 Hybrid Tuner",           /* Philips PAL */
+	  16*160.00, 16*442.00, 0x51, 0x52, 0x54, 0x86},
+	{ "LG TDVS-H062F/TUA6034",                        /* LGINNOTEK ATSC */
+	  16*160.00, 16*455.00, 0x01, 0x02, 0x04, 0x8e},
+	{ "Ymec TVF66T5-B/DFF",                           /* Philips PAL */
+	  16*160.25, 16*464.25, 0x01, 0x02, 0x08, 0x8e},
+	{ "LG NTSC (TALN mini series)",                   /* LGINNOTEK NTSC */
+	  16*137.25, 16*373.25, 0x01, 0x02, 0x08, 0x8e},
+	{ "Philips TD1316 Hybrid Tuner",                  /* Philips PAL */
+	  16*160.00, 16*442.00, 0xa1, 0xa2, 0xa4, 0xc8},
+	{ "Philips TUV1236D ATSC/NTSC dual in",           /* Philips ATSC */
+	  16*157.25, 16*454.00, 0x01, 0x02, 0x04, 0xce},
+	{ "Tena TNF 5335 MF",                             /* Philips NTSC */
+	  16*157.25, 16*454.00, 0x01, 0x02, 0x04, 0x8e},
 };
 
 unsigned const int tuner_count = ARRAY_SIZE(tuners);
@@ -305,7 +299,7 @@
 	u16 div;
 	struct tunertype *tun;
 	unsigned char buffer[4];
-	int rc;
+	int rc, IFPCoff;
 
 	tun = &tuners[t->type];
 	if (freq < tun->thresh1) {
@@ -420,7 +414,29 @@
 	 * frequency in case (wanted frequency < current frequency).
 	 */
 
-	div=freq + tun->IFPCoff;
+	/* IFPCoff = Video Intermediate Frequency - Vif:
+		940  =16*58.75  NTSC/J (Japan)
+		732  =16*45.75  M/N STD
+		704  =16*44     ATSC (at DVB code)
+		632  =16*39.50  I U.K.
+		622.4=16*38.90  B/G D/K I, L STD
+		592  =16*37.00  D China
+		590  =16.36.875 B Australia
+		543.2=16*33.95  L' STD
+		171.2=16*10.70  FM Radio (at set_radio_freq)
+	*/
+
+	if (t->std & V4L2_STD_NTSC_M_JP) {
+		IFPCoff = 940;
+	} else if (t->std & V4L2_STD_MN) {
+		IFPCoff = 732;
+	} else if (t->std & V4L2_STD_SECAM_LC) {
+		IFPCoff = 543;
+	} else {
+		IFPCoff = 623;
+	}
+
+	div=freq + IFPCoff;
 	if (t->type == TUNER_PHILIPS_SECAM && freq < t->freq) {
 		buffer[0] = tun->config;
 		buffer[1] = config;
