diff options
author | Jiri Slaby <jslaby@suse.cz> | 2010-01-22 10:10:55 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-02-26 13:10:52 -0500 |
commit | e3a0cc62c80a997512295d8f714ee09fafbb4c99 (patch) | |
tree | ca285108e192e02cb54266b7d23213267b216bf6 /drivers | |
parent | 26c3b8b060b3a06f912e5c50bc8ef6ed96195458 (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')
-rw-r--r-- | drivers/media/dvb/dvb-usb/af9015.c | 14 |
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 | ||
791 | static 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 | |||
791 | static void af9015_set_remote_config(struct usb_device *udev, | 798 | static 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 | ||