Skip to content

Commit

Permalink
[media] cx231xx: Fix inverted bits for RC on PV Hybrid
Browse files Browse the repository at this point in the history
At Pixelview SBTVD Hybrid, the bits sent by the IR are inverted. Due to that,
the existing keytables produce wrong codes.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Mauro Carvalho Chehab committed Dec 29, 2010
1 parent 49aefd2 commit e330289
Showing 1 changed file with 16 additions and 5 deletions.
21 changes: 16 additions & 5 deletions drivers/media/video/cx231xx/cx231xx-input.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
static int get_key_isdbt(struct IR_i2c *ir, u32 *ir_key,
u32 *ir_raw)
{
u8 cmd;
u8 cmd, scancode;

dev_dbg(&ir->rc->input_dev->dev, "%s\n", __func__);

Expand All @@ -42,10 +42,21 @@ static int get_key_isdbt(struct IR_i2c *ir, u32 *ir_key,
if (cmd == 0xff)
return 0;

dev_dbg(&ir->rc->input_dev->dev, "scancode = %02x\n", cmd);

*ir_key = cmd;
*ir_raw = cmd;
scancode =
((cmd & 0x01) ? 0x80 : 0) |
((cmd & 0x02) ? 0x40 : 0) |
((cmd & 0x04) ? 0x20 : 0) |
((cmd & 0x08) ? 0x10 : 0) |
((cmd & 0x10) ? 0x08 : 0) |
((cmd & 0x20) ? 0x04 : 0) |
((cmd & 0x40) ? 0x02 : 0) |
((cmd & 0x80) ? 0x01 : 0);

dev_dbg(&ir->rc->input_dev->dev, "cmd %02x, scan = %02x\n",
cmd, scancode);

*ir_key = scancode;
*ir_raw = scancode;
return 1;
}

Expand Down

0 comments on commit e330289

Please sign in to comment.