Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0938e3194ae53d0b22f4031cfe4738e62308c7ce
Commit:     0938e3194ae53d0b22f4031cfe4738e62308c7ce
Parent:     11a5a10e0adec22e535dd1e76e5c8a1b265692f0
Author:     Pedro <[EMAIL PROTECTED]>
AuthorDate: Wed Oct 17 17:58:40 2007 -0300
Committer:  Mauro Carvalho Chehab <[EMAIL PROTECTED]>
CommitDate: Mon Oct 22 12:01:52 2007 -0200

    V4L/DVB (6379): patch which improves GotView Saa7135 remote control
    
    improve GoTView PCI7135 remote control working under linux.
    
    Acked-by: Hermann Pitton <[EMAIL PROTECTED]>
    Acked-by: Nickolay V. Shmyrev <[EMAIL PROTECTED]>
    Signed-off-by: Eugene M. Roginskii <[EMAIL PROTECTED]>
    Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>
---
 drivers/media/common/ir-keymaps.c           |   70 +++++++++++++-------------
 drivers/media/video/saa7134/saa7134-input.c |   25 ++++++++-
 2 files changed, 57 insertions(+), 38 deletions(-)

diff --git a/drivers/media/common/ir-keymaps.c 
b/drivers/media/common/ir-keymaps.c
index aefcf28..185e8a8 100644
--- a/drivers/media/common/ir-keymaps.c
+++ b/drivers/media/common/ir-keymaps.c
@@ -1074,41 +1074,41 @@ EXPORT_SYMBOL_GPL(ir_codes_manli);
 /* Mike Baikov <[EMAIL PROTECTED]> */
 IR_KEYTAB_TYPE ir_codes_gotview7135[IR_KEYTAB_SIZE] = {
 
-       [ 0x21 ] = KEY_POWER,
-       [ 0x69 ] = KEY_TV,
-       [ 0x33 ] = KEY_0,
-       [ 0x51 ] = KEY_1,
-       [ 0x31 ] = KEY_2,
-       [ 0x71 ] = KEY_3,
-       [ 0x3b ] = KEY_4,
-       [ 0x58 ] = KEY_5,
-       [ 0x41 ] = KEY_6,
-       [ 0x48 ] = KEY_7,
-       [ 0x30 ] = KEY_8,
-       [ 0x53 ] = KEY_9,
-       [ 0x73 ] = KEY_AGAIN, /* LOOP */
-       [ 0x0a ] = KEY_AUDIO,
-       [ 0x61 ] = KEY_PRINT, /* PREVIEW */
-       [ 0x7a ] = KEY_VIDEO,
-       [ 0x20 ] = KEY_CHANNELUP,
-       [ 0x40 ] = KEY_CHANNELDOWN,
-       [ 0x18 ] = KEY_VOLUMEDOWN,
-       [ 0x50 ] = KEY_VOLUMEUP,
-       [ 0x10 ] = KEY_MUTE,
-       [ 0x4a ] = KEY_SEARCH,
-       [ 0x7b ] = KEY_SHUFFLE, /* SNAPSHOT */
-       [ 0x22 ] = KEY_RECORD,
-       [ 0x62 ] = KEY_STOP,
-       [ 0x78 ] = KEY_PLAY,
-       [ 0x39 ] = KEY_REWIND,
-       [ 0x59 ] = KEY_PAUSE,
-       [ 0x19 ] = KEY_FORWARD,
-       [ 0x09 ] = KEY_ZOOM,
-
-       [ 0x52 ] = KEY_F21, /* LIVE TIMESHIFT */
-       [ 0x1a ] = KEY_F22, /* MIN TIMESHIFT */
-       [ 0x3a ] = KEY_F23, /* TIMESHIFT */
-       [ 0x70 ] = KEY_F24, /* NORMAL TIMESHIFT */
+       [ 0x11 ] = KEY_POWER,
+       [ 0x35 ] = KEY_TV,
+       [ 0x1b ] = KEY_0,
+       [ 0x29 ] = KEY_1,
+       [ 0x19 ] = KEY_2,
+       [ 0x39 ] = KEY_3,
+       [ 0x1f ] = KEY_4,
+       [ 0x2c ] = KEY_5,
+       [ 0x21 ] = KEY_6,
+       [ 0x24 ] = KEY_7,
+       [ 0x18 ] = KEY_8,
+       [ 0x2b ] = KEY_9,
+       [ 0x3b ] = KEY_AGAIN, /* LOOP */
+       [ 0x06 ] = KEY_AUDIO,
+       [ 0x31 ] = KEY_PRINT, /* PREVIEW */
+       [ 0x3e ] = KEY_VIDEO,
+       [ 0x10 ] = KEY_CHANNELUP,
+       [ 0x20 ] = KEY_CHANNELDOWN,
+       [ 0x0c ] = KEY_VOLUMEDOWN,
+       [ 0x28 ] = KEY_VOLUMEUP,
+       [ 0x08 ] = KEY_MUTE,
+       [ 0x26 ] = KEY_SEARCH, /*SCAN*/
+       [ 0x3f ] = KEY_SHUFFLE, /* SNAPSHOT */
+       [ 0x12 ] = KEY_RECORD,
+       [ 0x32 ] = KEY_STOP,
+       [ 0x3c ] = KEY_PLAY,
+       [ 0x1d ] = KEY_REWIND,
+       [ 0x2d ] = KEY_PAUSE,
+       [ 0x0d ] = KEY_FORWARD,
+       [ 0x05 ] = KEY_ZOOM,  /*FULL*/
+
+       [ 0x2a ] = KEY_F21, /* LIVE TIMESHIFT */
+       [ 0x0e ] = KEY_F22, /* MIN TIMESHIFT */
+       [ 0x1e ] = KEY_F23, /* TIMESHIFT */
+       [ 0x38 ] = KEY_F24, /* NORMAL TIMESHIFT */
 };
 
 EXPORT_SYMBOL_GPL(ir_codes_gotview7135);
diff --git a/drivers/media/video/saa7134/saa7134-input.c 
b/drivers/media/video/saa7134/saa7134-input.c
index d4907ce..3abaa1b 100644
--- a/drivers/media/video/saa7134/saa7134-input.c
+++ b/drivers/media/video/saa7134/saa7134-input.c
@@ -44,6 +44,14 @@ module_param(ir_rc5_remote_gap, int, 0644);
 static int ir_rc5_key_timeout = 115;
 module_param(ir_rc5_key_timeout, int, 0644);
 
+static int repeat_delay = 500;
+module_param(repeat_delay, int, 0644);
+MODULE_PARM_DESC(repeat_delay, "delay before key repeat started");
+static int repeat_period = 33;
+module_param(repeat_period, int, 0644);
+MODULE_PARM_DESC(repeat_period, "repeat period between"
+    "keypresses when key is down");
+
 #define dprintk(fmt, arg...)   if (ir_debug) \
        printk(KERN_DEBUG "%s/ir: " fmt, dev->name , ## arg)
 #define i2cdprintk(fmt, arg...)    if (ir_debug) \
@@ -59,6 +67,13 @@ static int build_key(struct saa7134_dev *dev)
        struct card_ir *ir = dev->remote;
        u32 gpio, data;
 
+       /* here comes the additional handshake steps for some cards */
+       switch (dev->board) {
+       case SAA7134_BOARD_GOTVIEW_7135:
+               saa_setb(SAA7134_GPIO_GPSTATUS1, 0x80);
+               saa_clearb(SAA7134_GPIO_GPSTATUS1, 0x80);
+               break;
+       }
        /* rising SAA7134_GPIO_GPRESCAN reads the status */
        saa_clearb(SAA7134_GPIO_GPMODE3,SAA7134_GPIO_GPRESCAN);
        saa_setb(SAA7134_GPIO_GPMODE3,SAA7134_GPIO_GPRESCAN);
@@ -285,10 +300,10 @@ int saa7134_input_init1(struct saa7134_dev *dev)
                break;
        case SAA7134_BOARD_GOTVIEW_7135:
                ir_codes     = ir_codes_gotview7135;
-               mask_keycode = 0x0003EC;
-               mask_keyup   = 0x008000;
+               mask_keycode = 0x0003CC;
                mask_keydown = 0x000010;
-               polling      = 50; // ms
+               polling      = 5; /* ms */
+               saa_setb(SAA7134_GPIO_GPMODE1, 0x80);
                break;
        case SAA7134_BOARD_VIDEOMATE_TV_PVR:
        case SAA7134_BOARD_VIDEOMATE_GOLD_PLUS:
@@ -386,6 +401,10 @@ int saa7134_input_init1(struct saa7134_dev *dev)
        if (err)
                goto err_out_stop;
 
+       /* the remote isn't as bouncy as a keyboard */
+       ir->dev->rep[REP_DELAY] = repeat_delay;
+       ir->dev->rep[REP_PERIOD] = repeat_period;
+
        return 0;
 
  err_out_stop:
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to