[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1521230786-18155-6-git-send-email-himanshujha199640@gmail.com>
Date: Sat, 17 Mar 2018 01:36:22 +0530
From: Himanshu Jha <himanshujha199640@...il.com>
To: jic23@...nel.org
Cc: lars@...afoo.de, Michael.Hennerich@...log.com, pmeerw@...erw.net,
gregkh@...uxfoundation.org, linux-iio@...r.kernel.org,
devel@...verdev.osuosl.org, linux-kernel@...r.kernel.org,
daniel.baluta@...il.com, 21cnbao@...il.com,
Himanshu Jha <himanshujha199640@...il.com>
Subject: [PATCH v2 5/9] Staging: iio: accel: adis16201: Add comments about units in read_raw()
Clarify the conversion and formation of resultant data in the
adis16201_read_raw() with sufficient comments and remove the unnecessary
comments.
Signed-off-by: Himanshu Jha <himanshujha199640@...il.com>
---
v2:
-clarify voltage base conversions.
drivers/staging/iio/accel/adis16201.c | 27 ++++++++++++++++++---------
1 file changed, 18 insertions(+), 9 deletions(-)
diff --git a/drivers/staging/iio/accel/adis16201.c b/drivers/staging/iio/accel/adis16201.c
index 8de3f27..97150ea 100644
--- a/drivers/staging/iio/accel/adis16201.c
+++ b/drivers/staging/iio/accel/adis16201.c
@@ -120,31 +120,43 @@ static int adis16201_read_raw(struct iio_dev *indio_dev,
switch (chan->type) {
case IIO_VOLTAGE:
if (chan->channel == 0) {
+ /* Voltage base units are mV hence 1.22 mV */
*val = 1;
- *val2 = 220000; /* 1.22 mV */
+ *val2 = 220000;
} else {
+ /* Voltage base units are mV hence 0.61 mV */
*val = 0;
- *val2 = 610000; /* 0.610 mV */
+ *val2 = 610000;
}
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(462400); /* 0.4624 mg */
+ *val2 = IIO_G_TO_M_S_2(462400);
return IIO_VAL_INT_PLUS_NANO;
case IIO_INCLI:
*val = 0;
- *val2 = 100000; /* 0.1 degree */
+ *val2 = 100000;
return IIO_VAL_INT_PLUS_MICRO;
default:
return -EINVAL;
}
break;
case IIO_CHAN_INFO_OFFSET:
- *val = 25000 / -470 - 1278; /* 25 C = 1278 */
+ /*
+ * The raw ADC value is 1278 when the temperature
+ * is 25 degrees and the scale factor per milli
+ * degree celcius is -470.
+ */
+ *val = 25000 / -470 - 1278;
return IIO_VAL_INT;
case IIO_CHAN_INFO_CALIBBIAS:
switch (chan->type) {
@@ -252,13 +264,11 @@ static int adis16201_probe(struct spi_device *spi)
struct adis *st;
struct iio_dev *indio_dev;
- /* setup the industrialio driver allocated elements */
indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
if (!indio_dev)
return -ENOMEM;
st = iio_priv(indio_dev);
- /* this is only used for removal purposes */
spi_set_drvdata(spi, indio_dev);
indio_dev->name = spi->dev.driver->name;
@@ -277,7 +287,6 @@ static int adis16201_probe(struct spi_device *spi)
if (ret)
return ret;
- /* Get the device into a sane initial state */
ret = adis_initial_startup(st);
if (ret)
goto error_cleanup_buffer_trigger;
--
2.7.4
Powered by blists - more mailing lists