summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cx23885/cx23885-dvb.c
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2007-12-24 02:52:08 -0500
committerMichael Krufky <mkrufky@linuxtv.org>2007-12-24 02:52:08 -0500
commit39845599d39cfd79d2f1d267e04f046bc442be7d (patch)
tree40f5539d4279726abd950c54259d2b61951a0c3a /linux/drivers/media/video/cx23885/cx23885-dvb.c
parent9a09e3eb40c7039cc892ff330695d0703ef829d8 (diff)
downloadmediapointer-dvb-s2-39845599d39cfd79d2f1d267e04f046bc442be7d.tar.gz
mediapointer-dvb-s2-39845599d39cfd79d2f1d267e04f046bc442be7d.tar.bz2
cx23885: fix bad use count caused by tda18271 being probed by tda8290
From: Michael Krufky <mkrufky@linuxtv.org> 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>
Diffstat (limited to 'linux/drivers/media/video/cx23885/cx23885-dvb.c')
-rw-r--r--linux/drivers/media/video/cx23885/cx23885-dvb.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/linux/drivers/media/video/cx23885/cx23885-dvb.c b/linux/drivers/media/video/cx23885/cx23885-dvb.c
index 0431a4096..3ec5e425c 100644
--- a/linux/drivers/media/video/cx23885/cx23885-dvb.c
+++ b/linux/drivers/media/video/cx23885/cx23885-dvb.c
@@ -34,6 +34,7 @@
#include "s5h1409.h"
#include "mt2131.h"
#include "tda8290.h"
+#include "tda18271.h"
#include "lgdt330x.h"
#include "xc5000.h"
#include "dvb-pll.h"
@@ -179,6 +180,10 @@ static struct xc5000_config hauppauge_hvr1500q_tunerconfig = {
.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;
@@ -241,7 +246,10 @@ static int dvb_register(struct cx23885_tsport *port)
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: