Received: by 10.223.185.116 with SMTP id b49csp1564198wrg; Sun, 4 Mar 2018 04:59:40 -0800 (PST) X-Google-Smtp-Source: AG47ELsJ9hUNGRVI8w2XM0gLYrYZwlnrkVX68FCcPgzU1o51WfiavXzZ7N04AoPsjvGrhQ12nG4W X-Received: by 10.98.236.82 with SMTP id k79mr12124015pfh.119.1520168380825; Sun, 04 Mar 2018 04:59:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1520168380; cv=none; d=google.com; s=arc-20160816; b=0+nSkmE8uKZRVrWuqP9kvjlQ1lsGcvPC1lTa91U/RBGAe/LWSwGXS6j9+bADhcp5Yk 8XU/G3/3nOAbfIF61bdwHsPaUgImLHYsPIvgIEcVpwy3g3z/oZQehmvHiXdZj4UAV6Uq zvhPSFd3iJMomr2I+WMbzodPuExVo64CqX5jZQE6in2dX9sxxP0FC50VU2LCVL5V4qwX Axk3cqSrBMNEFhA5FHwtlmj1KiblG3N7di1DyUOpZu2Sfy5PetvMbbxLu4CYjzt19d07 B+IM9Uxpa7wPEzpMO2BPXXIeBCqnlHO5UCGRcdPj7HOwUxP9OP016VKlMRXbi3pXfaTH Lbwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature :arc-authentication-results; bh=PFxQplkDzyiFHtF/ny6YyZxR4n5c/f33X6agFjuXDSk=; b=EZfo6Rv9i0anwG6naRO5+YUHb3TzmfBMwyhQOY+GzfozLg5mxv1PdOxxALLGL5Pzgi tIn984M/nI/JmhshJ6t8IBGHb7vUqtdhMMo/kakofntaSzbvNlnQRWf0URnNCwDIq4Cm C3yh0ApGw9PPO6NG35GTCMuBIowxizjFaoHPqBADVx+6pB9FJ0u6RfPXU6Kz1uFRM9lP FtDEZqC/bP0cS5NqHw/oXPSP2iTKRKS4wVH1lfn4+R0hoqcSQlnzVdzNjmpuBFWG6s3r +HhW14ZoKJDasCTrDoZ38JKZ49A2S/qlW9Gh5iHAFUGlRuqu9m/Hb9bT0/pL84+K1Bwi 2w9g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=m0bj/7D7; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r22si8392261pfj.140.2018.03.04.04.59.10; Sun, 04 Mar 2018 04:59:40 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=m0bj/7D7; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752797AbeCDM4P (ORCPT + 99 others); Sun, 4 Mar 2018 07:56:15 -0500 Received: from mail-pg0-f65.google.com ([74.125.83.65]:46487 "EHLO mail-pg0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752566AbeCDM4N (ORCPT ); Sun, 4 Mar 2018 07:56:13 -0500 Received: by mail-pg0-f65.google.com with SMTP id r26so5736842pgv.13; Sun, 04 Mar 2018 04:56:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=PFxQplkDzyiFHtF/ny6YyZxR4n5c/f33X6agFjuXDSk=; b=m0bj/7D77UsG2u3rJnoNdsPeUpvaR2t3DiIHvjaGf5B5b+QhmtErUlxgdtHdC0FIGI f1r8/lyQ06RvzY3zWtsg/eCACU+N1l1BTDLngMcBmXUUoqBiOhcEBiDpqgS5yDgeugH4 AOrEg4AghICZ9TdovuRWIGzp4kD90YKk+y16z+eU10Fc5WfXf4us0/Q+HjBIUzhwzWcb CxYI5oiIMb61OX0IrAlIB/0oY4+4R7amW2sOJ7OE+fHu6ll3g9gZXIEPf1RQuk8Y6XnE gx8b2QrUw6q1W9InsN+4Z7owsLooNTVlFjDkG4vPwFetrKj8YQpUJ44twWrVf296U0PW JhfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=PFxQplkDzyiFHtF/ny6YyZxR4n5c/f33X6agFjuXDSk=; b=G4oHGhOV/f7XOqs6Cd1bTSLLQix8jZcSlHt4cfd1dcoc861zkrThkAO4LMnSefpv8r 7aw+f7slsmjLHq+eO8bdFEIa3jPDQOqGDSK1Ywpsk18AiLldA80zZcX/A94nOAVQGE1J GKxTq9B2tVrw4dnmcTwB6Tij4tpwK1DavW/5eKqwViHetMjSWeao9i7I+jbjr23hwLAY LuGhxBE7DzW3IrY36WbBI+pRFk2EtC++2jLTBMsw0wrYvq+9HR6EBubbEns/E3XzrkYM VmBKYxJY5B/iecLbKdAhdd/l/Ea4sxjEGXXGY4vKv45f1tTfsN4Aa6xuHJRyLPBSq7iO UEZA== X-Gm-Message-State: APf1xPCjKj/tuUNKA92XnTCrKVl2/112E0hMQNoqPB3X5BcAkmNU8f3z PSHU5y9tBssrqZDK/mIkpNHFjw== X-Received: by 10.98.1.88 with SMTP id 85mr11966398pfb.226.1520168173084; Sun, 04 Mar 2018 04:56:13 -0800 (PST) Received: from himanshu-Vostro-3559 ([103.46.193.14]) by smtp.gmail.com with ESMTPSA id o2sm16775558pgq.54.2018.03.04.04.56.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 04 Mar 2018 04:56:12 -0800 (PST) Date: Sun, 4 Mar 2018 18:26:04 +0530 From: Himanshu Jha To: Shreeya Patel Cc: lars@metafoo.de, Michael.Hennerich@analog.com, jic23@kernel.org, knaack.h@gmx.de, pmeerw@pmeerw.net, gregkh@linuxfoundation.org, linux-iio@vger.kernel.org, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org, daniel.baluta@gmail.com Subject: Re: [PATCH v3 1/4] Staging: iio: adis16209: Remove and add some comments and group the definitions Message-ID: <20180304125604.GA7613@himanshu-Vostro-3559> References: <982742b1bb71d4d97c2f5edc6f95b85129d8667b.1520164945.git.shreeya.patel23498@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <982742b1bb71d4d97c2f5edc6f95b85129d8667b.1520164945.git.shreeya.patel23498@gmail.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Shreeya, On Sun, Mar 04, 2018 at 06:06:22PM +0530, Shreeya Patel wrote: > Remove some unnecessay comments and group the control > register and register field macros together. > Some of the register names does not make it's puporse > very clear and hence, add some comments for more > information. > Also there are certain unit based comments which are not > providing sufficient information, so expand those comments. > > Signed-off-by: Shreeya Patel > --- > > Changes in v3 > -This patch is the combination of two patches from the > previous series. Also add some more comments. > > > drivers/staging/iio/accel/adis16209.c | 132 ++++++++++------------------------ > 1 file changed, 39 insertions(+), 93 deletions(-) > > diff --git a/drivers/staging/iio/accel/adis16209.c b/drivers/staging/iio/accel/adis16209.c > index 151120f..d8aef9c 100644 > --- a/drivers/staging/iio/accel/adis16209.c > +++ b/drivers/staging/iio/accel/adis16209.c > @@ -21,135 +21,70 @@ > #include > > #define ADIS16209_STARTUP_DELAY_MS 220 > - > -/* Flash memory write count */ > #define ADIS16209_FLASH_CNT_REG 0x00 > > -/* Output, power supply */ > +/* Data Output Register Definitions */ > #define ADIS16209_SUPPLY_OUT_REG 0x02 > - > -/* Output, x-axis accelerometer */ > #define ADIS16209_XACCL_OUT_REG 0x04 > - > -/* Output, y-axis accelerometer */ > #define ADIS16209_YACCL_OUT_REG 0x06 > - > /* Output, auxiliary ADC input */ > #define ADIS16209_AUX_ADC_REG 0x08 > - > /* Output, temperature */ > #define ADIS16209_TEMP_OUT_REG 0x0A > - > -/* Output, x-axis inclination */ > +/* Output, +/- 90 degrees X-axis inclination */ > #define ADIS16209_XINCL_OUT_REG 0x0C > - > -/* Output, y-axis inclination */ > #define ADIS16209_YINCL_OUT_REG 0x0E > - > /* Output, +/-180 vertical rotational position */ > #define ADIS16209_ROT_OUT_REG 0x10 > > -/* Calibration, x-axis acceleration offset null */ > +/* > + * Calibration Register Definitions. > + * Acceleration, inclination or rotation offset null. > + */ > #define ADIS16209_XACCL_NULL_REG 0x12 > - > -/* Calibration, y-axis acceleration offset null */ > #define ADIS16209_YACCL_NULL_REG 0x14 > - > -/* Calibration, x-axis inclination offset null */ > #define ADIS16209_XINCL_NULL_REG 0x16 > - > -/* Calibration, y-axis inclination offset null */ > #define ADIS16209_YINCL_NULL_REG 0x18 > - > -/* Calibration, vertical rotation offset null */ > #define ADIS16209_ROT_NULL_REG 0x1A > > -/* Alarm 1 amplitude threshold */ > +/* Alarm Register Definitions */ > #define ADIS16209_ALM_MAG1_REG 0x20 > - > -/* Alarm 2 amplitude threshold */ > #define ADIS16209_ALM_MAG2_REG 0x22 > - > -/* Alarm 1, sample period */ > #define ADIS16209_ALM_SMPL1_REG 0x24 > - > -/* Alarm 2, sample period */ > #define ADIS16209_ALM_SMPL2_REG 0x26 > - > -/* Alarm control */ > #define ADIS16209_ALM_CTRL_REG 0x28 > > -/* Auxiliary DAC data */ > #define ADIS16209_AUX_DAC_REG 0x30 > - > -/* General-purpose digital input/output control */ > #define ADIS16209_GPIO_CTRL_REG 0x32 > - > -/* Miscellaneous control */ > -#define ADIS16209_MSC_CTRL_REG 0x34 > - > -/* Internal sample period (rate) control */ > #define ADIS16209_SMPL_PRD_REG 0x36 > - > -/* Operation, filter configuration */ > #define ADIS16209_AVG_CNT_REG 0x38 > - > -/* Operation, sleep mode control */ > #define ADIS16209_SLP_CNT_REG 0x3A > > -/* Diagnostics, system status register */ > -#define ADIS16209_DIAG_STAT_REG 0x3C > - > -/* Operation, system command register */ > -#define ADIS16209_GLOB_CMD_REG 0x3E > - > -/* MSC_CTRL */ > - > -/* Self-test at power-on: 1 = disabled, 0 = enabled */ > -#define ADIS16209_MSC_CTRL_PWRUP_SELF_TEST BIT(10) > - > -/* Self-test enable */ > -#define ADIS16209_MSC_CTRL_SELF_TEST_EN BIT(8) > - > -/* Data-ready enable: 1 = enabled, 0 = disabled */ > -#define ADIS16209_MSC_CTRL_DATA_RDY_EN BIT(2) > - > +#define ADIS16209_MSC_CTRL_REG 0x34 > +#define ADIS16209_MSC_CTRL_PWRUP_SELF_TEST BIT(10) > +#define ADIS16209_MSC_CTRL_SELF_TEST_EN BIT(8) > +#define ADIS16209_MSC_CTRL_DATA_RDY_EN BIT(2) > /* Data-ready polarity: 1 = active high, 0 = active low */ > -#define ADIS16209_MSC_CTRL_ACTIVE_HIGH BIT(1) > +#define ADIS16209_MSC_CTRL_ACTIVE_HIGH BIT(1) > +#define ADIS16209_MSC_CTRL_DATA_RDY_DIO2 BIT(0) > > -/* Data-ready line selection: 1 = DIO2, 0 = DIO1 */ > -#define ADIS16209_MSC_CTRL_DATA_RDY_DIO2 BIT(0) > - > -/* DIAG_STAT */ > - > -/* Alarm 2 status: 1 = alarm active, 0 = alarm inactive */ > -#define ADIS16209_DIAG_STAT_ALARM2 BIT(9) > - > -/* Alarm 1 status: 1 = alarm active, 0 = alarm inactive */ > -#define ADIS16209_DIAG_STAT_ALARM1 BIT(8) > - > -/* Self-test diagnostic error flag: 1 = error condition, 0 = normal operation */ > +#define ADIS16209_DIAG_STAT_REG 0x3C > +#define ADIS16209_DIAG_STAT_ALARM2 BIT(9) > +#define ADIS16209_DIAG_STAT_ALARM1 BIT(8) > #define ADIS16209_DIAG_STAT_SELFTEST_FAIL_BIT 5 > - > -/* SPI communications failure */ > #define ADIS16209_DIAG_STAT_SPI_FAIL_BIT 3 > - > -/* Flash update failure */ > #define ADIS16209_DIAG_STAT_FLASH_UPT_BIT 2 > - > /* Power supply above 3.625 V */ > #define ADIS16209_DIAG_STAT_POWER_HIGH_BIT 1 > - > /* Power supply below 3.15 V */ > #define ADIS16209_DIAG_STAT_POWER_LOW_BIT 0 > > -/* GLOB_CMD */ > - > -#define ADIS16209_GLOB_CMD_SW_RESET BIT(7) > -#define ADIS16209_GLOB_CMD_CLEAR_STAT BIT(4) > -#define ADIS16209_GLOB_CMD_FACTORY_CAL BIT(1) > +#define ADIS16209_GLOB_CMD_REG 0x3E > +#define ADIS16209_GLOB_CMD_SW_RESET BIT(7) > +#define ADIS16209_GLOB_CMD_CLEAR_STAT BIT(4) > +#define ADIS16209_GLOB_CMD_FACTORY_CAL BIT(1) > > -#define ADIS16209_ERROR_ACTIVE BIT(14) > +#define ADIS16209_ERROR_ACTIVE BIT(14) > > enum adis16209_scan { > ADIS16209_SCAN_SUPPLY, > @@ -226,24 +161,38 @@ static int adis16209_read_raw(struct iio_dev *indio_dev, > *val2 = 610500; /* 0.6105 mV */ > return IIO_VAL_INT_PLUS_MICRO; > case IIO_TEMP: > - *val = -470; /* -0.47 C */ > + *val = -470; > *val2 = 0; > return IIO_VAL_INT_PLUS_MICRO; > case IIO_ACCEL: > + /* > + * IIO base unit for sensitivity of accelerometer > + * is milli g. > + * 1 LSB represents 0.244 mg. > + */ > *val = 0; > - *val2 = IIO_G_TO_M_S_2(244140); /* 0.244140 mg */ > + *val2 = IIO_G_TO_M_S_2(244140); > return IIO_VAL_INT_PLUS_NANO; > case IIO_INCLI: > case IIO_ROT: > + /* > + * IIO base units for rotation are degrees. > + * 1 LSB represents 0.025 milli degrees. > + */ > *val = 0; > - *val2 = 25000; /* 0.025 degree */ > + *val2 = 25000; > return IIO_VAL_INT_PLUS_MICRO; > default: > return -EINVAL; > } > break; > case IIO_CHAN_INFO_OFFSET: > - *val = 25000 / -470 - 0x4FE; /* 25 C = 0x4FE */ > + /* > + * The raw ADC value is 0x4FE when the temperature > + * is 45 degrees and the scale factor per milli > + * degree celcius is -470. Are you sure it is *45 degrees* and not *25 degrees* instead ? As I can clearly see from the datasheet : "sensitivity = −0.47°/LSB, 25°C = 1278 LSB = 0x04FE" Please check it :) I found this because I'm also doing a similar cleanup for adis16201. -- Thanks Himanshu Jha