Browse Source

V4L/DVB (7375): cx88/saa7134: fix magic number for xc3028 reusage detection

tuner-xc2028 needs to know when a DVB module is sharing the same analog tuner.
This is done by comparing a magic number that needs to be the same on analog
and on digital. To make easier, this magic number is a pointer to some data
struct.

With the previous code, two different pointers were using, causing a
miss-detection.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab 17 years ago
parent
commit
50407f99a1
2 changed files with 2 additions and 2 deletions
  1. 1 1
      drivers/media/video/cx88/cx88-dvb.c
  2. 1 1
      drivers/media/video/saa7134/saa7134-dvb.c

+ 1 - 1
drivers/media/video/cx88/cx88-dvb.c

@@ -458,7 +458,7 @@ static int attach_xc3028(u8 addr, struct cx8802_dev *dev)
 	struct xc2028_config cfg = {
 		.i2c_adap  = &dev->core->i2c_adap,
 		.i2c_addr  = addr,
-		.video_dev = dev->core,
+		.video_dev = dev->core->i2c_adap.algo_data,
 	};
 
 	if (!dev->dvb.frontend) {

+ 1 - 1
drivers/media/video/saa7134/saa7134-dvb.c

@@ -1166,7 +1166,7 @@ static int dvb_init(struct saa7134_dev *dev)
 		struct xc2028_config cfg = {
 			.i2c_adap  = &dev->i2c_adap,
 			.i2c_addr  = 0x61,
-			.video_dev = dev,
+			.video_dev = dev->i2c_adap.algo_data,
 		};
 		fe = dvb_attach(xc2028_attach, dev->dvb.frontend, &cfg);
 		if (!fe) {