[media] tuner: add support for Xceive XC5000C
authorMichael Krufky <mkrufky@kernellabs.com>
Tue, 7 Feb 2012 04:22:34 +0000 (01:22 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 14 Feb 2012 19:20:46 +0000 (17:20 -0200)
Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/common/tuners/tuner-types.c
drivers/media/video/tuner-core.c
include/media/tuner.h

index e13683b..2da4440 100644 (file)
@@ -1868,6 +1868,10 @@ struct tunertype tuners[] = {
                .params = tuner_tena_tnf_5337_params,
                .count  = ARRAY_SIZE(tuner_tena_tnf_5337_params),
        },
+       [TUNER_XC5000C] = { /* Xceive 5000C */
+               .name   = "Xceive 5000C tuner",
+               /* see xc5000.c for details */
+       },
 };
 EXPORT_SYMBOL(tuners);
 
index 4059ea1..0628a0a 100644 (file)
@@ -380,6 +380,21 @@ static void set_type(struct i2c_client *c, unsigned int type,
                tune_now = 0;
                break;
        }
+       case TUNER_XC5000C:
+       {
+               struct xc5000_config xc5000c_cfg = {
+                       .i2c_address = t->i2c->addr,
+                       /* if_khz will be set at dvb_attach() */
+                       .if_khz   = 0,
+                       .fw = XC5000C_DEFAULT_FIRMWARE,
+               };
+
+               if (!dvb_attach(xc5000_attach,
+                               &t->fe, t->i2c->adapter, &xc5000c_cfg))
+                       goto attach_failed;
+               tune_now = 0;
+               break;
+       }
        case TUNER_NXP_TDA18271:
        {
                struct tda18271_config cfg = {
index 29e1920..926aff9 100644 (file)
 #define TUNER_TENA_TNF_5337            86
 
 #define TUNER_XC4000                   87      /* Xceive Silicon Tuner */
+#define TUNER_XC5000C                  88      /* Xceive Silicon Tuner */
 
 /* tv card specific */
 #define TDA9887_PRESENT                (1<<0)