diff options
Diffstat (limited to 'drivers/media/dvb/dvb-usb/dib0700_devices.c')
-rw-r--r-- | drivers/media/dvb/dvb-usb/dib0700_devices.c | 142 |
1 files changed, 83 insertions, 59 deletions
diff --git a/drivers/media/dvb/dvb-usb/dib0700_devices.c b/drivers/media/dvb/dvb-usb/dib0700_devices.c index 0c9adbbcedb2..2ae74ba3acbb 100644 --- a/drivers/media/dvb/dvb-usb/dib0700_devices.c +++ b/drivers/media/dvb/dvb-usb/dib0700_devices.c | |||
@@ -477,7 +477,7 @@ static int dib0700_rc_query(struct dvb_usb_device *d, u32 *event, int *state) | |||
477 | { | 477 | { |
478 | u8 key[4]; | 478 | u8 key[4]; |
479 | int i; | 479 | int i; |
480 | struct ir_scancode *keymap = d->props.rc_key_map; | 480 | struct ir_scancode *keymap = d->props.rc.legacy.rc_key_map; |
481 | struct dib0700_state *st = d->priv; | 481 | struct dib0700_state *st = d->priv; |
482 | 482 | ||
483 | *event = 0; | 483 | *event = 0; |
@@ -517,7 +517,7 @@ static int dib0700_rc_query(struct dvb_usb_device *d, u32 *event, int *state) | |||
517 | } | 517 | } |
518 | return 0; | 518 | return 0; |
519 | } | 519 | } |
520 | for (i=0;i<d->props.rc_key_map_size; i++) { | 520 | for (i=0;i<d->props.rc.legacy.rc_key_map_size; i++) { |
521 | if (rc5_custom(&keymap[i]) == key[3-2] && | 521 | if (rc5_custom(&keymap[i]) == key[3-2] && |
522 | rc5_data(&keymap[i]) == key[3-3]) { | 522 | rc5_data(&keymap[i]) == key[3-3]) { |
523 | st->rc_counter = 0; | 523 | st->rc_counter = 0; |
@@ -531,7 +531,7 @@ static int dib0700_rc_query(struct dvb_usb_device *d, u32 *event, int *state) | |||
531 | } | 531 | } |
532 | default: { | 532 | default: { |
533 | /* RC-5 protocol changes toggle bit on new keypress */ | 533 | /* RC-5 protocol changes toggle bit on new keypress */ |
534 | for (i = 0; i < d->props.rc_key_map_size; i++) { | 534 | for (i = 0; i < d->props.rc.legacy.rc_key_map_size; i++) { |
535 | if (rc5_custom(&keymap[i]) == key[3-2] && | 535 | if (rc5_custom(&keymap[i]) == key[3-2] && |
536 | rc5_data(&keymap[i]) == key[3-3]) { | 536 | rc5_data(&keymap[i]) == key[3-3]) { |
537 | if (d->last_event == keymap[i].keycode && | 537 | if (d->last_event == keymap[i].keycode && |
@@ -2168,10 +2168,12 @@ struct dvb_usb_device_properties dib0700_devices[] = { | |||
2168 | } | 2168 | } |
2169 | }, | 2169 | }, |
2170 | 2170 | ||
2171 | .rc_interval = DEFAULT_RC_INTERVAL, | 2171 | .rc.legacy = { |
2172 | .rc_key_map = ir_codes_dib0700_table, | 2172 | .rc_interval = DEFAULT_RC_INTERVAL, |
2173 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), | 2173 | .rc_key_map = ir_codes_dib0700_table, |
2174 | .rc_query = dib0700_rc_query | 2174 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), |
2175 | .rc_query = dib0700_rc_query | ||
2176 | }, | ||
2175 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, | 2177 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, |
2176 | 2178 | ||
2177 | .num_adapters = 2, | 2179 | .num_adapters = 2, |
@@ -2197,10 +2199,12 @@ struct dvb_usb_device_properties dib0700_devices[] = { | |||
2197 | }, | 2199 | }, |
2198 | }, | 2200 | }, |
2199 | 2201 | ||
2200 | .rc_interval = DEFAULT_RC_INTERVAL, | 2202 | .rc.legacy = { |
2201 | .rc_key_map = ir_codes_dib0700_table, | 2203 | .rc_interval = DEFAULT_RC_INTERVAL, |
2202 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), | 2204 | .rc_key_map = ir_codes_dib0700_table, |
2203 | .rc_query = dib0700_rc_query | 2205 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), |
2206 | .rc_query = dib0700_rc_query | ||
2207 | }, | ||
2204 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, | 2208 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, |
2205 | 2209 | ||
2206 | .num_adapters = 2, | 2210 | .num_adapters = 2, |
@@ -2251,11 +2255,12 @@ struct dvb_usb_device_properties dib0700_devices[] = { | |||
2251 | 2255 | ||
2252 | }, | 2256 | }, |
2253 | 2257 | ||
2254 | .rc_interval = DEFAULT_RC_INTERVAL, | 2258 | .rc.legacy = { |
2255 | .rc_key_map = ir_codes_dib0700_table, | 2259 | .rc_interval = DEFAULT_RC_INTERVAL, |
2256 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), | 2260 | .rc_key_map = ir_codes_dib0700_table, |
2257 | .rc_query = dib0700_rc_query | 2261 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), |
2258 | 2262 | .rc_query = dib0700_rc_query | |
2263 | }, | ||
2259 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, | 2264 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, |
2260 | 2265 | ||
2261 | .num_adapters = 1, | 2266 | .num_adapters = 1, |
@@ -2288,10 +2293,12 @@ struct dvb_usb_device_properties dib0700_devices[] = { | |||
2288 | } | 2293 | } |
2289 | }, | 2294 | }, |
2290 | 2295 | ||
2291 | .rc_interval = DEFAULT_RC_INTERVAL, | 2296 | .rc.legacy = { |
2292 | .rc_key_map = ir_codes_dib0700_table, | 2297 | .rc_interval = DEFAULT_RC_INTERVAL, |
2293 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), | 2298 | .rc_key_map = ir_codes_dib0700_table, |
2294 | .rc_query = dib0700_rc_query | 2299 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), |
2300 | .rc_query = dib0700_rc_query | ||
2301 | }, | ||
2295 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, | 2302 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, |
2296 | 2303 | ||
2297 | .num_adapters = 1, | 2304 | .num_adapters = 1, |
@@ -2358,11 +2365,12 @@ struct dvb_usb_device_properties dib0700_devices[] = { | |||
2358 | }, | 2365 | }, |
2359 | }, | 2366 | }, |
2360 | 2367 | ||
2361 | .rc_interval = DEFAULT_RC_INTERVAL, | 2368 | .rc.legacy = { |
2362 | .rc_key_map = ir_codes_dib0700_table, | 2369 | .rc_interval = DEFAULT_RC_INTERVAL, |
2363 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), | 2370 | .rc_key_map = ir_codes_dib0700_table, |
2364 | .rc_query = dib0700_rc_query | 2371 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), |
2365 | 2372 | .rc_query = dib0700_rc_query | |
2373 | }, | ||
2366 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, | 2374 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, |
2367 | 2375 | ||
2368 | .num_adapters = 1, | 2376 | .num_adapters = 1, |
@@ -2397,11 +2405,12 @@ struct dvb_usb_device_properties dib0700_devices[] = { | |||
2397 | }, | 2405 | }, |
2398 | }, | 2406 | }, |
2399 | 2407 | ||
2400 | .rc_interval = DEFAULT_RC_INTERVAL, | 2408 | .rc.legacy = { |
2401 | .rc_key_map = ir_codes_dib0700_table, | 2409 | .rc_interval = DEFAULT_RC_INTERVAL, |
2402 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), | 2410 | .rc_key_map = ir_codes_dib0700_table, |
2403 | .rc_query = dib0700_rc_query | 2411 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), |
2404 | 2412 | .rc_query = dib0700_rc_query | |
2413 | }, | ||
2405 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, | 2414 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, |
2406 | 2415 | ||
2407 | .num_adapters = 2, | 2416 | .num_adapters = 2, |
@@ -2463,10 +2472,13 @@ struct dvb_usb_device_properties dib0700_devices[] = { | |||
2463 | { NULL }, | 2472 | { NULL }, |
2464 | }, | 2473 | }, |
2465 | }, | 2474 | }, |
2466 | .rc_interval = DEFAULT_RC_INTERVAL, | 2475 | |
2467 | .rc_key_map = ir_codes_dib0700_table, | 2476 | .rc.legacy = { |
2468 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), | 2477 | .rc_interval = DEFAULT_RC_INTERVAL, |
2469 | .rc_query = dib0700_rc_query | 2478 | .rc_key_map = ir_codes_dib0700_table, |
2479 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), | ||
2480 | .rc_query = dib0700_rc_query | ||
2481 | }, | ||
2470 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, | 2482 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, |
2471 | 2483 | ||
2472 | .num_adapters = 1, | 2484 | .num_adapters = 1, |
@@ -2525,10 +2537,13 @@ struct dvb_usb_device_properties dib0700_devices[] = { | |||
2525 | { NULL }, | 2537 | { NULL }, |
2526 | }, | 2538 | }, |
2527 | }, | 2539 | }, |
2528 | .rc_interval = DEFAULT_RC_INTERVAL, | 2540 | |
2529 | .rc_key_map = ir_codes_dib0700_table, | 2541 | .rc.legacy = { |
2530 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), | 2542 | .rc_interval = DEFAULT_RC_INTERVAL, |
2531 | .rc_query = dib0700_rc_query | 2543 | .rc_key_map = ir_codes_dib0700_table, |
2544 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), | ||
2545 | .rc_query = dib0700_rc_query | ||
2546 | }, | ||
2532 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, | 2547 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, |
2533 | .num_adapters = 1, | 2548 | .num_adapters = 1, |
2534 | .adapter = { | 2549 | .adapter = { |
@@ -2554,10 +2569,12 @@ struct dvb_usb_device_properties dib0700_devices[] = { | |||
2554 | { NULL }, | 2569 | { NULL }, |
2555 | }, | 2570 | }, |
2556 | }, | 2571 | }, |
2557 | .rc_interval = DEFAULT_RC_INTERVAL, | 2572 | .rc.legacy = { |
2558 | .rc_key_map = ir_codes_dib0700_table, | 2573 | .rc_interval = DEFAULT_RC_INTERVAL, |
2559 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), | 2574 | .rc_key_map = ir_codes_dib0700_table, |
2560 | .rc_query = dib0700_rc_query | 2575 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), |
2576 | .rc_query = dib0700_rc_query | ||
2577 | }, | ||
2561 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, | 2578 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, |
2562 | .num_adapters = 1, | 2579 | .num_adapters = 1, |
2563 | .adapter = { | 2580 | .adapter = { |
@@ -2615,10 +2632,12 @@ struct dvb_usb_device_properties dib0700_devices[] = { | |||
2615 | { NULL }, | 2632 | { NULL }, |
2616 | }, | 2633 | }, |
2617 | }, | 2634 | }, |
2618 | .rc_interval = DEFAULT_RC_INTERVAL, | 2635 | .rc.legacy = { |
2619 | .rc_key_map = ir_codes_dib0700_table, | 2636 | .rc_interval = DEFAULT_RC_INTERVAL, |
2620 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), | 2637 | .rc_key_map = ir_codes_dib0700_table, |
2621 | .rc_query = dib0700_rc_query | 2638 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), |
2639 | .rc_query = dib0700_rc_query | ||
2640 | }, | ||
2622 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, | 2641 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, |
2623 | .num_adapters = 1, | 2642 | .num_adapters = 1, |
2624 | .adapter = { | 2643 | .adapter = { |
@@ -2653,11 +2672,12 @@ struct dvb_usb_device_properties dib0700_devices[] = { | |||
2653 | }, | 2672 | }, |
2654 | }, | 2673 | }, |
2655 | 2674 | ||
2656 | .rc_interval = DEFAULT_RC_INTERVAL, | 2675 | .rc.legacy = { |
2657 | .rc_key_map = ir_codes_dib0700_table, | 2676 | .rc_interval = DEFAULT_RC_INTERVAL, |
2658 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), | 2677 | .rc_key_map = ir_codes_dib0700_table, |
2659 | .rc_query = dib0700_rc_query | 2678 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), |
2660 | 2679 | .rc_query = dib0700_rc_query | |
2680 | }, | ||
2661 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, | 2681 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, |
2662 | .num_adapters = 2, | 2682 | .num_adapters = 2, |
2663 | .adapter = { | 2683 | .adapter = { |
@@ -2697,10 +2717,12 @@ struct dvb_usb_device_properties dib0700_devices[] = { | |||
2697 | }, | 2717 | }, |
2698 | }, | 2718 | }, |
2699 | 2719 | ||
2700 | .rc_interval = DEFAULT_RC_INTERVAL, | 2720 | .rc.legacy = { |
2701 | .rc_key_map = ir_codes_dib0700_table, | 2721 | .rc_interval = DEFAULT_RC_INTERVAL, |
2702 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), | 2722 | .rc_key_map = ir_codes_dib0700_table, |
2703 | .rc_query = dib0700_rc_query | 2723 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), |
2724 | .rc_query = dib0700_rc_query | ||
2725 | }, | ||
2704 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, | 2726 | }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, |
2705 | .num_adapters = 1, | 2727 | .num_adapters = 1, |
2706 | .adapter = { | 2728 | .adapter = { |
@@ -2728,10 +2750,12 @@ struct dvb_usb_device_properties dib0700_devices[] = { | |||
2728 | }, | 2750 | }, |
2729 | }, | 2751 | }, |
2730 | 2752 | ||
2731 | .rc_interval = DEFAULT_RC_INTERVAL, | 2753 | .rc.legacy = { |
2732 | .rc_key_map = ir_codes_dib0700_table, | 2754 | .rc_interval = DEFAULT_RC_INTERVAL, |
2733 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), | 2755 | .rc_key_map = ir_codes_dib0700_table, |
2734 | .rc_query = dib0700_rc_query | 2756 | .rc_key_map_size = ARRAY_SIZE(ir_codes_dib0700_table), |
2757 | .rc_query = dib0700_rc_query | ||
2758 | }, | ||
2735 | }, | 2759 | }, |
2736 | }; | 2760 | }; |
2737 | 2761 | ||