Staging: iio: accel: adis16201: Add comments about units in read_raw()
authorHimanshu Jha <himanshujha199640@gmail.com>
Fri, 16 Mar 2018 20:06:22 +0000 (01:36 +0530)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 18 Mar 2018 08:31:40 +0000 (08:31 +0000)
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@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/staging/iio/accel/adis16201.c

index 4a65e9a3a775e846b0f52fb6795bda269b3858ca..87ad3d421c1202f43bae3b72652b49b93f3bd612 100644 (file)
@@ -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;