V4L/DVB (13260): saa7134: add support for Leadtek Winfast DTV-1000S remote control
authorMichael Obst <mike.obst@gmail.com>
Sat, 31 Oct 2009 17:05:42 +0000 (14:05 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 5 Dec 2009 20:41:08 +0000 (18:41 -0200)
Signed-off-by: Michael Obst <mike.obst@gmail.com>
Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/common/ir-keymaps.c
drivers/media/video/saa7134/saa7134-cards.c
drivers/media/video/saa7134/saa7134-input.c

index 32f765e6e5fdcd7b29bed02b4518b588c5c07aca..e353dffe696aaef8382ed07c2a7311b7c35adcd4 100644 (file)
@@ -1705,6 +1705,7 @@ static struct ir_scancode ir_codes_winfast[] = {
        { 0x37, KEY_RADIO },            /* FM */
        { 0x38, KEY_DVD },
 
+       { 0x1a, KEY_MODE},              /* change to MCE mode on Y04G0051 */
        { 0x3e, KEY_F21 },              /* MCE +VOL, on Y04G0033 */
        { 0x3a, KEY_F22 },              /* MCE -VOL, on Y04G0033 */
        { 0x3b, KEY_F23 },              /* MCE +CH,  on Y04G0033 */
index e737ddf94140413c2a006150132f01fa466c09f7..7e40d6d99dd08f214244257ef89ff5435e78445b 100644 (file)
@@ -6801,6 +6801,7 @@ int saa7134_board_init1(struct saa7134_dev *dev)
        case SAA7134_BOARD_KWORLD_PLUS_TV_ANALOG:
        case SAA7134_BOARD_AVERMEDIA_GO_007_FM_PLUS:
        case SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM:
+       case SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S:
                dev->has_remote = SAA7134_REMOTE_GPIO;
                break;
        case SAA7134_BOARD_FLYDVBS_LR300:
index 8f9203e7d3b8727944a6c19bc21de99a8ec0484b..83206cfb7b8cedab05e3d633f9c0e55f87f40221 100644 (file)
@@ -616,6 +616,12 @@ int saa7134_input_init1(struct saa7134_dev *dev)
                mask_keycode = 0x003f00;
                mask_keydown = 0x040000;
                break;
+       case SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S:
+               ir_codes     = &ir_codes_winfast_table;
+               mask_keycode = 0x5f00;
+               mask_keyup   = 0x020000;
+               polling      = 50; // ms
+               break;
        }
        if (NULL == ir_codes) {
                printk("%s: Oops: IR config error [card=%d]\n",