aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/saa7134/saa7134-input.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2008-12-07 11:19:29 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-12-30 06:38:17 -0500
commit26d5f3a3fe917232cb77e2e3450f7d7f8698259c (patch)
tree48199cf712ebead3c717bae21b4b75b32f3a40ce /drivers/media/video/saa7134/saa7134-input.c
parent10f201af1bedd39a88913f472b33698c4a3b0680 (diff)
V4L/DVB (9772): saa7134: Add support for Kworld Plus TV Analog Lite PCI
Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) for sponsoring this development. Signed-off-by: Gilberto <gilberto@sistemafenix.com.br> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/saa7134/saa7134-input.c')
-rw-r--r--drivers/media/video/saa7134/saa7134-input.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/media/video/saa7134/saa7134-input.c b/drivers/media/video/saa7134/saa7134-input.c
index c53fd5f9f6b..d2124f64e4e 100644
--- a/drivers/media/video/saa7134/saa7134-input.c
+++ b/drivers/media/video/saa7134/saa7134-input.c
@@ -97,6 +97,15 @@ static int build_key(struct saa7134_dev *dev)
97 dprintk("build_key gpio=0x%x mask=0x%x data=%d\n", 97 dprintk("build_key gpio=0x%x mask=0x%x data=%d\n",
98 gpio, ir->mask_keycode, data); 98 gpio, ir->mask_keycode, data);
99 99
100 switch (dev->board) {
101 case SAA7134_BOARD_KWORLD_PLUS_TV_ANALOG:
102 if (data == ir->mask_keycode)
103 ir_input_nokey(ir->dev, &ir->ir);
104 else
105 ir_input_keydown(ir->dev, &ir->ir, data, data);
106 return 0;
107 }
108
100 if (ir->polling) { 109 if (ir->polling) {
101 if ((ir->mask_keydown && (0 != (gpio & ir->mask_keydown))) || 110 if ((ir->mask_keydown && (0 != (gpio & ir->mask_keydown))) ||
102 (ir->mask_keyup && (0 == (gpio & ir->mask_keyup)))) { 111 (ir->mask_keyup && (0 == (gpio & ir->mask_keyup)))) {
@@ -586,6 +595,11 @@ int saa7134_input_init1(struct saa7134_dev *dev)
586 mask_keyup = 0x4000; 595 mask_keyup = 0x4000;
587 polling = 50; /* ms */ 596 polling = 50; /* ms */
588 break; 597 break;
598 case SAA7134_BOARD_KWORLD_PLUS_TV_ANALOG:
599 ir_codes = ir_codes_kworld_plus_tv_analog;
600 mask_keycode = 0x7f;
601 polling = 40; /* ms */
602 break;
589 } 603 }
590 if (NULL == ir_codes) { 604 if (NULL == ir_codes) {
591 printk("%s: Oops: IR config error [card=%d]\n", 605 printk("%s: Oops: IR config error [card=%d]\n",