From patchwork Thu Jul 26 06:14:24 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ravi Kumar V X-Patchwork-Id: 13480 Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.72) (envelope-from ) id 1SuHLf-0006i5-Kv for patchwork@linuxtv.org; Thu, 26 Jul 2012 08:14:59 +0200 X-tubIT-Incoming-IP: 209.132.180.67 Received: from vger.kernel.org ([209.132.180.67]) by mail.tu-berlin.de (exim-4.75/mailfrontend-2) with esmtp for id 1SuHLf-0002sQ-GC; Thu, 26 Jul 2012 08:14:59 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751812Ab2GZGOj (ORCPT ); Thu, 26 Jul 2012 02:14:39 -0400 Received: from wolverine02.qualcomm.com ([199.106.114.251]:34966 "EHLO wolverine02.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751266Ab2GZGOg (ORCPT ); Thu, 26 Jul 2012 02:14:36 -0400 X-IronPort-AV: E=McAfee;i="5400,1158,6783"; a="212290090" Received: from pdmz-ns-snip_115_219.qualcomm.com (HELO mostmsg01.qualcomm.com) ([199.106.115.219]) by wolverine02.qualcomm.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 25 Jul 2012 23:14:37 -0700 Received: from kumarrav-linux.in.qualcomm.com (pdmz-ns-snip_218_1.qualcomm.com [192.168.218.1]) by mostmsg01.qualcomm.com (Postfix) with ESMTPA id 6393510004B7; Wed, 25 Jul 2012 23:14:33 -0700 (PDT) From: Ravi Kumar V To: mchehab@infradead.org Cc: paul.gortmaker@windriver.com, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, davidb@codequrora.org, bryanh@codeaurora.org, tsoni@codeaurora.org, Ravi Kumar V Subject: [PATCH] media: rc: Add support to decode Remotes using NECx IR protocol Date: Thu, 26 Jul 2012 11:44:24 +0530 Message-Id: <1343283264-25367-1-git-send-email-kumarrav@codeaurora.org> X-Mailer: git-send-email 1.7.8 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-PMX-Version: 5.6.1.2065439, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2012.7.26.60326 X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' MULTIPLE_RCPTS 0.1, HTML_00_01 0.05, HTML_00_10 0.05, BODYTEXTP_SIZE_3000_LESS 0, BODY_SIZE_1500_1599 0, BODY_SIZE_2000_LESS 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, FROM_NAME_PHRASE 0, RATWARE_LC_DIGITS_HELO 0, URI_ENDS_IN_HTML 0, __ANY_URI 0, __CP_URI_IN_BODY 0, __HAS_FROM 0, __HAS_MSGID 0, __HAS_X_MAILER 0, __HAS_X_MAILING_LIST 0, __MIME_TEXT_ONLY 0, __MULTIPLE_RCPTS_CC_X2 0, __SANE_MSGID 0, __SUBJ_ALPHA_END 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __URI_NO_WWW 0, __URI_NS ' Some remotes use NECx IR protocol to send remote control key events. Present nec decoder in rc framework is assuming to have 2 stop bits (pulse width of 560us & space width 5600us) in NECx, but in reality NECx sends only pulse of 560us and space untill next frame.So here we can ignore the space width in stop bit as it is variable. Signed-off-by: Ravi Kumar V --- drivers/media/rc/ir-nec-decoder.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/drivers/media/rc/ir-nec-decoder.c b/drivers/media/rc/ir-nec-decoder.c index 3c9431a..a3fe1c8 100644 --- a/drivers/media/rc/ir-nec-decoder.c +++ b/drivers/media/rc/ir-nec-decoder.c @@ -149,6 +149,10 @@ static int ir_nec_decode(struct rc_dev *dev, struct ir_raw_event ev) break; data->state = STATE_TRAILER_SPACE; + + if (data->is_nec_x) + goto rc_data; + return 0; case STATE_TRAILER_SPACE: @@ -157,7 +161,7 @@ static int ir_nec_decode(struct rc_dev *dev, struct ir_raw_event ev) if (!geq_margin(ev.duration, NEC_TRAILER_SPACE, NEC_UNIT / 2)) break; - +rc_data: address = bitrev8((data->bits >> 24) & 0xff); not_address = bitrev8((data->bits >> 16) & 0xff); command = bitrev8((data->bits >> 8) & 0xff);