Some Hauppauge devices have id=0 so such devices won't work. For such devices add a module parameter that allow to turn off filtering. Signed-off-by: Samuel Rakitničan <semiRocket@xxxxxxxxx> --- diff -r 82bbb3bd0f0a linux/drivers/media/video/ir-kbd-i2c.c --- a/linux/drivers/media/video/ir-kbd-i2c.c Mon Jan 11 11:47:33 2010 -0200 +++ b/linux/drivers/media/video/ir-kbd-i2c.c Sat Jan 16 16:39:14 2010 +0100 @@ -61,6 +61,10 @@ module_param(hauppauge, int, 0644); /* Choose Hauppauge remote */ MODULE_PARM_DESC(hauppauge, "Specify Hauppauge remote: 0=black, 1=grey (defaults to 0)"); +static int haup_filter = 1; +module_param(haup_filter, int, 0644); +MODULE_PARM_DESC(haup_filter, "Hauppauge filter for other remotes, default is 1 (On)"); + #define DEVNAME "ir-kbd-i2c" #define dprintk(level, fmt, arg...) if (debug >= level) \ @@ -96,24 +100,27 @@ if (!start) /* no key pressed */ return 0; - /* - * Hauppauge remotes (black/silver) always use - * specific device ids. If we do not filter the - * device ids then messages destined for devices - * such as TVs (id=0) will get through causing - * mis-fired events. - * - * We also filter out invalid key presses which - * produce annoying debug log entries. - */ - ircode= (start << 12) | (toggle << 11) | (dev << 6) | code; - if ((ircode & 0x1fff)==0x1fff) - /* invalid key press */ - return 0; - if (dev!=0x1e && dev!=0x1f) - /* not a hauppauge remote */ - return 0; + if (haup_filter != 0) { + /* + * Hauppauge remotes (black/silver) always use + * specific device ids. If we do not filter the + * device ids then messages destined for devices + * such as TVs (id=0) will get through causing + * mis-fired events. + * + * We also filter out invalid key presses which + * produce annoying debug log entries. + */ + ircode = (start << 12) | (toggle << 11) | (dev << 6) | code; + if ((ircode & 0x1fff) == 0x1fff) + /* invalid key press */ + return 0; + + if (dev != 0x1e && dev != 0x1f) + /* not a hauppauge remote */ + return 0; + } if (!range) code += 64; -- Lorem ipsum -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html