Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756600AbcK2VJa (ORCPT ); Tue, 29 Nov 2016 16:09:30 -0500 Received: from mail-pg0-f68.google.com ([74.125.83.68]:36708 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751063AbcK2VJV (ORCPT ); Tue, 29 Nov 2016 16:09:21 -0500 Date: Tue, 29 Nov 2016 13:09:17 -0800 From: Dmitry Torokhov To: Mugunthan V N Cc: linux-input@vger.kernel.org, Jonathan Cameron , Rob Herring , Mark Rutland , Lee Jones , Sekhar Nori , Vignesh R , devicetree@vger.kernel.org, linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 2/3] Input: ti_am335x_tsc: Add support for ti,charge-delay-ns Message-ID: <20161129210917.GA20680@dtor-ws> References: <20161110163515.27598-1-mugunthanvnm@ti.com> <20161111075819.5760-1-mugunthanvnm@ti.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20161111075819.5760-1-mugunthanvnm@ti.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2336 Lines: 66 On Fri, Nov 11, 2016 at 01:28:19PM +0530, Mugunthan V N wrote: > ti,charge-delay will be deprecated as it represents number of > clock cycles and the DT entries are done in assumption of 3MHz > TSCADC clock, but clock can be set upto 24MHz. So driver add > support for ti,charge-delay-ns and do not drop support for > ti,charge-delay to support old dtbs and it will be assumed that > it is for 3MHz TSCADC clock and will be calculated as per current > clock speed. > > Signed-off-by: Mugunthan V N Acked-by: Dmitry Torokhov > --- > drivers/input/touchscreen/ti_am335x_tsc.c | 31 +++++++++++++++++++++++-------- > 1 file changed, 23 insertions(+), 8 deletions(-) > > diff --git a/drivers/input/touchscreen/ti_am335x_tsc.c b/drivers/input/touchscreen/ti_am335x_tsc.c > index 7953381d939a..104b3640f728 100644 > --- a/drivers/input/touchscreen/ti_am335x_tsc.c > +++ b/drivers/input/touchscreen/ti_am335x_tsc.c > @@ -379,15 +379,30 @@ static int titsc_parse_dt(struct platform_device *pdev, > ts_dev->coordinate_readouts = 5; > } > > - err = of_property_read_u32(node, "ti,charge-delay", > + err = of_property_read_u32(node, "ti,charge-delay-ns", > &ts_dev->charge_delay); > - /* > - * If ti,charge-delay value is not specified, then use > - * CHARGEDLY_OPENDLY as the default value. > - */ > - if (err < 0) { > - ts_dev->charge_delay = CHARGEDLY_OPENDLY; > - dev_warn(&pdev->dev, "ti,charge-delay not specified\n"); > + if (err >= 0) { > + u64 charge_delay = ts_dev->charge_delay; > + > + charge_delay *= ADC_CLK; > + do_div(charge_delay, 1E9); > + ts_dev->charge_delay = (u32)charge_delay; > + } else { > + err = of_property_read_u32(node, "ti,charge-delay", > + &ts_dev->charge_delay); > + /* > + * If ti,charge-delay value is not specified, then use > + * CHARGEDLY_OPENDLY as the default value. > + */ > + if (err < 0) { > + ts_dev->charge_delay = CHARGEDLY_OPENDLY; > + dev_warn(&pdev->dev, "ti,charge-delay not specified\n"); > + } > + /* > + * ti,charge-delay is specified with referrence to 3MHz, > + * so convert it to in referrence to current clock > + */ > + ts_dev->charge_delay *= ADC_CLK / 3000000; > } > > return of_property_read_u32_array(node, "ti,wire-config", > -- > 2.11.0.rc0.7.gbe5a750 > -- Dmitry