aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgor M. Liplianin <liplianin@me.by>2009-09-23 13:44:12 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-12-05 15:40:29 -0500
commit9d2ba7ad802300d6a1830df9268d8ba478c66a18 (patch)
tree9e60dff9a748fe7c65b105449f8cfe4beb21a2cc
parentd8d8622552088ca94fab4e4997f948514d0bdc27 (diff)
V4L/DVB (13135): Add support for TeVii remotes
The patch brings infrared remote support for some cx88 based cards. Such as TeVii S460,S420. Signed-off-by: Igor M. Liplianin <liplianin@me.by> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/common/ir-keymaps.c55
-rw-r--r--drivers/media/video/cx88/cx88-input.c2
-rw-r--r--include/media/ir-common.h1
3 files changed, 57 insertions, 1 deletions
diff --git a/drivers/media/common/ir-keymaps.c b/drivers/media/common/ir-keymaps.c
index a2c80a7a3ae4..32f765e6e5fd 100644
--- a/drivers/media/common/ir-keymaps.c
+++ b/drivers/media/common/ir-keymaps.c
@@ -2964,6 +2964,61 @@ struct ir_scancode_table ir_codes_dm1105_nec_table = {
2964}; 2964};
2965EXPORT_SYMBOL_GPL(ir_codes_dm1105_nec_table); 2965EXPORT_SYMBOL_GPL(ir_codes_dm1105_nec_table);
2966 2966
2967static struct ir_scancode ir_codes_tevii_nec[] = {
2968 { 0x0a, KEY_POWER2},
2969 { 0x0c, KEY_MUTE},
2970 { 0x11, KEY_1},
2971 { 0x12, KEY_2},
2972 { 0x13, KEY_3},
2973 { 0x14, KEY_4},
2974 { 0x15, KEY_5},
2975 { 0x16, KEY_6},
2976 { 0x17, KEY_7},
2977 { 0x18, KEY_8},
2978 { 0x19, KEY_9},
2979 { 0x10, KEY_0},
2980 { 0x1c, KEY_MENU},
2981 { 0x0f, KEY_VOLUMEDOWN},
2982 { 0x1a, KEY_LAST},
2983 { 0x0e, KEY_OPEN},
2984 { 0x04, KEY_RECORD},
2985 { 0x09, KEY_VOLUMEUP},
2986 { 0x08, KEY_CHANNELUP},
2987 { 0x07, KEY_PVR},
2988 { 0x0b, KEY_TIME},
2989 { 0x02, KEY_RIGHT},
2990 { 0x03, KEY_LEFT},
2991 { 0x00, KEY_UP},
2992 { 0x1f, KEY_OK},
2993 { 0x01, KEY_DOWN},
2994 { 0x05, KEY_TUNER},
2995 { 0x06, KEY_CHANNELDOWN},
2996 { 0x40, KEY_PLAYPAUSE},
2997 { 0x1e, KEY_REWIND},
2998 { 0x1b, KEY_FAVORITES},
2999 { 0x1d, KEY_BACK},
3000 { 0x4d, KEY_FASTFORWARD},
3001 { 0x44, KEY_EPG},
3002 { 0x4c, KEY_INFO},
3003 { 0x41, KEY_AB},
3004 { 0x43, KEY_AUDIO},
3005 { 0x45, KEY_SUBTITLE},
3006 { 0x4a, KEY_LIST},
3007 { 0x46, KEY_F1},
3008 { 0x47, KEY_F2},
3009 { 0x5e, KEY_F3},
3010 { 0x5c, KEY_F4},
3011 { 0x52, KEY_F5},
3012 { 0x5a, KEY_F6},
3013 { 0x56, KEY_MODE},
3014 { 0x58, KEY_SWITCHVIDEOMODE},
3015};
3016struct ir_scancode_table ir_codes_tevii_nec_table = {
3017 .scan = ir_codes_tevii_nec,
3018 .size = ARRAY_SIZE(ir_codes_tevii_nec),
3019};
3020EXPORT_SYMBOL_GPL(ir_codes_tevii_nec_table);
3021
2967static struct ir_scancode ir_codes_tbs_nec[] = { 3022static struct ir_scancode ir_codes_tbs_nec[] = {
2968 { 0x04, KEY_POWER2}, /*power*/ 3023 { 0x04, KEY_POWER2}, /*power*/
2969 { 0x14, KEY_MUTE}, /*mute*/ 3024 { 0x14, KEY_MUTE}, /*mute*/
diff --git a/drivers/media/video/cx88/cx88-input.c b/drivers/media/video/cx88/cx88-input.c
index 33437e403144..c0047c1960cc 100644
--- a/drivers/media/video/cx88/cx88-input.c
+++ b/drivers/media/video/cx88/cx88-input.c
@@ -315,7 +315,7 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci)
315 break; 315 break;
316 case CX88_BOARD_TEVII_S460: 316 case CX88_BOARD_TEVII_S460:
317 case CX88_BOARD_TEVII_S420: 317 case CX88_BOARD_TEVII_S420:
318 ir_codes = &ir_codes_dm1105_nec_table; 318 ir_codes = &ir_codes_tevii_nec_table;
319 ir_type = IR_TYPE_PD; 319 ir_type = IR_TYPE_PD;
320 ir->sampling = 0xff00; /* address */ 320 ir->sampling = 0xff00; /* address */
321 break; 321 break;
diff --git a/include/media/ir-common.h b/include/media/ir-common.h
index c2d515dd94d2..5921776929e7 100644
--- a/include/media/ir-common.h
+++ b/include/media/ir-common.h
@@ -173,6 +173,7 @@ extern struct ir_scancode_table ir_codes_ati_tv_wonder_hd_600_table;
173extern struct ir_scancode_table ir_codes_kworld_plus_tv_analog_table; 173extern struct ir_scancode_table ir_codes_kworld_plus_tv_analog_table;
174extern struct ir_scancode_table ir_codes_kaiomy_table; 174extern struct ir_scancode_table ir_codes_kaiomy_table;
175extern struct ir_scancode_table ir_codes_dm1105_nec_table; 175extern struct ir_scancode_table ir_codes_dm1105_nec_table;
176extern struct ir_scancode_table ir_codes_tevii_nec_table;
176extern struct ir_scancode_table ir_codes_tbs_nec_table; 177extern struct ir_scancode_table ir_codes_tbs_nec_table;
177extern struct ir_scancode_table ir_codes_evga_indtube_table; 178extern struct ir_scancode_table ir_codes_evga_indtube_table;
178extern struct ir_scancode_table ir_codes_terratec_cinergy_xs_table; 179extern struct ir_scancode_table ir_codes_terratec_cinergy_xs_table;