V4L/DVB (6908): tda8290: add the option not to probe for tuners passed into tda829x_config

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>
diff --git a/drivers/media/video/tda8290.c b/drivers/media/video/tda8290.c
index 2e1d9b6..bb62d56 100644
--- a/drivers/media/video/tda8290.c
+++ b/drivers/media/video/tda8290.c
@@ -688,10 +688,17 @@
 		       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;
diff --git a/drivers/media/video/tda8290.h b/drivers/media/video/tda8290.h
index 7bce031..dc8ef31 100644
--- a/drivers/media/video/tda8290.h
+++ b/drivers/media/video/tda8290.h
@@ -23,6 +23,10 @@
 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))