diff options
author | Trent Piepho <xyzzy@speakeasy.org> | 2007-04-15 09:09:56 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-04-27 14:45:40 -0400 |
commit | 3153bd91bfe14b6b93aef5b6b7c9fc279eec60d9 (patch) | |
tree | e363753883366121fbe9bdd7109d3cea65b558d4 /drivers/media/video | |
parent | 66ab6e023ebbb362b7cf42c8f56cc54a85fb7bb0 (diff) |
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')
-rw-r--r-- | drivers/media/video/usbvision/usbvision-i2c.c | 7 |
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 ff8468093f46..846e51bfe3fb 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) | |||
278 | 278 | ||
279 | usbvision = i2c_get_adapdata(client->adapter); | 279 | usbvision = i2c_get_adapdata(client->adapter); |
280 | switch (client->addr << 1) { | 280 | switch (client->addr << 1) { |
281 | case 0x86: | 281 | case 0x42 << 1: |
282 | case 0x43: | 282 | case 0x43 << 1: |
283 | case 0x4b: | 283 | case 0x4a << 1: |
284 | case 0x4b << 1: | ||
284 | { | 285 | { |
285 | struct tuner_setup tun_setup; | 286 | struct tuner_setup tun_setup; |
286 | 287 | ||