V4L/DVB (12964): tuner-core: add support for NXP TDA18271 without TDA829X demod
authorMichael Krufky <mkrufky@kernellabs.com>
Wed, 16 Sep 2009 02:04:18 +0000 (23:04 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 19 Sep 2009 03:16:01 +0000 (00:16 -0300)
Add support for NXP TDA18271 as a standalone tuner, allowing the use of
analog demodulators other than the Philips/NXP TDA829x.

Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Documentation/video4linux/CARDLIST.tuner
drivers/media/common/tuners/tuner-types.c
drivers/media/video/tuner-core.c
include/media/tuner.h

index 3561b09fb4160f4cea3f23d7283d720665490d1f..e0d298fe8830ce7f69e434a1542f632d56b7c286 100644 (file)
@@ -80,3 +80,4 @@ tuner=79 - Philips PAL/SECAM multi (FM1216 MK5)
 tuner=80 - Philips FQ1216LME MK3 PAL/SECAM w/active loopthrough
 tuner=81 - Partsnic (Daewoo) PTI-5NF05
 tuner=82 - Philips CU1216L
+tuner=83 - NXP TDA18271
index a2204df796ecad72ea8fdc6562889f35e1e648ef..2b876f3988c1f2a256525c7a0313b35466e6549e 100644 (file)
@@ -1801,6 +1801,10 @@ struct tunertype tuners[] = {
                .count  = ARRAY_SIZE(tuner_philips_cu1216l_params),
                .stepsize = 62500,
        },
+       [TUNER_NXP_TDA18271] = {
+               .name   = "NXP TDA18271",
+               /* see tda18271-fe.c for details */
+       },
 };
 EXPORT_SYMBOL(tuners);
 
index 2816f1839230c1131aef1298d5e5b3157dc75ae9..aba92e2313d8aa496e6cbd9b538301ce0c5fe0e9 100644 (file)
@@ -29,6 +29,7 @@
 #include "tuner-simple.h"
 #include "tda9887.h"
 #include "xc5000.h"
+#include "tda18271.h"
 
 #define UNSET (-1U)
 
@@ -420,6 +421,17 @@ static void set_type(struct i2c_client *c, unsigned int type,
                        goto attach_failed;
                break;
        }
+       case TUNER_NXP_TDA18271:
+       {
+               struct tda18271_config cfg = {
+                       .config = t->config,
+               };
+
+               if (!dvb_attach(tda18271_attach, &t->fe, t->i2c->addr,
+                               t->i2c->adapter, &cfg))
+                       goto attach_failed;
+               break;
+       }
        default:
                if (!dvb_attach(simple_tuner_attach, &t->fe,
                                t->i2c->adapter, t->i2c->addr, t->type))
index b1f57e175e9a3d26fb81a02808789277ccc4af3e..4d5b53ff17db3509da5dcb78db4533d7cffc0f6f 100644 (file)
 #define TUNER_PHILIPS_FQ1216LME_MK3    80      /* Active loopthrough, no FM */
 #define TUNER_PARTSNIC_PTI_5NF05       81
 #define TUNER_PHILIPS_CU1216L           82
+#define TUNER_NXP_TDA18271             83
 
 /* tv card specific */
 #define TDA9887_PRESENT                (1<<0)