aboutsummaryrefslogtreecommitdiff
path: root/drivers/media
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/em28xx/em28xx-input.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/media/video/em28xx/em28xx-input.c b/drivers/media/video/em28xx/em28xx-input.c
index afd67607c02..f724cae8b04 100644
--- a/drivers/media/video/em28xx/em28xx-input.c
+++ b/drivers/media/video/em28xx/em28xx-input.c
@@ -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 */