diff options
author | Igor M. Liplianin <liplianin@me.by> | 2009-09-19 08:51:12 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-12-05 15:40:29 -0500 |
commit | d8d8622552088ca94fab4e4997f948514d0bdc27 (patch) | |
tree | b0484f3c1ac803ae839eb9dd88510eafd0052565 /drivers/media/video/cx88/cx88-input.c | |
parent | 8f37cf25badd0ba9de7cd05c3f1d5362607c1bf9 (diff) |
V4L/DVB (13134): Add support for TBS-likes remotes
The patch brings infrared remote support for some cx88 based cards.
Such as:
TeVii S460,S420; Omicom SS4; SatTrade ST4200;
TBS 8920,8910; Prof 7300,6200.
Signed-off-by: Igor M. Liplianin <liplianin@me.by>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/cx88/cx88-input.c')
-rw-r--r-- | drivers/media/video/cx88/cx88-input.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/media/video/cx88/cx88-input.c b/drivers/media/video/cx88/cx88-input.c index 78b3635178af..33437e403144 100644 --- a/drivers/media/video/cx88/cx88-input.c +++ b/drivers/media/video/cx88/cx88-input.c | |||
@@ -303,6 +303,22 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci) | |||
303 | ir->mask_keydown = 0x02; | 303 | ir->mask_keydown = 0x02; |
304 | ir->polling = 50; /* ms */ | 304 | ir->polling = 50; /* ms */ |
305 | break; | 305 | break; |
306 | case CX88_BOARD_OMICOM_SS4_PCI: | ||
307 | case CX88_BOARD_SATTRADE_ST4200: | ||
308 | case CX88_BOARD_TBS_8920: | ||
309 | case CX88_BOARD_TBS_8910: | ||
310 | case CX88_BOARD_PROF_7300: | ||
311 | case CX88_BOARD_PROF_6200: | ||
312 | ir_codes = &ir_codes_tbs_nec_table; | ||
313 | ir_type = IR_TYPE_PD; | ||
314 | ir->sampling = 0xff00; /* address */ | ||
315 | break; | ||
316 | case CX88_BOARD_TEVII_S460: | ||
317 | case CX88_BOARD_TEVII_S420: | ||
318 | ir_codes = &ir_codes_dm1105_nec_table; | ||
319 | ir_type = IR_TYPE_PD; | ||
320 | ir->sampling = 0xff00; /* address */ | ||
321 | break; | ||
306 | case CX88_BOARD_DNTV_LIVE_DVB_T_PRO: | 322 | case CX88_BOARD_DNTV_LIVE_DVB_T_PRO: |
307 | ir_codes = &ir_codes_dntv_live_dvbt_pro_table; | 323 | ir_codes = &ir_codes_dntv_live_dvbt_pro_table; |
308 | ir_type = IR_TYPE_PD; | 324 | ir_type = IR_TYPE_PD; |
@@ -432,8 +448,16 @@ void cx88_ir_irq(struct cx88_core *core) | |||
432 | 448 | ||
433 | /* decode it */ | 449 | /* decode it */ |
434 | switch (core->boardnr) { | 450 | switch (core->boardnr) { |
451 | case CX88_BOARD_TEVII_S460: | ||
452 | case CX88_BOARD_TEVII_S420: | ||
435 | case CX88_BOARD_TERRATEC_CINERGY_1400_DVB_T1: | 453 | case CX88_BOARD_TERRATEC_CINERGY_1400_DVB_T1: |
436 | case CX88_BOARD_DNTV_LIVE_DVB_T_PRO: | 454 | case CX88_BOARD_DNTV_LIVE_DVB_T_PRO: |
455 | case CX88_BOARD_OMICOM_SS4_PCI: | ||
456 | case CX88_BOARD_SATTRADE_ST4200: | ||
457 | case CX88_BOARD_TBS_8920: | ||
458 | case CX88_BOARD_TBS_8910: | ||
459 | case CX88_BOARD_PROF_7300: | ||
460 | case CX88_BOARD_PROF_6200: | ||
437 | ircode = ir_decode_pulsedistance(ir->samples, ir->scount, 1, 4); | 461 | ircode = ir_decode_pulsedistance(ir->samples, ir->scount, 1, 4); |
438 | 462 | ||
439 | if (ircode == 0xffffffff) { /* decoding error */ | 463 | if (ircode == 0xffffffff) { /* decoding error */ |