From patchwork Mon Oct 22 10:15:16 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Patil, Rachna" X-Patchwork-Id: 1625171 Return-Path: X-Original-To: patchwork-linux-input@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id CF8B03FC1A for ; Mon, 22 Oct 2012 10:31:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751451Ab2JVKbb (ORCPT ); Mon, 22 Oct 2012 06:31:31 -0400 Received: from arroyo.ext.ti.com ([192.94.94.40]:54235 "EHLO arroyo.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751245Ab2JVKba (ORCPT ); Mon, 22 Oct 2012 06:31:30 -0400 Received: from dbdp20.itg.ti.com ([172.24.170.38]) by arroyo.ext.ti.com (8.13.7/8.13.7) with ESMTP id q9MAVLRB001376; Mon, 22 Oct 2012 05:31:22 -0500 Received: from DBDE71.ent.ti.com (localhost [127.0.0.1]) by dbdp20.itg.ti.com (8.13.8/8.13.8) with ESMTP id q9MAVJVQ013980; Mon, 22 Oct 2012 16:01:21 +0530 (IST) Received: from dbdp32.itg.ti.com (172.24.170.251) by DBDE71.ent.ti.com (172.24.170.149) with Microsoft SMTP Server id 14.1.323.3; Mon, 22 Oct 2012 16:01:19 +0530 Received: from ucmsshproxy.india.ext.ti.com (dbdp20.itg.ti.com [172.24.170.38]) by dbdp32.itg.ti.com (8.13.8/8.13.8) with SMTP id q9MAVJtu021962; Mon, 22 Oct 2012 16:01:19 +0530 Received: from symphony.india.ext.ti.com (unknown [192.168.247.13]) by ucmsshproxy.india.ext.ti.com (Postfix) with ESMTP id 61ECA158003; Mon, 22 Oct 2012 16:01:19 +0530 (IST) Received: from localhost.localdomain (linux-psp-server [192.168.247.76]) by symphony.india.ext.ti.com (8.11.7p1+Sun/8.11.7) with ESMTP id q9MAVJ706085; Mon, 22 Oct 2012 16:01:19 +0530 (IST) From: "Patil, Rachna" To: CC: Dmitry Torokhov , Dmitry Torokhov , "Patil, Rachna" Subject: [PATCH 1/3] input: ti_am335x_tsc: Make steps enable configurable Date: Mon, 22 Oct 2012 15:45:16 +0530 Message-ID: <1350900918-17130-2-git-send-email-rachna@ti.com> X-Mailer: git-send-email 1.7.0.4 In-Reply-To: <1350900918-17130-1-git-send-email-rachna@ti.com> References: <1350900918-17130-1-git-send-email-rachna@ti.com> MIME-Version: 1.0 Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org Current code has hard coded value written to step enable bits. Now the bits are updated based on how many steps are needed to be configured got from platform data. The user needs to take care not to exceed the count more than 16. While using ADC and TSC one should take care to set this parameter correctly. Signed-off-by: Patil, Rachna --- drivers/input/touchscreen/ti_am335x_tsc.c | 10 ++++++++-- include/linux/mfd/ti_am335x_tscadc.h | 1 - 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/input/touchscreen/ti_am335x_tsc.c b/drivers/input/touchscreen/ti_am335x_tsc.c index 7a18a8a..4369224 100644 --- a/drivers/input/touchscreen/ti_am335x_tsc.c +++ b/drivers/input/touchscreen/ti_am335x_tsc.c @@ -39,6 +39,7 @@ struct titsc { unsigned int irq; unsigned int wires; unsigned int x_plate_resistance; + unsigned int enable_bits; bool pen_down; int steps_to_configure; }; @@ -57,6 +58,7 @@ static void titsc_writel(struct titsc *tsc, unsigned int reg, static void titsc_step_config(struct titsc *ts_dev) { unsigned int config; + unsigned int stepenable = 0; int i, total_steps; /* Configure the Step registers */ @@ -128,7 +130,11 @@ static void titsc_step_config(struct titsc *ts_dev) titsc_writel(ts_dev, REG_STEPDELAY(total_steps + 2), STEPCONFIG_OPENDLY); - titsc_writel(ts_dev, REG_SE, STPENB_STEPENB_TC); + for (i = 0; i <= (total_steps + 2); i++) + stepenable |= 1 << i; + ts_dev->enable_bits = stepenable; + + titsc_writel(ts_dev, REG_SE, ts_dev->enable_bits); } static void titsc_read_coordinates(struct titsc *ts_dev, @@ -250,7 +256,7 @@ static irqreturn_t titsc_irq(int irq, void *dev) titsc_writel(ts_dev, REG_IRQSTATUS, irqclr); - titsc_writel(ts_dev, REG_SE, STPENB_STEPENB_TC); + titsc_writel(ts_dev, REG_SE, ts_dev->enable_bits); return IRQ_HANDLED; } diff --git a/include/linux/mfd/ti_am335x_tscadc.h b/include/linux/mfd/ti_am335x_tscadc.h index c79ad5d..23e4f33 100644 --- a/include/linux/mfd/ti_am335x_tscadc.h +++ b/include/linux/mfd/ti_am335x_tscadc.h @@ -47,7 +47,6 @@ #define STEPENB_MASK (0x1FFFF << 0) #define STEPENB(val) ((val) << 0) #define STPENB_STEPENB STEPENB(0x1FFFF) -#define STPENB_STEPENB_TC STEPENB(0x1FFF) /* IRQ enable */ #define IRQENB_HW_PEN BIT(0)