summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/saa7111.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux/drivers/media/video/saa7111.c')
-rw-r--r--linux/drivers/media/video/saa7111.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/linux/drivers/media/video/saa7111.c b/linux/drivers/media/video/saa7111.c
index 7dc3bae14..456e2fdf1 100644
--- a/linux/drivers/media/video/saa7111.c
+++ b/linux/drivers/media/video/saa7111.c
@@ -150,6 +150,14 @@ static int saa7111_attach(struct i2c_adapter *adap, int addr, unsigned short fla
}
static int saa7111_probe(struct i2c_adapter *adap)
{
+ /* probing unknown devices on any Matrox i2c-bus takes ages due to the
+ slow bit banging algorithm used. because of the fact a saa7111(a)
+ is *never* present on a Matrox gfx card, we can skip such adapters
+ here */
+ if( 0 != (adap->id & I2C_HW_B_G400)) {
+ return -ENODEV;
+ }
+
printk("saa7111: probing %s i2c adapter [id=0x%x]\n",
adap->name,adap->id);
return i2c_probe(adap, &addr_data, saa7111_attach);