[media] media: rc: ir-sharp-decoder: add support for Denon variant of the protocol
authorHeiner Kallweit <hkallweit1@gmail.com>
Thu, 29 Oct 2015 19:28:08 +0000 (17:28 -0200)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Thu, 19 Nov 2015 11:32:35 +0000 (09:32 -0200)
Denon also uses the Sharp protocol, however with different check bits.

It would have been also possible to add this as a separate protocol
but this may not be worth the effort.

Successfully tested with a Denon RC-1002 remote control.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/rc/Kconfig
drivers/media/rc/ir-sharp-decoder.c

index b6e13116c6f5a94aee66c839a14bd48a13fc4ed8..bd4d68500085311156f4644042affe458d7ef05b 100644 (file)
@@ -101,7 +101,8 @@ config IR_SHARP_DECODER
 
        ---help---
           Enable this option if you have an infrared remote control which
-          uses the Sharp protocol, and you need software decoding support.
+          uses the Sharp protocol (Sharp, Denon), and you need software
+          decoding support.
 
 config IR_MCE_KBD_DECODER
        tristate "Enable IR raw decoder for the MCE keyboard/mouse protocol"
index b7acdbae8159383c4405f1ca989b826e8d72e717..1f331644d07c97933fbb87be0bdbc0c19f118b6c 100644 (file)
@@ -118,7 +118,9 @@ static int ir_sharp_decode(struct rc_dev *dev, struct ir_raw_event ev)
 
                if (data->count == SHARP_NBITS) {
                        /* exp,chk bits should be 1,0 */
-                       if ((data->bits & 0x3) != 0x2)
+                       if ((data->bits & 0x3) != 0x2 &&
+                       /* DENON variant, both chk bits 0 */
+                           (data->bits & 0x3) != 0x0)
                                break;
                        data->state = STATE_ECHO_SPACE;
                } else {