diff options
Diffstat (limited to 'drivers/media/dvb/dvb-usb/dtt200u.c')
-rw-r--r-- | drivers/media/dvb/dvb-usb/dtt200u.c | 47 |
1 files changed, 46 insertions, 1 deletions
diff --git a/drivers/media/dvb/dvb-usb/dtt200u.c b/drivers/media/dvb/dvb-usb/dtt200u.c index 12ebaf8bddca..70afcfd141ca 100644 --- a/drivers/media/dvb/dvb-usb/dtt200u.c +++ b/drivers/media/dvb/dvb-usb/dtt200u.c | |||
@@ -94,12 +94,14 @@ static int dtt200u_frontend_attach(struct dvb_usb_device *d) | |||
94 | 94 | ||
95 | static struct dvb_usb_properties dtt200u_properties; | 95 | static struct dvb_usb_properties dtt200u_properties; |
96 | static struct dvb_usb_properties wt220u_properties; | 96 | static struct dvb_usb_properties wt220u_properties; |
97 | static struct dvb_usb_properties wt220u_zl0353_properties; | ||
97 | 98 | ||
98 | static int dtt200u_usb_probe(struct usb_interface *intf, | 99 | static int dtt200u_usb_probe(struct usb_interface *intf, |
99 | const struct usb_device_id *id) | 100 | const struct usb_device_id *id) |
100 | { | 101 | { |
101 | if (dvb_usb_device_init(intf,&dtt200u_properties,THIS_MODULE,NULL) == 0 || | 102 | if (dvb_usb_device_init(intf,&dtt200u_properties,THIS_MODULE,NULL) == 0 || |
102 | dvb_usb_device_init(intf,&wt220u_properties,THIS_MODULE,NULL) == 0) | 103 | dvb_usb_device_init(intf,&wt220u_properties,THIS_MODULE,NULL) == 0 || |
104 | dvb_usb_device_init(intf,&wt220u_zl0353_properties,THIS_MODULE,NULL) == 0) | ||
103 | return 0; | 105 | return 0; |
104 | 106 | ||
105 | return -ENODEV; | 107 | return -ENODEV; |
@@ -110,6 +112,8 @@ static struct usb_device_id dtt200u_usb_table [] = { | |||
110 | { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_DTT200U_WARM) }, | 112 | { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_DTT200U_WARM) }, |
111 | { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_COLD) }, | 113 | { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_COLD) }, |
112 | { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_WARM) }, | 114 | { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_WARM) }, |
115 | { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_ZL0353_COLD) }, | ||
116 | { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_ZL0353_WARM) }, | ||
113 | { 0 }, | 117 | { 0 }, |
114 | }; | 118 | }; |
115 | MODULE_DEVICE_TABLE(usb, dtt200u_usb_table); | 119 | MODULE_DEVICE_TABLE(usb, dtt200u_usb_table); |
@@ -196,6 +200,47 @@ static struct dvb_usb_properties wt220u_properties = { | |||
196 | } | 200 | } |
197 | }; | 201 | }; |
198 | 202 | ||
203 | static struct dvb_usb_properties wt220u_zl0353_properties = { | ||
204 | .caps = DVB_USB_HAS_PID_FILTER | DVB_USB_NEED_PID_FILTERING, | ||
205 | .pid_filter_count = 15, | ||
206 | |||
207 | .usb_ctrl = CYPRESS_FX2, | ||
208 | .firmware = "dvb-usb-wt220u-zl0353-01.fw", | ||
209 | |||
210 | .power_ctrl = dtt200u_power_ctrl, | ||
211 | .streaming_ctrl = dtt200u_streaming_ctrl, | ||
212 | .pid_filter = dtt200u_pid_filter, | ||
213 | .frontend_attach = dtt200u_frontend_attach, | ||
214 | |||
215 | .rc_interval = 300, | ||
216 | .rc_key_map = dtt200u_rc_keys, | ||
217 | .rc_key_map_size = ARRAY_SIZE(dtt200u_rc_keys), | ||
218 | .rc_query = dtt200u_rc_query, | ||
219 | |||
220 | .generic_bulk_ctrl_endpoint = 0x01, | ||
221 | |||
222 | /* parameter for the MPEG2-data transfer */ | ||
223 | .urb = { | ||
224 | .type = DVB_USB_BULK, | ||
225 | .count = 7, | ||
226 | .endpoint = 0x02, | ||
227 | .u = { | ||
228 | .bulk = { | ||
229 | .buffersize = 4096, | ||
230 | } | ||
231 | } | ||
232 | }, | ||
233 | |||
234 | .num_device_descs = 1, | ||
235 | .devices = { | ||
236 | { .name = "WideView WT-220U PenType Receiver (based on ZL353)", | ||
237 | .cold_ids = { &dtt200u_usb_table[4], NULL }, | ||
238 | .warm_ids = { &dtt200u_usb_table[5], NULL }, | ||
239 | }, | ||
240 | { NULL }, | ||
241 | } | ||
242 | }; | ||
243 | |||
199 | /* usb specific object needed to register this driver with the usb subsystem */ | 244 | /* usb specific object needed to register this driver with the usb subsystem */ |
200 | static struct usb_driver dtt200u_usb_driver = { | 245 | static struct usb_driver dtt200u_usb_driver = { |
201 | .name = "dvb_usb_dtt200u", | 246 | .name = "dvb_usb_dtt200u", |