aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/dvb-usb/dtt200u.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/dvb/dvb-usb/dtt200u.c')
-rw-r--r--drivers/media/dvb/dvb-usb/dtt200u.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/drivers/media/dvb/dvb-usb/dtt200u.c b/drivers/media/dvb/dvb-usb/dtt200u.c
index 70afcfd141ca..8134786f65b2 100644
--- a/drivers/media/dvb/dvb-usb/dtt200u.c
+++ b/drivers/media/dvb/dvb-usb/dtt200u.c
@@ -93,6 +93,7 @@ static int dtt200u_frontend_attach(struct dvb_usb_device *d)
93} 93}
94 94
95static struct dvb_usb_properties dtt200u_properties; 95static struct dvb_usb_properties dtt200u_properties;
96static struct dvb_usb_properties wt220u_fc_properties;
96static struct dvb_usb_properties wt220u_properties; 97static struct dvb_usb_properties wt220u_properties;
97static struct dvb_usb_properties wt220u_zl0353_properties; 98static struct dvb_usb_properties wt220u_zl0353_properties;
98 99
@@ -101,6 +102,7 @@ static int dtt200u_usb_probe(struct usb_interface *intf,
101{ 102{
102 if (dvb_usb_device_init(intf,&dtt200u_properties,THIS_MODULE,NULL) == 0 || 103 if (dvb_usb_device_init(intf,&dtt200u_properties,THIS_MODULE,NULL) == 0 ||
103 dvb_usb_device_init(intf,&wt220u_properties,THIS_MODULE,NULL) == 0 || 104 dvb_usb_device_init(intf,&wt220u_properties,THIS_MODULE,NULL) == 0 ||
105 dvb_usb_device_init(intf,&wt220u_fc_properties,THIS_MODULE,NULL) == 0 ||
104 dvb_usb_device_init(intf,&wt220u_zl0353_properties,THIS_MODULE,NULL) == 0) 106 dvb_usb_device_init(intf,&wt220u_zl0353_properties,THIS_MODULE,NULL) == 0)
105 return 0; 107 return 0;
106 108
@@ -114,6 +116,8 @@ static struct usb_device_id dtt200u_usb_table [] = {
114 { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_WARM) }, 116 { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_WARM) },
115 { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_ZL0353_COLD) }, 117 { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_ZL0353_COLD) },
116 { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_ZL0353_WARM) }, 118 { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_ZL0353_WARM) },
119 { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_FC_COLD) },
120 { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_FC_WARM) },
117 { 0 }, 121 { 0 },
118}; 122};
119MODULE_DEVICE_TABLE(usb, dtt200u_usb_table); 123MODULE_DEVICE_TABLE(usb, dtt200u_usb_table);
@@ -200,6 +204,47 @@ static struct dvb_usb_properties wt220u_properties = {
200 } 204 }
201}; 205};
202 206
207static struct dvb_usb_properties wt220u_fc_properties = {
208 .caps = DVB_USB_HAS_PID_FILTER | DVB_USB_NEED_PID_FILTERING,
209 .pid_filter_count = 15,
210
211 .usb_ctrl = CYPRESS_FX2,
212 .firmware = "dvb-usb-wt220u-fc03.fw",
213
214 .power_ctrl = dtt200u_power_ctrl,
215 .streaming_ctrl = dtt200u_streaming_ctrl,
216 .pid_filter = dtt200u_pid_filter,
217 .frontend_attach = dtt200u_frontend_attach,
218
219 .rc_interval = 300,
220 .rc_key_map = dtt200u_rc_keys,
221 .rc_key_map_size = ARRAY_SIZE(dtt200u_rc_keys),
222 .rc_query = dtt200u_rc_query,
223
224 .generic_bulk_ctrl_endpoint = 0x01,
225
226 /* parameter for the MPEG2-data transfer */
227 .urb = {
228 .type = DVB_USB_BULK,
229 .count = 7,
230 .endpoint = 0x86,
231 .u = {
232 .bulk = {
233 .buffersize = 4096,
234 }
235 }
236 },
237
238 .num_device_descs = 1,
239 .devices = {
240 { .name = "WideView WT-220U PenType Receiver (Typhoon/Freecom)",
241 .cold_ids = { &dtt200u_usb_table[6], NULL },
242 .warm_ids = { &dtt200u_usb_table[7], NULL },
243 },
244 { NULL },
245 }
246};
247
203static struct dvb_usb_properties wt220u_zl0353_properties = { 248static struct dvb_usb_properties wt220u_zl0353_properties = {
204 .caps = DVB_USB_HAS_PID_FILTER | DVB_USB_NEED_PID_FILTERING, 249 .caps = DVB_USB_HAS_PID_FILTER | DVB_USB_NEED_PID_FILTERING,
205 .pid_filter_count = 15, 250 .pid_filter_count = 15,