V4L/DVB (13234): IR device at I2C address 0x7a
authorJean Delvare <khali@linux-fr.org>
Fri, 2 Oct 2009 11:47:22 +0000 (08:47 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 5 Dec 2009 20:41:02 +0000 (18:41 -0200)
The i2c core prevents us from probing I2C address 0x7a because it's
not a valid 7-bit address (reserved for 10-bit addressing.) So we must
stop probing this address, and explicitly list all adapters which use
it. Under the assumption that only the Upmost Purple TV adapter uses
this invalid address, this fix should do the trick.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: hermann pitton <hermann-pitton@arcor.de>
Acked-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/saa7134/saa7134-input.c

index bcb65e9..c3b5cfa 100644 (file)
@@ -697,7 +697,7 @@ void saa7134_probe_i2c_ir(struct saa7134_dev *dev)
 {
        struct i2c_board_info info;
        const unsigned short addr_list[] = {
-               0x7a, 0x47, 0x71, 0x2d,
+               0x47, 0x71, 0x2d,
                I2C_CLIENT_END
        };
 
@@ -737,6 +737,7 @@ void saa7134_probe_i2c_ir(struct saa7134_dev *dev)
                dev->init_data.name = "Purple TV";
                dev->init_data.get_key = get_key_purpletv;
                dev->init_data.ir_codes = &ir_codes_purpletv_table;
+               info.addr = 0x7a;
                break;
        case SAA7134_BOARD_MSI_TVATANYWHERE_PLUS:
                dev->init_data.name = "MSI TV@nywhere Plus";