summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/mxb.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux/drivers/media/video/mxb.c')
-rw-r--r--linux/drivers/media/video/mxb.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/linux/drivers/media/video/mxb.c b/linux/drivers/media/video/mxb.c
index c5a5e6921..b602a1d26 100644
--- a/linux/drivers/media/video/mxb.c
+++ b/linux/drivers/media/video/mxb.c
@@ -177,6 +177,9 @@ struct mxb
int cur_mute; /* current mute status */
};
+static
+struct saa7146_extension extension;
+
static int mxb_vbi_bypass(struct saa7146_dev* dev)
{
struct mxb* mxb = (struct mxb*)dev->ext_priv;
@@ -424,6 +427,12 @@ static int mxb_init_done(struct saa7146_dev* dev)
msg.buf = &saa7740_init[0].data[0];
if( 1 == (err = i2c_transfer(&mxb->i2c_adapter, &msg, 1))) {
+ /* the sound arena module is a pos, that's probably the reason
+ philips refuses to hand out a datasheet for the saa7740...
+ it seems to screw up the i2c bus, so we disable fast irq
+ based i2c transactions here and rely on the slow and safe
+ polling method ... */
+ extension.flags &= ~SAA7146_USE_I2C_IRQ;
for(i = 1;;i++) {
msg.len = saa7740_init[i].length;
if( -1 == msg.len ) {
@@ -1003,9 +1012,6 @@ static struct saa7146_standard standard[] = {
};
static
-struct saa7146_extension extension;
-
-static
struct saa7146_pci_extension_data mxb = {
.ext_priv = "Multimedia eXtension Board",
.ext = &extension,