Commit 17809ed2 authored by Sean Young's avatar Sean Young Committed by Mauro Carvalho Chehab

[media] em28xx: IR protocol not reported correctly

Report the correct NEC variant.
Signed-off-by: default avatarSean Young <sean@mess.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 07e9293c
...@@ -259,18 +259,21 @@ static int em2874_polling_getkey(struct em28xx_IR *ir, ...@@ -259,18 +259,21 @@ static int em2874_polling_getkey(struct em28xx_IR *ir,
break; break;
case RC_BIT_NEC: case RC_BIT_NEC:
poll_result->protocol = RC_TYPE_RC5;
poll_result->scancode = msg[1] << 8 | msg[2]; poll_result->scancode = msg[1] << 8 | msg[2];
if ((msg[3] ^ msg[4]) != 0xff) /* 32 bits NEC */ if ((msg[3] ^ msg[4]) != 0xff) { /* 32 bits NEC */
poll_result->protocol = RC_TYPE_NEC32;
poll_result->scancode = RC_SCANCODE_NEC32((msg[1] << 24) | poll_result->scancode = RC_SCANCODE_NEC32((msg[1] << 24) |
(msg[2] << 16) | (msg[2] << 16) |
(msg[3] << 8) | (msg[3] << 8) |
(msg[4])); (msg[4]));
else if ((msg[1] ^ msg[2]) != 0xff) /* 24 bits NEC */ } else if ((msg[1] ^ msg[2]) != 0xff) { /* 24 bits NEC */
poll_result->protocol = RC_TYPE_NECX;
poll_result->scancode = RC_SCANCODE_NECX(msg[1] << 8 | poll_result->scancode = RC_SCANCODE_NECX(msg[1] << 8 |
msg[2], msg[3]); msg[2], msg[3]);
else /* Normal NEC */ } else { /* Normal NEC */
poll_result->protocol = RC_TYPE_NEC;
poll_result->scancode = RC_SCANCODE_NEC(msg[1], msg[3]); poll_result->scancode = RC_SCANCODE_NEC(msg[1], msg[3]);
}
break; break;
case RC_BIT_RC6_0: case RC_BIT_RC6_0:
...@@ -777,7 +780,7 @@ static int em28xx_ir_init(struct em28xx *dev) ...@@ -777,7 +780,7 @@ static int em28xx_ir_init(struct em28xx *dev)
case CHIP_ID_EM28178: case CHIP_ID_EM28178:
ir->get_key = em2874_polling_getkey; ir->get_key = em2874_polling_getkey;
rc->allowed_protocols = RC_BIT_RC5 | RC_BIT_NEC | rc->allowed_protocols = RC_BIT_RC5 | RC_BIT_NEC |
RC_BIT_RC6_0; RC_BIT_NECX | RC_BIT_NEC32 | RC_BIT_RC6_0;
break; break;
default: default:
err = -ENODEV; err = -ENODEV;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment