V4L/DVB (6908): tda8290: add the option not to probe for tuners passed into tda829x_c...
authorMichael Krufky <mkrufky@linuxtv.org>
Mon, 24 Dec 2007 07:36:14 +0000 (04:36 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Fri, 25 Jan 2008 21:04:20 +0000 (19:04 -0200)
Prevent the tda8290 module from probing for tuners during tda829x_attach,
by passing:

.probe_tuner = TDA829X_DONT_PROBE,

...in struct tda829x_config

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/tda8290.c
drivers/media/video/tda8290.h

index 2e1d9b6..bb62d56 100644 (file)
@@ -688,10 +688,17 @@ struct dvb_frontend *tda829x_attach(struct dvb_frontend *fe,
                       sizeof(struct analog_demod_ops));
        }
 
-       if (tda829x_find_tuner(fe) < 0)
+       if ((!(cfg) || (TDA829X_PROBE_TUNER == cfg->probe_tuner)) &&
+           (tda829x_find_tuner(fe) < 0))
                goto fail;
 
        switch (priv->ver) {
+       case TDA8290:
+               name = "tda8290";
+               break;
+       case TDA8295:
+               name = "tda8295";
+               break;
        case TDA8290 | TDA8275:
                name = "tda8290+75";
                break;
index 7bce031..dc8ef31 100644 (file)
 struct tda829x_config {
        unsigned int *lna_cfg;
        int (*tuner_callback) (void *dev, int command, int arg);
+
+       unsigned int probe_tuner:1;
+#define TDA829X_PROBE_TUNER 0
+#define TDA829X_DONT_PROBE  1
 };
 
 #if defined(CONFIG_TUNER_TDA8290) || (defined(CONFIG_TUNER_TDA8290_MODULE) && defined(MODULE))