aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/dvb-usb/cxusb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/dvb/dvb-usb/cxusb.c')
-rw-r--r--drivers/media/dvb/dvb-usb/cxusb.c108
1 files changed, 54 insertions, 54 deletions
diff --git a/drivers/media/dvb/dvb-usb/cxusb.c b/drivers/media/dvb/dvb-usb/cxusb.c
index 163b69405b95..3100ce91ccdb 100644
--- a/drivers/media/dvb/dvb-usb/cxusb.c
+++ b/drivers/media/dvb/dvb-usb/cxusb.c
@@ -15,6 +15,7 @@
15 * part 15 * part
16 * 16 *
17 * Copyright (C) 2005 Patrick Boettcher (patrick.boettcher@desy.de) 17 * Copyright (C) 2005 Patrick Boettcher (patrick.boettcher@desy.de)
18 * Copyright (C) 2005 Michael Krufky (mkrufky@m1k.net)
18 * Copyright (C) 2006 Chris Pascoe (c.pascoe@itee.uq.edu.au) 19 * Copyright (C) 2006 Chris Pascoe (c.pascoe@itee.uq.edu.au)
19 * 20 *
20 * This program is free software; you can redistribute it and/or modify it 21 * This program is free software; you can redistribute it and/or modify it
@@ -163,17 +164,17 @@ static int cxusb_streaming_ctrl(struct dvb_usb_device *d, int onoff)
163static int cxusb_rc_query(struct dvb_usb_device *d, u32 *event, int *state) 164static int cxusb_rc_query(struct dvb_usb_device *d, u32 *event, int *state)
164{ 165{
165 struct dvb_usb_rc_key *keymap = d->props.rc_key_map; 166 struct dvb_usb_rc_key *keymap = d->props.rc_key_map;
166 u8 irCode[4]; 167 u8 ircode[4];
167 int i; 168 int i;
168 169
169 cxusb_ctrl_msg(d, CMD_GET_IR_CODE, NULL, 0, irCode, 4); 170 cxusb_ctrl_msg(d, CMD_GET_IR_CODE, NULL, 0, ircode, 4);
170 171
171 *event = 0; 172 *event = 0;
172 *state = REMOTE_NO_KEY_PRESSED; 173 *state = REMOTE_NO_KEY_PRESSED;
173 174
174 for (i = 0; i < d->props.rc_key_map_size; i++) { 175 for (i = 0; i < d->props.rc_key_map_size; i++) {
175 if (keymap[i].custom == irCode[2] && 176 if (keymap[i].custom == ircode[2] &&
176 keymap[i].data == irCode[3]) { 177 keymap[i].data == ircode[3]) {
177 *event = keymap[i].event; 178 *event = keymap[i].event;
178 *state = REMOTE_KEY_PRESSED; 179 *state = REMOTE_KEY_PRESSED;
179 180
@@ -184,6 +185,54 @@ static int cxusb_rc_query(struct dvb_usb_device *d, u32 *event, int *state)
184 return 0; 185 return 0;
185} 186}
186 187
188struct dvb_usb_rc_key dvico_mce_rc_keys[] = {
189 { 0xfe, 0x02, KEY_TV },
190 { 0xfe, 0x0e, KEY_MP3 },
191 { 0xfe, 0x1a, KEY_DVD },
192 { 0xfe, 0x1e, KEY_FAVORITES },
193 { 0xfe, 0x16, KEY_SETUP },
194 { 0xfe, 0x46, KEY_POWER2 },
195 { 0xfe, 0x0a, KEY_EPG },
196 { 0xfe, 0x49, KEY_BACK },
197 { 0xfe, 0x4d, KEY_MENU },
198 { 0xfe, 0x51, KEY_UP },
199 { 0xfe, 0x5b, KEY_LEFT },
200 { 0xfe, 0x5f, KEY_RIGHT },
201 { 0xfe, 0x53, KEY_DOWN },
202 { 0xfe, 0x5e, KEY_OK },
203 { 0xfe, 0x59, KEY_INFO },
204 { 0xfe, 0x55, KEY_TAB },
205 { 0xfe, 0x0f, KEY_PREVIOUSSONG },/* Replay */
206 { 0xfe, 0x12, KEY_NEXTSONG }, /* Skip */
207 { 0xfe, 0x42, KEY_ENTER }, /* Windows/Start */
208 { 0xfe, 0x15, KEY_VOLUMEUP },
209 { 0xfe, 0x05, KEY_VOLUMEDOWN },
210 { 0xfe, 0x11, KEY_CHANNELUP },
211 { 0xfe, 0x09, KEY_CHANNELDOWN },
212 { 0xfe, 0x52, KEY_CAMERA },
213 { 0xfe, 0x5a, KEY_TUNER }, /* Live */
214 { 0xfe, 0x19, KEY_OPEN },
215 { 0xfe, 0x0b, KEY_1 },
216 { 0xfe, 0x17, KEY_2 },
217 { 0xfe, 0x1b, KEY_3 },
218 { 0xfe, 0x07, KEY_4 },
219 { 0xfe, 0x50, KEY_5 },
220 { 0xfe, 0x54, KEY_6 },
221 { 0xfe, 0x48, KEY_7 },
222 { 0xfe, 0x4c, KEY_8 },
223 { 0xfe, 0x58, KEY_9 },
224 { 0xfe, 0x13, KEY_ANGLE }, /* Aspect */
225 { 0xfe, 0x03, KEY_0 },
226 { 0xfe, 0x1f, KEY_ZOOM },
227 { 0xfe, 0x43, KEY_REWIND },
228 { 0xfe, 0x47, KEY_PLAYPAUSE },
229 { 0xfe, 0x4f, KEY_FASTFORWARD },
230 { 0xfe, 0x57, KEY_MUTE },
231 { 0xfe, 0x0d, KEY_STOP },
232 { 0xfe, 0x01, KEY_RECORD },
233 { 0xfe, 0x4e, KEY_POWER },
234};
235
187static int cxusb_dee1601_demod_init(struct dvb_frontend* fe) 236static int cxusb_dee1601_demod_init(struct dvb_frontend* fe)
188{ 237{
189 static u8 clock_config [] = { CLOCK_CTL, 0x38, 0x38 }; 238 static u8 clock_config [] = { CLOCK_CTL, 0x38, 0x38 };
@@ -304,8 +353,7 @@ static int cxusb_probe(struct usb_interface *intf,
304{ 353{
305 if (dvb_usb_device_init(intf,&cxusb_medion_properties,THIS_MODULE,NULL) == 0 || 354 if (dvb_usb_device_init(intf,&cxusb_medion_properties,THIS_MODULE,NULL) == 0 ||
306 dvb_usb_device_init(intf,&cxusb_bluebird_lgh064f_properties,THIS_MODULE,NULL) == 0 || 355 dvb_usb_device_init(intf,&cxusb_bluebird_lgh064f_properties,THIS_MODULE,NULL) == 0 ||
307 dvb_usb_device_init(intf,&cxusb_bluebird_dee1601_properties,THIS_MODULE,NULL) == 0 356 dvb_usb_device_init(intf,&cxusb_bluebird_dee1601_properties,THIS_MODULE,NULL) == 0) {
308 ){
309 return 0; 357 return 0;
310 } 358 }
311 359
@@ -397,54 +445,6 @@ static struct dvb_usb_properties cxusb_bluebird_lgh064f_properties = {
397 } 445 }
398}; 446};
399 447
400struct dvb_usb_rc_key dvico_mce_rc_keys[] = {
401 { 0xfe, 0x02, KEY_TV },
402 { 0xfe, 0x0e, KEY_MP3 },
403 { 0xfe, 0x1a, KEY_DVD },
404 { 0xfe, 0x1e, KEY_FAVORITES },
405 { 0xfe, 0x16, KEY_SETUP },
406 { 0xfe, 0x46, KEY_POWER2 },
407 { 0xfe, 0x0a, KEY_EPG },
408 { 0xfe, 0x49, KEY_BACK },
409 { 0xfe, 0x4d, KEY_MENU },
410 { 0xfe, 0x51, KEY_UP },
411 { 0xfe, 0x5b, KEY_LEFT },
412 { 0xfe, 0x5f, KEY_RIGHT },
413 { 0xfe, 0x53, KEY_DOWN },
414 { 0xfe, 0x5e, KEY_OK },
415 { 0xfe, 0x59, KEY_INFO },
416 { 0xfe, 0x55, KEY_TAB },
417 { 0xfe, 0x0f, KEY_PREVIOUSSONG },/* Replay */
418 { 0xfe, 0x12, KEY_NEXTSONG }, /* Skip */
419 { 0xfe, 0x42, KEY_ENTER }, /* Windows/Start */
420 { 0xfe, 0x15, KEY_VOLUMEUP },
421 { 0xfe, 0x05, KEY_VOLUMEDOWN },
422 { 0xfe, 0x11, KEY_CHANNELUP },
423 { 0xfe, 0x09, KEY_CHANNELDOWN },
424 { 0xfe, 0x52, KEY_CAMERA },
425 { 0xfe, 0x5a, KEY_TUNER }, /* Live */
426 { 0xfe, 0x19, KEY_OPEN },
427 { 0xfe, 0x0b, KEY_1 },
428 { 0xfe, 0x17, KEY_2 },
429 { 0xfe, 0x1b, KEY_3 },
430 { 0xfe, 0x07, KEY_4 },
431 { 0xfe, 0x50, KEY_5 },
432 { 0xfe, 0x54, KEY_6 },
433 { 0xfe, 0x48, KEY_7 },
434 { 0xfe, 0x4c, KEY_8 },
435 { 0xfe, 0x58, KEY_9 },
436 { 0xfe, 0x13, KEY_ANGLE }, /* Aspect */
437 { 0xfe, 0x03, KEY_0 },
438 { 0xfe, 0x1f, KEY_ZOOM },
439 { 0xfe, 0x43, KEY_REWIND },
440 { 0xfe, 0x47, KEY_PLAYPAUSE },
441 { 0xfe, 0x4f, KEY_FASTFORWARD },
442 { 0xfe, 0x57, KEY_MUTE },
443 { 0xfe, 0x0d, KEY_STOP },
444 { 0xfe, 0x01, KEY_RECORD },
445 { 0xfe, 0x4e, KEY_POWER },
446};
447
448static struct dvb_usb_properties cxusb_bluebird_dee1601_properties = { 448static struct dvb_usb_properties cxusb_bluebird_dee1601_properties = {
449 .caps = DVB_USB_IS_AN_I2C_ADAPTER, 449 .caps = DVB_USB_IS_AN_I2C_ADAPTER,
450 450