aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb
diff options
context:
space:
mode:
authorJiri Slaby <jslaby@suse.cz>2010-01-22 10:10:55 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-02-26 13:10:52 -0500
commite3a0cc62c80a997512295d8f714ee09fafbb4c99 (patch)
treeca285108e192e02cb54266b7d23213267b216bf6 /drivers/media/dvb
parent26c3b8b060b3a06f912e5c50bc8ef6ed96195458 (diff)
V4L/DVB: media: dvb/af9015, add hashes support
So as a final patch, add support for hash and one hash entry for MSI digi vox mini II: iManufacturer 1 Afatech iProduct 2 DVB-T 2 iSerial 3 010101010600001 It is now handled with proper IR and key map tables. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Acked-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb')
-rw-r--r--drivers/media/dvb/dvb-usb/af9015.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/media/dvb/dvb-usb/af9015.c b/drivers/media/dvb/dvb-usb/af9015.c
index 03ba2fdee834..47ab2e92c6af 100644
--- a/drivers/media/dvb/dvb-usb/af9015.c
+++ b/drivers/media/dvb/dvb-usb/af9015.c
@@ -788,6 +788,13 @@ static const struct af9015_setup af9015_setup_usbids[] = {
788 { } 788 { }
789}; 789};
790 790
791static const struct af9015_setup af9015_setup_hashes[] = {
792 { 0xb8feb708,
793 af9015_rc_keys_msi, ARRAY_SIZE(af9015_rc_keys_msi),
794 af9015_ir_table_msi, ARRAY_SIZE(af9015_ir_table_msi) },
795 { }
796};
797
791static void af9015_set_remote_config(struct usb_device *udev, 798static void af9015_set_remote_config(struct usb_device *udev,
792 struct dvb_usb_device_properties *props) 799 struct dvb_usb_device_properties *props)
793{ 800{
@@ -800,7 +807,10 @@ static void af9015_set_remote_config(struct usb_device *udev,
800 } else { 807 } else {
801 u16 vendor = le16_to_cpu(udev->descriptor.idVendor); 808 u16 vendor = le16_to_cpu(udev->descriptor.idVendor);
802 809
803 if (vendor == USB_VID_AFATECH) { 810 table = af9015_setup_match(af9015_config.eeprom_sum,
811 af9015_setup_hashes);
812
813 if (!table && vendor == USB_VID_AFATECH) {
804 /* Check USB manufacturer and product strings and try 814 /* Check USB manufacturer and product strings and try
805 to determine correct remote in case of chip vendor 815 to determine correct remote in case of chip vendor
806 reference IDs are used. 816 reference IDs are used.
@@ -831,7 +841,7 @@ static void af9015_set_remote_config(struct usb_device *udev,
831 ARRAY_SIZE(af9015_ir_table_trekstor) 841 ARRAY_SIZE(af9015_ir_table_trekstor)
832 }; 842 };
833 } 843 }
834 } else 844 } else if (!table)
835 table = af9015_setup_match(vendor, af9015_setup_usbids); 845 table = af9015_setup_match(vendor, af9015_setup_usbids);
836 } 846 }
837 847