aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/usbvision/usbvision-i2c.c
diff options
context:
space:
mode:
authorTrent Piepho <xyzzy@speakeasy.org>2007-04-15 10:09:56 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-04-27 15:45:40 -0300
commit3153bd91bfe14b6b93aef5b6b7c9fc279eec60d9 (patch)
treee363753883366121fbe9bdd7109d3cea65b558d4 /drivers/media/video/usbvision/usbvision-i2c.c
parent66ab6e023ebbb362b7cf42c8f56cc54a85fb7bb0 (diff)
downloadkernel_samsung_tuna-3153bd91bfe14b6b93aef5b6b7c9fc279eec60d9.zip
kernel_samsung_tuna-3153bd91bfe14b6b93aef5b6b7c9fc279eec60d9.tar.gz
kernel_samsung_tuna-3153bd91bfe14b6b93aef5b6b7c9fc279eec60d9.tar.bz2
V4L/DVB (5525): Usbvision: fix confusion over 7-bit vs 8-bit TDDA9887 addresses
The code was testing an 8-bit address against a 7-bit address. Will the confusion of the two never cease? Biggest flaw of the I2C protocol: the R/W bit is the LSB instead of the MSB. No one can ever agree if addresses are 7-bits and the R/W bit follows them, or if they are 8-bit and the R/W bit is OR-ed into the address byte. If the R/W bit was first, it wouldn't make any difference! Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/usbvision/usbvision-i2c.c')
-rw-r--r--drivers/media/video/usbvision/usbvision-i2c.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/media/video/usbvision/usbvision-i2c.c b/drivers/media/video/usbvision/usbvision-i2c.c
index ff84680..846e51b 100644
--- a/drivers/media/video/usbvision/usbvision-i2c.c
+++ b/drivers/media/video/usbvision/usbvision-i2c.c
@@ -278,9 +278,10 @@ static int attach_inform(struct i2c_client *client)
usbvision = i2c_get_adapdata(client->adapter);
switch (client->addr << 1) {
- case 0x86:
- case 0x43:
- case 0x4b:
+ case 0x42 << 1:
+ case 0x43 << 1:
+ case 0x4a << 1:
+ case 0x4b << 1:
{
struct tuner_setup tun_setup;