diff options
author | Jean Delvare <khali@linux-fr.org> | 2009-10-02 08:48:04 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-12-05 15:41:02 -0500 |
commit | 30093e8bf90217deef07299bae45d95ddc5fdb8a (patch) | |
tree | af1ad5051c3e43a6c43c1563793d6e6b0054b014 /drivers/media/video/saa7134/saa7134-input.c | |
parent | aef02aa1e2593b39f808b2b8ae928699087b96dc (diff) |
V4L/DVB (13235): saa7134: Complete the IR address list
Google is pretty clear that the HVR 1110 IR chip is always at address
0x71 and the BeholdTV IR chip is always at address 0x2d. This
completes the list of IR device addresses for the SAA7134-based
adapters, and we no longer need to probe any of them.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/saa7134/saa7134-input.c')
-rw-r--r-- | drivers/media/video/saa7134/saa7134-input.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/drivers/media/video/saa7134/saa7134-input.c b/drivers/media/video/saa7134/saa7134-input.c index c3b5cfa13b60..8f9203e7d3b8 100644 --- a/drivers/media/video/saa7134/saa7134-input.c +++ b/drivers/media/video/saa7134/saa7134-input.c | |||
@@ -696,10 +696,6 @@ void saa7134_input_fini(struct saa7134_dev *dev) | |||
696 | void saa7134_probe_i2c_ir(struct saa7134_dev *dev) | 696 | void saa7134_probe_i2c_ir(struct saa7134_dev *dev) |
697 | { | 697 | { |
698 | struct i2c_board_info info; | 698 | struct i2c_board_info info; |
699 | const unsigned short addr_list[] = { | ||
700 | 0x47, 0x71, 0x2d, | ||
701 | I2C_CLIENT_END | ||
702 | }; | ||
703 | 699 | ||
704 | struct i2c_msg msg_msi = { | 700 | struct i2c_msg msg_msi = { |
705 | .addr = 0x50, | 701 | .addr = 0x50, |
@@ -757,6 +753,7 @@ void saa7134_probe_i2c_ir(struct saa7134_dev *dev) | |||
757 | dev->init_data.name = "HVR 1110"; | 753 | dev->init_data.name = "HVR 1110"; |
758 | dev->init_data.get_key = get_key_hvr1110; | 754 | dev->init_data.get_key = get_key_hvr1110; |
759 | dev->init_data.ir_codes = &ir_codes_hauppauge_new_table; | 755 | dev->init_data.ir_codes = &ir_codes_hauppauge_new_table; |
756 | info.addr = 0x71; | ||
760 | break; | 757 | break; |
761 | case SAA7134_BOARD_BEHOLD_607FM_MK3: | 758 | case SAA7134_BOARD_BEHOLD_607FM_MK3: |
762 | case SAA7134_BOARD_BEHOLD_607FM_MK5: | 759 | case SAA7134_BOARD_BEHOLD_607FM_MK5: |
@@ -774,23 +771,20 @@ void saa7134_probe_i2c_ir(struct saa7134_dev *dev) | |||
774 | dev->init_data.name = "BeholdTV"; | 771 | dev->init_data.name = "BeholdTV"; |
775 | dev->init_data.get_key = get_key_beholdm6xx; | 772 | dev->init_data.get_key = get_key_beholdm6xx; |
776 | dev->init_data.ir_codes = &ir_codes_behold_table; | 773 | dev->init_data.ir_codes = &ir_codes_behold_table; |
774 | info.addr = 0x2d; | ||
777 | break; | 775 | break; |
778 | case SAA7134_BOARD_AVERMEDIA_CARDBUS_501: | 776 | case SAA7134_BOARD_AVERMEDIA_CARDBUS_501: |
779 | case SAA7134_BOARD_AVERMEDIA_CARDBUS_506: | 777 | case SAA7134_BOARD_AVERMEDIA_CARDBUS_506: |
780 | info.addr = 0x40; | 778 | info.addr = 0x40; |
781 | break; | 779 | break; |
780 | default: | ||
781 | dprintk("No I2C IR support for board %x\n", dev->board); | ||
782 | return; | ||
782 | } | 783 | } |
783 | 784 | ||
784 | if (dev->init_data.name) | 785 | if (dev->init_data.name) |
785 | info.platform_data = &dev->init_data; | 786 | info.platform_data = &dev->init_data; |
786 | /* No need to probe if address is known */ | 787 | i2c_new_device(&dev->i2c_adap, &info); |
787 | if (info.addr) { | ||
788 | i2c_new_device(&dev->i2c_adap, &info); | ||
789 | return; | ||
790 | } | ||
791 | |||
792 | /* Address not known, fallback to probing */ | ||
793 | i2c_new_probed_device(&dev->i2c_adap, &info, addr_list); | ||
794 | } | 788 | } |
795 | 789 | ||
796 | static int saa7134_rc5_irq(struct saa7134_dev *dev) | 790 | static int saa7134_rc5_irq(struct saa7134_dev *dev) |