V4L/DVB (6909): cx23885: fix bad use count caused by tda18271 being probed by tda8290

Don't allow the tda8290 module to probe and attach the tuner module,
causing incorrect use counts when using dvb_attach.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
diff --git a/drivers/media/video/cx23885/cx23885-dvb.c b/drivers/media/video/cx23885/cx23885-dvb.c
index 0f7e9df..81dd47f 100644
--- a/drivers/media/video/cx23885/cx23885-dvb.c
+++ b/drivers/media/video/cx23885/cx23885-dvb.c
@@ -33,6 +33,7 @@
 #include "s5h1409.h"
 #include "mt2131.h"
 #include "tda8290.h"
+#include "tda18271.h"
 #include "lgdt330x.h"
 #include "xc5000.h"
 #include "dvb-pll.h"
@@ -178,6 +179,10 @@
 	.tuner_reset      = hauppauge_hvr1500q_tuner_reset
 };
 
+static struct tda829x_config tda829x_no_probe = {
+	.probe_tuner = TDA829X_DONT_PROBE,
+};
+
 static int cx23885_hvr1500_xc3028_callback(void *ptr, int command, int arg)
 {
 	struct cx23885_tsport *port = ptr;
@@ -240,7 +245,10 @@
 			if (port->dvb.frontend != NULL) {
 				dvb_attach(tda829x_attach, port->dvb.frontend,
 					   &dev->i2c_bus[1].i2c_adap, 0x42,
-					   NULL);
+					   &tda829x_no_probe);
+				dvb_attach(tda18271_attach, port->dvb.frontend,
+					   0x60, &dev->i2c_bus[1].i2c_adap,
+					   TDA18271_GATE_ANALOG);
 			}
 			break;
 		case 0: