V4L/DVB (9611): em28xx: experimental support for HVR-950 IR
authorMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 12 Nov 2008 17:05:46 +0000 (14:05 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 29 Dec 2008 19:53:33 +0000 (17:53 -0200)
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/em28xx/em28xx-input.c

index afd67607c028e57bb2616ea5542d51d4666391f1..f724cae8b040d05179b6f3f2e9cc0d930618c5b8 100644 (file)
@@ -270,6 +270,11 @@ int em28xx_ir_init(struct em28xx *dev)
 
        /* detect & configure */
        switch (dev->model) {
+       case EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950:
+               ir_type          = IR_TYPE_OTHER;
+               ir_codes         = ir_codes_hauppauge_new;
+               ir->mask_keycode = 0x007f0000;
+               break;
        }
 
        if (NULL == ir_codes) {
@@ -277,10 +282,6 @@ int em28xx_ir_init(struct em28xx *dev)
                goto err_out_free;
        }
 
-       /* Get the current key status, to avoid adding an
-          unexistent key code */
-       ir->last_gpio    = ir->get_key(ir);
-
        /* init input device */
        snprintf(ir->name, sizeof(ir->name), "em28xx IR (%s)",
                                                dev->name);
@@ -301,6 +302,10 @@ int em28xx_ir_init(struct em28xx *dev)
        ir->dev = dev;
        dev->ir = ir;
 
+       /* Get the current key status, to avoid adding an
+          unexistent key code */
+       ir->last_gpio    = ir->get_key(ir);
+
        em28xx_ir_start(ir);
 
        /* all done */