[media] media: Add 0x3009 USB PID to ttusb2 driver (fixed diff)
authorChristoph Nuscheler <christoph.nuscheler@t-online.de>
Sat, 9 Feb 2013 18:56:23 +0000 (15:56 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 13 Feb 2013 20:05:29 +0000 (18:05 -0200)
The "Technisat SkyStar USB plus" is a TT-connect S-2400 clone, which the
V4L-DVB drivers already support. However, some of these devices (like
mine) come with a different USB PID 0x3009 instead of 0x3006.

There have already been patches simply overwriting the USB PID in
dvb-usb-ids.h. Of course these patches were rejected because they would
have disabled the 0x3006 PID.

This new patch adds the 0x3009 PID to dvb-usb-ids.h, and adds references
to it within the ttusb2.c driver. PID 0x3006 devices will continue to work.

The only difference between the two hardware models seems to be the
EEPROM chip. In fact, Windows BDA driver names the 0x3009 device with a
"(8 kB EEPROM)" suffix. In spite of that, the 0x3009 device works
absolutely flawlessly using the existing ttusb2 driver.

Signed-off-by: Christoph Nuscheler <christoph.nuscheler@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb-core/dvb-usb-ids.h
drivers/media/usb/dvb-usb/ttusb2.c

index 7e1597d..399e104 100644 (file)
 #define USB_PID_AVERMEDIA_A867                         0xa867
 #define USB_PID_AVERMEDIA_TWINSTAR                     0x0825
 #define USB_PID_TECHNOTREND_CONNECT_S2400               0x3006
+#define USB_PID_TECHNOTREND_CONNECT_S2400_8KEEPROM     0x3009
 #define USB_PID_TECHNOTREND_CONNECT_CT3650             0x300d
 #define USB_PID_TERRATEC_CINERGY_DT_XS_DIVERSITY       0x005a
 #define USB_PID_TERRATEC_CINERGY_DT_XS_DIVERSITY_2     0x0081
index bcdac22..2ce3d19 100644 (file)
@@ -620,6 +620,8 @@ static struct usb_device_id ttusb2_table [] = {
                USB_PID_TECHNOTREND_CONNECT_S2400) },
        { USB_DEVICE(USB_VID_TECHNOTREND,
                USB_PID_TECHNOTREND_CONNECT_CT3650) },
+       { USB_DEVICE(USB_VID_TECHNOTREND,
+               USB_PID_TECHNOTREND_CONNECT_S2400_8KEEPROM) },
        {}              /* Terminating entry */
 };
 MODULE_DEVICE_TABLE (usb, ttusb2_table);
@@ -721,12 +723,16 @@ static struct dvb_usb_device_properties ttusb2_properties_s2400 = {
 
        .generic_bulk_ctrl_endpoint = 0x01,
 
-       .num_device_descs = 1,
+       .num_device_descs = 2,
        .devices = {
                {   "Technotrend TT-connect S-2400",
                        { &ttusb2_table[2], NULL },
                        { NULL },
                },
+               {   "Technotrend TT-connect S-2400 (8kB EEPROM)",
+                       { &ttusb2_table[4], NULL },
+                       { NULL },
+               },
        }
 };