lkml.org 
[lkml]   [2018]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 5/9] Staging: iio: accel: adis16201: Add comments about units in read_raw()
    Date
    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>
    ---
    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
    \
     
     \ /
      Last update: 2018-03-16 21:09    [W:4.132 / U:0.064 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site